Material/Texture rework in v2.4

Discussion related to the LuxCore functionality, implementations and API.
User avatar
Dade
Developer
Developer
Posts: 5672
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Material/Texture rework in v2.4

Post by Dade »

It is very early but I'm going to collect here the list of feature to add to Material/Texture(/Volume ?) rework in v2.3:
  • New set of material nodes to mix, layer, coating, double side, etc. materials;
  • New set of basic nodes for diffuse, glossy GGX, etc. (to be mixed, layered, etc.);
  • Compatibility with the past, old materials a new one can coexist in the same scene;
  • OpenCL should now support all recursive materials/textures without the need to recompile the kernel (i.e. material/texture interpreter);
  • OpenCL recursive materials should fully support bump/normal mapping;
Post here any request, suggestion, etc.
Support LuxCoreRender project with salts and bounties
User avatar
Egert_Kanep
Posts: 237
Joined: Tue Mar 13, 2018 10:34 am

Re: Material/Texture rework in v2.3

Post by Egert_Kanep »

falloff shader - either for mixing textures/materials or using it for parameter input

iridescence coating - For oily stuff and bubbles :D

microdisplacement? - would be cool to have displacement option for rendering either adaptive or uniform. Most awesome would be to have it as material input so we could also use procedural noises for displacing object in addition to textures.

Ambient occlusion/cavity/ridge - utility nodes for mixing and modifying material parametes.

Texture tiling with voronoi - https://gizmosandgames.com/2017/03/18/t ... h-voronoi/

Material with double sided option - it should have separate texture slots for frontface and backface. For foliage and leaves etc.


You just opened Pandora's box, I bet this thread will flood with requests :D
epilectrolytics
Donor
Donor
Posts: 790
Joined: Thu Oct 04, 2018 6:06 am

LuxBlend Image Texture Import

Post by epilectrolytics »

Aside from new nodes and functionalities an automatic texture import would be very helpful.
When I import an obj+mtl or fbx file into Blender/Cycles there will be a material with image nodes attached.
That may have to be adjusted but at least the textures are there and don't have to be collected again from all kinds of places.
This should work with LuxBlend too:
When opening a object file including textures or switching from Cycles to LuxCore Materials with nodes should be created automatically.
It doesn't matter if the material types or connections are wrong because they will altered anyways, but the linked textures should be present.

That's especially important for the upcoming principled shader for PBR materials because those normally have three or more maps attached each.
epilectrolytics
Donor
Donor
Posts: 790
Joined: Thu Oct 04, 2018 6:06 am

Node request:

Post by epilectrolytics »

- Bevel shader / node
- Wireframe node, not triangles only but for n-gons (real topology), switch to apply / not apply to subdivide modifier
- full vector <> RGB intercompatibility
- input sockets for shift/rotate/scale parameters of the 2D/3D mapping nodes
User avatar
B.Y.O.B.
Developer
Developer
Posts: 4146
Joined: Mon Dec 04, 2017 10:08 pm
Location: Germany
Contact:

Re: Material/Texture rework in v2.3

Post by B.Y.O.B. »

Dade wrote: Tue Apr 30, 2019 8:46 am [*] OpenCL should now support all recursive materials/textures without the need to recompile the kernel (i.e. material/texture interpreter);
It would be cool if this interpreter could do basic optimizations, for example remove nodes when it doesn't change the result (e.g. mix material with amount 0 -> just use the first material) or evaluate constant parts of the node graph into one node (e.g. multiplication of two constant values -> replace with one constant value that contains the result of the multiplication).
But this is obviously not necessary, just an idea for future auto-optimizations.

From a texture programmer point of view, it would be nice if we could trace rays in textures (needed for occlusion mask texture (aka "dirt"/"AO") or edge-detecting textures).

By the way, I agree with others that displacement has to allow regular texture node trees as control/input for controlling displacement strength (and maybe even for controlling tesselation?).
User avatar
nigec
Posts: 141
Joined: Mon Mar 11, 2019 8:50 am

Re: Material/Texture rework in v2.3

Post by nigec »

I can't wait to so how it turns out, I'm currently doing a material viewer and its driving me nuts(lxs vs scn) lol

PS the most asked for thing I get is displacement support
acasta69
Developer
Developer
Posts: 472
Joined: Tue Jan 09, 2018 3:45 pm
Location: Italy

Re: Material/Texture rework in v2.3

Post by acasta69 »

Egert_Kanep wrote: Tue Apr 30, 2019 9:58 am microdisplacement? - would be cool to have displacement option for rendering either adaptive or uniform. Most awesome would be to have it as material input so we could also use procedural noises for displacing object in addition to textures.
+1 for this!
Support LuxCoreRender project with salts and bounties

Windows 10 64 bits, i7-4770 3.4 GHz, RAM 16 GB, GTX 970 4GB v445.87
JoeDDD
Posts: 26
Joined: Sun Jan 13, 2019 8:00 am

Re: Material/Texture rework in v2.3

Post by JoeDDD »

Some suggestions:
-better glass material (gets dark when rough, architectural rough option, reflection strength)
-specular slider for glossy materials
-film width and film index for iridescent materials
-multiple uv maps
-color ramp
-fresnel node
-bevel node
-microdisplacement
-principled shader
-more options for anisotropic metal uv map
-image sampling filter options when using low resolution image textures (so it doesn't get blurry)
tokiop
Posts: 42
Joined: Fri Apr 13, 2018 8:11 pm

Re: Material/Texture rework in v2.3

Post by tokiop »

Hi all !

Subjective input as a blender user : since blender seems the most developed/used host, aiming easy switch between luxcore/cycles/eeve with compatible materials would help adoption and usage, positioning Luxcore as the "highest quality" renderer. I would categorize like this :

Filling the gap feature-wise :
- micropoly displacement
- base principled BSDF support
- multiple UV maps

Better rendering/shading/light of the same basic models/UVs/materials :
- grazing angle darkening of rough materials/glass (glossy GGX will fix this?)
- terminator artifact workaround/fix

Additional LuxCore shading features
- iridescence / clearcoat depth would be a nice addition for added realism

LuxBlend: would be great to find a clean way to add LuxCore shading features to Principled BSDF (ubershader or additional LuxCore node?), preserving mixing and ouput to Cycles/Eevee/other as Principled Shader

Have a nice day :)
lighting_freak
Posts: 234
Joined: Thu Jan 18, 2018 6:02 pm

Re: Material/Texture rework in v2.3

Post by lighting_freak »

Hi,

My wish for materials/volume nodes would be a way to define them more physics based.

Old lux was able to read spectral absorption curves for volume colour. Also refractive indices curves for dispersion were possible...
How is about integration of physics based scattering models like (Heyney Greenstein or MIE).

An enhancement would be a direct reflectivity value. Additionally a material that allows to set the portions of lambertian/gaussian/specular properties would be nice.
This properties should be available for reflection and transmission.
In a perfect world it might be possible to vary this portions based on light incidence angle (and on light colour)...

Maybe a more advanced colour model could also help to reduce conversion work, I think CIE x y z model is quite common.

Thanks for opening this wish list thread.

BR
OS - Windows 7 X64
CPU - Intel CORE i7
GPU1 - Variants of notebook card from nVidia
GPU2 - Variants of notebook onboard card from Intel
Lux - Latest possible relaease
Post Reply