Material/Texture rework in v2.3

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

Material/Texture rework in v2.3

Post by Dade » Tue Apr 30, 2019 8:46 am

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: 107
Joined: Tue Mar 13, 2018 10:34 am

Re: Material/Texture rework in v2.3

Post by Egert_Kanep » Tue Apr 30, 2019 9:58 am

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

User avatar
epilectrolytics
Donor
Donor
Posts: 383
Joined: Thu Oct 04, 2018 6:06 am

LuxBlend Image Texture Import

Post by epilectrolytics » Tue Apr 30, 2019 10:06 am

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.
MBPro 15" 16GB i7-4850HQ GT750M, MacOS 10.13.6 & Win10Pro PC 16GB Ryzen 2700X, RTX 2070, GTX 1060

User avatar
epilectrolytics
Donor
Donor
Posts: 383
Joined: Thu Oct 04, 2018 6:06 am

Node request:

Post by epilectrolytics » Tue Apr 30, 2019 10:21 am

- 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
MBPro 15" 16GB i7-4850HQ GT750M, MacOS 10.13.6 & Win10Pro PC 16GB Ryzen 2700X, RTX 2070, GTX 1060

User avatar
B.Y.O.B.
Developer
Developer
Posts: 2651
Joined: Mon Dec 04, 2017 10:08 pm
Location: Germany
Contact:

Re: Material/Texture rework in v2.3

Post by B.Y.O.B. » Tue Apr 30, 2019 10:36 am

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?).
Support LuxCoreRender project with salts and bounties

User avatar
nigec
Posts: 140
Joined: Mon Mar 11, 2019 8:50 am

Re: Material/Texture rework in v2.3

Post by nigec » Tue Apr 30, 2019 11:40 am

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: 154
Joined: Tue Jan 09, 2018 3:45 pm

Re: Material/Texture rework in v2.3

Post by acasta69 » Tue Apr 30, 2019 1:39 pm

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 v382.05

JoeDDD
Posts: 21
Joined: Sun Jan 13, 2019 8:00 am

Re: Material/Texture rework in v2.3

Post by JoeDDD » Wed May 01, 2019 10:19 am

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: 12
Joined: Fri Apr 13, 2018 8:11 pm

Re: Material/Texture rework in v2.3

Post by tokiop » Wed May 01, 2019 2:53 pm

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: 137
Joined: Thu Jan 18, 2018 6:02 pm

Re: Material/Texture rework in v2.3

Post by lighting_freak » Thu May 02, 2019 4:38 pm

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