Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement DeepCBlur node #54

Open
charlesangus opened this issue Dec 4, 2021 · 16 comments
Open

Implement DeepCBlur node #54

charlesangus opened this issue Dec 4, 2021 · 16 comments

Comments

@charlesangus
Copy link
Owner

Add @kingkristo's DeepBlur node from https://github.com/kingkristo/DeepBlur

@falkhofmann
Copy link
Collaborator

I had a brief look, build and trial. my first impression.

  • it is really slow, even though it shouldn't be. Ie with 2 samples without blurring in z, it should not take multiple times longer than a regular blur. i stopped at size 10
  • seems like samples getting dropped when enable "blur on z only". actually just one is left after. regardless of the incoming samples
  • knob_changed callbacks were not working
  • ATM its using a new DeepOutPlane rather than modifying in place. but that could be due the spatial approach
  • the user defined filter vs the math below seems different

overall it's a good idea and for sure cool to see the source code with lots of comments, but it needs a fair amount of optimization.

  • i would rather then to a slim version of it and limit the features exposed to the user.

@charlesangus
Copy link
Owner Author

Yeah I wouldn't want it just straight copied into the repo, for sure. It's a demonstration/project node, and as you say would need a bit of a weed whacker to cut it down to the essentials.

I would see bringing Deep blurring to the project in sort of a staged approach. Step one, trim this node down to size and build it but don't expose it (like DeepCBlink). Step two, iterate for sorting out algorithms/performance/how exactly it works. Step three, expose the node once the issues have been hashed out.

@kingkristo
Copy link

These are all fair comments. This project was my introduction to Nuke, and deep compositing as a whole so there are definitely refinements to be made. I was learning how to create plugins for Nuke as I went so I'm certain much of my implementation is sub optimal, speed was a big issue I wasn't able to fix in time.

As for the abundance of features of differing usefulness, the project aimed to offer lots of different potential features and then garner feedback on them after the fact. There are definitely a few which can be cut out for inclusion here.

I appreciate the extra work you're doing @charlesangus, hopefully my project can act as a jumping off point for a more refined and optimised DeepBlur, I'll keep an eye on the changes to see where my janky solution could be improved.

@charlesangus charlesangus changed the title Import DeepBlur DeepBlur node Dec 5, 2021
@charlesangus
Copy link
Owner Author

Hey, @kingkristo! Thanks for jumping in. Totally understand where the node is at and why it is the way it is :)

I actually haven't gotten around to trying the node in detail, so having the different options is good to see what works and what doesn't.

And yeah, exactly, hoping to use this as a jumping off point for a production ready version.

@kingkristo
Copy link

kingkristo commented Dec 5, 2021 via email

@charlesangus charlesangus added the enhancement New feature or request label Dec 7, 2021
@charlesangus charlesangus changed the title DeepBlur node Implement DeepCBlur node Dec 7, 2021
@charlesangus charlesangus removed the enhancement New feature or request label Dec 7, 2021
@CMG99
Copy link
Collaborator

CMG99 commented Mar 26, 2022

Hi, i am following on from the work regarding DeepBlur and am implementing a DeepBlur and DeepDefocus node (for university) and was wondering if you may want to incorporate it into DeepC ?

@charlesangus
Copy link
Owner Author

I would love to! I've added you as a contributor. Please keep your work in a new branch until it's ready for prime time :)

There's also the work that's been done by kingkristo above which may be interesting as reference or a jumping off point.

@CMG99
Copy link
Collaborator

CMG99 commented Mar 27, 2022

first version of a DeepCBlur node on my branch CMG-blurring-dev

Only been testing with 1 deep image, as I don't have access to anymore

been developing on windows, and new to cmake, so may need some help getting linux builds

2D gaussian blurs should work, 3D blur might crash as I have no sample count optimizations as the final images are very large

@charlesangus
Copy link
Owner Author

charlesangus commented Mar 28, 2022 via email

@CMG99
Copy link
Collaborator

CMG99 commented Apr 5, 2022

The Nuke documentation references devtoolset-2 with GCC 6.3.1, and the docs in this repo reference devtoolset-3, however I am only able to download devtoolset-7. As a result the DeepC plugins crash when added into Nuke, so do you have any advice as to how I can continue, as I cannot seem to find any older devtoolsets or GCC 6.3.1

Thanks,
Callum

@charlesangus
Copy link
Owner Author

Yeah, that's gotten a bit messy... It should work with the relevant VFX Platform version (CY2019 for Nuke 12) which is devtoolset-6 if I'm not mistaken.

These may be helpful?

https://vfxplatform.com/#footnote-gcc6

https://groups.google.com/g/vfx-platform-discuss/c/_-_CPw1fD3c

#53

And if you get it sorted, you would be a saint to update the build guide (which as you have noticed is cast in amber lol).

@CMG99
Copy link
Collaborator

CMG99 commented Apr 7, 2022

I might not be be able to get a CentOS build for the plugins, as my use of templates while developing with MSVC seems to be treated differently when compiling with gcc. (dependent names and lookup issues)

And I don't understand how to solve my hundreds of errors relating to this.

@charlesangus
Copy link
Owner Author

charlesangus commented Apr 8, 2022 via email

@CMG99
Copy link
Collaborator

CMG99 commented Apr 13, 2022

Can I create a new release with Windows version of my plugins as I need a single place to distribute them for a user study ?

@charlesangus
Copy link
Owner Author

charlesangus commented Apr 13, 2022 via email

@CMG99
Copy link
Collaborator

CMG99 commented Sep 13, 2022

Finally got around to fixing all the linux build issues. Plugins fot the latest 2 Nuke versions should be added to my prototype release from eairler.

Hopefully the plugins work and if not just let me know.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants