-
-
Notifications
You must be signed in to change notification settings - Fork 147
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
Drive Vector Coordinates with Textures #389
Comments
The "right" solution to this problem is "Procedural stochastic texturing" #228. I was planning to do it in v2.4 but it will probably end in v2.5. |
Thank you for the link. It really looks like a solid solution to what I usually need to solve as explained above and it is definitely will be great to see implemented in LuxCore. Still I believe exposing more node's parameters and support the requested functionality I described above could be helpful for non-trivial tasks. But I understand there are most likely priorities in the development and time constraints. It would be nice if you could consider it though. Thanks. |
This would only solve the one particular example problem here (covering up tiling issues). However, I can understand if you don't want to rework the existing textures to support this. |
It is always the same problem: it would automatically transform any texture using mapping in a recursive texture. It would be horrible performance wise on GPUs (instead, trivial to do on CPUs). In general, using procedural textures on GPUs is an extremely bad idea. |
Can we, in general, make textures recursive only "on demand"? |
It is possible but, under hood, we would have to duplicate all texture implementations: a normal and a recursive implementation. |
•If recursive textures are not any issue for CPU then why not process the whole textured surface first on CPU and use this resulting texture for the rendering on GPU like today as a bitmap texture? •Sure one has to consider any zooming effects by convex lenses or mirrors to process an adequate resolution. |
I really like LuxCore for a number a reasons and it's getting better and better. There is one feature I miss at the moment that if implemented can make LuxCore way more flexible with how it allows users to work with textures.
What is the issue?
Currently LuxCore doesn't allow you to drive texture mapping parameters with other procedural/non-procedural textures.
Only one of the texture node parameter is exposed and if we try to drive it with texture nodes it won't work.
Why is it important?
It gives an artist a great freedom how to work with textures and a lot of flexibility and creativity when doing shading work.
There are too many cases where it can be helpful but I'll focus on one that is particularly helpful for me.
Let's say we want to use grunge/scratches map to add variety to our material.
It's fine when it's the scale is big enough. But what if we want to scale it down. We immediately see repetition even with seamless maps.
And there is pretty much nothing you can do to get rid of the repetition in LuxCore because you can't affect texture vector coordinates in a creative way.
What can be done?
Expose more parameters in mapping node and make it possible to drive it with other textures.
Cycles does it really well offering great flexibility to the artist and if one applies knowledge and creativility such issues as above can be solved.
The author of this video shows a great example of such creativity to solve issues of repeating pattern.
Cycles suffer from the same issue with default toolset.
But it offers option to drive texture mapping nodes and allows to create this nodes network so we can create custom solutions/tools.
There are other approaches how to solve this or other issues with nodes but the point is that render engine gives such opportunity to the artist to solve his own creative issues.
Please consider making LuxCore more flexible and expose more parameters the artist can use to do his creative work.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
The text was updated successfully, but these errors were encountered: