As a QOL it would be really nice to globally turn off all NPR rendering.
The NPR Prototype (Blender 4.4) Stable ver has a shadow problem. It was not present in Beta or Alpha version:
Edit: NVM, as it turns out, the issue was my GPU, needed to update.
Hopefully everyone agrees to add the repeat zone to node shaders
hey uh it should be possible to see the AOVs of a different material/object through an npr tree not connected to said material right? i seem to be having trouble with this at the current build, it’s like one AOV gets overwritten by the others and so it looks like it’s blank. i’m not sure how to demonstrate this but i’ll try posting pictures later
i’m still confused cuz based on the demo picture for the npr refraction node in the first post in this thread, this should work
edit:
it actually overwrites it based on these angles i took
i’m confused because the demo post said that it only happens with refraction, here i’m using principled bsdf. what’s happening here?
Note the above regarding AOV, and make sure you aren’t doing that.
Hi! The NPR branch now has all the 4.4.1 fixes:
Yes, we actually considered adding this for 4.4, but there were some concerns about the Iterations count being a node socket value instead of a (ui-only) node property.
A fixed iteration count is probably ok for most material use-cases, but for NPR filters it would have been a severe limitation, especially since we wanted to ship the built-in NPR filters as node group assets.
So we decided to leave the feature out of the main branch for now.
It should be possible, assuming that:
- The reader material has a Refraction BSDF and
Raytraced Transmission
enabled in the Material settings. Raytracing
is enabled in the Render settings.- The material reading the AOV is not writing to that same AOV.
This is the example image file, hope it helps:
You’re sampling the AOV at an offset.
You can always read the top-most AOV regardless of the reading material settings.
Try replacing the noise offset with uniform vector values ((-1,0), (1,0)…), that should make it easier to understand.
Hey @pragma37 a couple of months ago I reported these 2 bugs of the NPR branch.
The greyed out sockets seems to be gone, but the red noodle is still present.
Nothing serious obviously, just wanted to let you know.
Thanks for continuing to work on this gem!
EEVEE-side features? What/Where is this. Also you’re saying it won’t be added in any prototype builds, but will it be officially added in the 5.0 Merge?
i missed the fact that it needs to be refraction bsdf; thanks!
now i’m able to put face features in front of hair even without depth offset
https://projects.blender.org/pragma37/npr-tracker/issues/24
Can u check this bug?I’ve been report this a few times, it’s still not been fixed in the latest version.
The first instance lifetime is always black,
Trying to bake volume probes results in crashing
Is there a 4.3 version of this protoype? I would like that very much
https://www.youtube.com/watch?v=49zq_NbMUQE Created an entire POM system in NPR!
Performance was good till I had to add in the PDO which could be easily fixed by adding a depth offset node I think.
Also there are a few limitations because of having to hack in PDO. Since I’m displacing the floor downwards it’s basically a ray portal where it captures all the objects near it. And that portal’d rock doesn’t follow the same texture lighting that the real rock uses so I have to manually tweak that duplicated rocks textures and shading to fix.
Before
After
So I end up disabling cast shadows in the nodes and and disabling the rocks Raytraced Transmission: it can no longer contain raytraced bounce lighting which is a drawback. Not sure if theres a fix for having raytracing AND transmission but transmission has to be on for the setup to work and be able to read data through objects. Again a real solution to PDO like a depth node or pixel depth offset controllers would solve all of this.
Also, Rendering the same Image from the object shader tab and NPR shader tab has a increase in rendering time:
5.23 added seconds for the same Image which is pretty crazy.
Back to the Regular Square:
- Rendering with POM is 19.50 seconds
- Empty Output/Nothing is 9.58 seconds
- In the POM shader but using just the npr input combined color is 18.76 seconds
- A new Material Output with combined color is 13.29 seconds
So even though it’s not using any of the nodes it is still adding to the render time. Wonder if that is fixable
Trying to add decals. This would be really simple if an object could show what was behind it even if both materials have refractions or if none of them had refractions on. It “works” if I duplicate the POM node setup on the decal objects material output but that adds more unecessary computation and adds some stretching artifacts shown in red
Also refraction layers don’t work either. It hides both the mesh and its casted portal. It has to be done in the NPR output since that control only the top mesh.
Left is the added node setup, the right is no material output setup just a bsdf.
sometimes there was a bug where when I duplicated the mesh, set a new instance, deleted the material output and created a new one, it would set the texture to transparent but clicking the output or the settings within the output would cause the texture to comeback. So a bug but a good bug.
Another issue is that the displacement of the ground makes black voids of where the object use to be. This would be another simple fix with the refraction node; but again the floor has refraction transmission on. A temporary fix is to just mask the black with the 2d plane before it was displaced but this still goes black when other objects are stacked along side each other.
So in summary the main issues:
- Raytraced Transmission has to be on for the passing of data through objects to work. Downside is object can’t recieve raytracing/bounce lighting. This only has to be on since I’m doing the specific PDO hack where I’m actually editing the portal and not just using a pixel depth offset feature which would fix everything.
- PDO hack has many drawbacks and ALL can probably be solved with implementation of certain nodes.
Also in regards to the floor: I’m going to turn off raytraced transmission and add support for raytracing because I think its better to work with the limitation of not having PDO yet and just wait till a node comes a long that can support it rather than being constrained and doing 10 other things that will break something else just to support it.
Update Tracker:
- cast shadows-normal was using the wrong normals.
- Fixed stepped edges by setting images to cubic
- Fixed HDRI and PDO issue but now the cast shadows doesn’t work since for each light nodes don’t work with HDRI’s. bug reported #26 - For each light node not working with HDRI - npr-tracker - Blender Projects* Switched the object from having Raytraced transmissions to the Floor so now I can just pass through the combined texture through a AOV to the floor
- Added in Terrain Blending and fixed z axis stretching
Don’t think so. Blender Builds has the earliest build set to 4.4.0 alpha
is there any word on when will this actually land in master?
It is too early to know that. This is a prototype to explore a design path.
The next steps are:
- Settle down on a design.
- Break it down in milestones/deliverables.
- Implement them 1 use-case at a time (in main).
I apologize if this has been asked before, but is there a way to read custom properties from lights in the “For Each Light” loop? I am trying to find a way to use an actual light object to determine the color, brightness and fall off of a rim light around my characters. I kind of do a similar thing when it comes to the shadows, I use the world shader to change the color of shadows on a scene per scene basis, and I wanted to do the same with the rim lights. I just really want to find a way to not have to re edit the NPR tree for each scene