3Delight Laboratory Thread: tips, questions, experiments

13839414344100

Comments

  • fixmypcmikefixmypcmike Posts: 19,565

    DS 4.8.0.7:  Fixed [potential for] memory leaks; 3Delight rendering pipeline

    4.8.0.38:  Added a time out to the image conversion process; handle 3Delight/tdlmake becoming unresponsive

    4.8.0.39:  Fixed an issue with a referenced enum in 3Delight render processes

    4.9.0.2:  Update to 3delight 12.0.27

    4.9.0.41:  Fixed a tiling issue when rendering with 3Delight

     

  • wowiewowie Posts: 2,029
    edited January 2016

    DS 4.8.0.7:  Fixed [potential for] memory leaks; 3Delight rendering pipeline

    4.8.0.38:  Added a time out to the image conversion process; handle 3Delight/tdlmake becoming unresponsive

    4.8.0.39:  Fixed an issue with a referenced enum in 3Delight render processes

    4.9.0.2:  Update to 3delight 12.0.27

    4.9.0.41:  Fixed a tiling issue when rendering with 3Delight

    Still no raycache parameters exposed to the users, which cuts down render time by a whopping 20x in some cases. Mostly for doing GI and photon mapping. Miscategorized Oren Nayar as a specular BRDF in the shader mixer. No physically plausible shader, although the Maya, Max version got it with that big 3delight release. No raytraced subsurface scattering.

    And UE2 IDL and bounce GI mode is borked ever since 4.8 and onwards. Probably not 3delight's fault, but how UE2 is built/written.

    Post edited by wowie on
  • wowie said:
    And UE2 IDL and bounce GI mode is borked ever since 4.8 and onwards. Probably not 3delight's fault, but how UE2 is built/written.

    Reported?

  • Mustakettu85Mustakettu85 Posts: 2,933

    4.9.0.41:  Fixed a tiling issue when rendering with 3Delight

     

    Shouldn't this be "when rendering with the DS default 3Delight shader"? Because I used the beta prior to 0.41 and had zero tiling issues with my custom shaders.
    If actual texture tiling were ever to break in 3Delight's texture() shadeop, it would be in a build that could never get past DNA Research internal testing. It wouldn't be in a build offered to DAZ.


    Tinjaw said:
    I have Unity and Shader Forge. I have not yet fired up Shader Forge yet, but believe it might be the best way to learn shaders by visually programming them. Then I can move to hand coding.
    Actually Unity is a gamedev engine geared towards realtime rendering (not offline which is still the standard in production rendering), so Unity shaders are going to be GPU-oriented. Similar but not exactly the same (different shading languages mean different approaches, aims and possibilities).
    Tinjaw said:

    It sounds like 3Delight and DS are moving away from each other "officially", now that they have Iray.

    Nope, it's been like that for years, way before Iray was ever a thing in the DS world. I'd say it's just the fact that DAZ as a company is quite small, so they prioritize developing of their own tech (like Autofit and other useful features of DS) over keeping up with the (not that well-documented) changes in 3Delight.


    Given that Iray starts popping up bundled with more and more software (think Substance Designer), it looks like Nvidia is actively pushing it because it may help ensure the sales of their hi-end GPUs. Good for those who can afford those =)
  • wowiewowie Posts: 2,029
    edited January 2016

    Reported?

    Already reported. It was deemed 'solved' though it isn't.

    This is as close as I've gotten to mimicking GGX.

    Kettu, when is that kit of yours going to be finished? We really need caustics!! laugh

    Amy1.jpg
    823 x 1070 - 480K
    Amy3.jpg
    823 x 1070 - 442K
    Post edited by wowie on
  • Mustakettu85Mustakettu85 Posts: 2,933
    wowie said:

    Kettu, when is that kit of yours going to be finished? We really need caustics!!

    It would be moving faster if I had more feedback from daring alpha testers =) On the brighter side, the presets that I'm building now should be much better than the old ones from the first alpha.


    You could try playing with the alpha and tell me just how easy it is to get caustics working - starting with how well I describe scene setup in the manual. The latest uploaded version was in October, so you should have it.
    I'm thinking it may be useful to include a small example scene that would preload the correct render script, the lights and a caustic sphere on a plane. What do you say?

    Love the girl's eyes in these renders, BTW. Speaking of eyes... Pity the eye geometry the way all figures have it won't work with photon mapped caustics - because there is no back side to the cornea.

  • wowiewowie Posts: 2,029

    Pity the eye geometry the way all figures have it won't work with photon mapped caustics - because there is no back side to the cornea.

    There's an easy workaround for that. Something similar to what PhilW did - just create a conforming 'eye' and turn off the eyes in the model.

    As for the example scene, I thinkit's a good idea. I'll play around with the caustics files once I'm finished with what I'm doing now. Just need to rebuild the thumbnails and make some shots.

  • Mustakettu85Mustakettu85 Posts: 2,933
    wowie said:

    There's an easy workaround for that. Something similar to what PhilW did - just create a conforming 'eye' and turn off the eyes in the model.

    Interesting that you're suggesting that because I am in fact building my own eye replacers - it will take way more time, though, before I feel they're release ready. I have a couple of replacers from other content stores, but they are all "oldschool" in that sense (well, because they are quite a few years old).

    I'm thinking about trying a "cornea implant" - a small "backside cap" for the cornea, but haven't yet gotten around to actually doing that.

    I'll see if I can throw that example scene together, then, and maybe some presets for other shaders; I also want to clean up the folders, redo the defaults and upload a third alpha. Hopefully I'll have time over the weekend.

  • mjc1016mjc1016 Posts: 15,001

    Yeah, the eyes are weak links...it isn't just the single thickness corneas, there's also the lack of a 'back' to the eyeball itself.   And while probably less critical the separation of the some of the parts.

  • mjc1016mjc1016 Posts: 15,001
    edited January 2016

    Here's an example of mostly Radium shaders...

    ellie_beat578_64.jpg
    800 x 1024 - 511K
    Post edited by mjc1016 on
  • wowiewowie Posts: 2,029
    edited January 2016

    Reworked one of the glass preset. smiley

    Glass2.jpg
    1070 x 1070 - 772K
    Glass1.jpg
    1070 x 1070 - 730K
    Glass3.jpg
    1070 x 1070 - 680K
    Glass4.jpg
    1070 x 1070 - 670K
    Post edited by Chohole on
  • Mustakettu85Mustakettu85 Posts: 2,933

    Nice renders guys! Wowie, where does the goose/swan model come from?

  • LinwellyLinwelly Posts: 5,813

    I am about to read through this thread, in the hope to understand more about 3dligh, well right now I'm at page 3... In the meantime I have some questions, which probably have been adressed soemwhere but with the lack of a search tool its hard to find out. I hope you can help me with that, probably direct me to the right place.

    In one of my light settings I found a GI light, as support to another. I saw in the very fist post the GI light mentioned as well. I found that light in my scene plenty useful, giving a good sens of depth, maybe because of working with occlusional shadows.

    So what is this GI light exactly and how do I make one myself. Is is alwas using occlusional shadows and what is the meaning of occlusional shadows anyway? Up to now I pretty much always used raytraced shadows depending to the light softened of sharp and differing in intensity.

    Thanks a lot.

  • Nice renders guys! Wowie, where does the goose/swan model come from?

    I'll second that. Nice renders, and where can I get a model like that.

    Linwelly, I don't know. I've never played with GI lights (I don't think). And the only "occlusion" I've ever noticed was in UE2 (Uber Environment 2) settings. I am also curious what occlusional shadows are. And how they differ from Ray Traced Shadows that I have always used.

  • mjc1016mjc1016 Posts: 15,001
    edited January 2016

    GI is global illumination and it is all the indirect light in a scene...basically there are 3 types of indirect light.  There is occlusion, which is more of a where light isn't than actual lighting.  It is all the self shadowing that folds, wrinkles and bumps make on a surface. Then is 'ambient' or indirect light...all the other light that isn't from the direct light sources.  Finally there is bounce light...reflected light from other objects, that's what provides color bleeding.

    Those are the basic settings in UE2....and you have your choce with most of those to include directional shadows or not.

    Now a renderer like Iray does all of that, automatically, all the time.  3DL needs a special light shader to do more than just direct lighting, otherwise all it does is use the direct lighting, porvided by what lights you have added to the scene.  UE2 is one of the shaders that does it...

    The UE2 settings...

    Ambient (indirect, no shadows at all)

    Indirect...(directional, soft)

    Occlusion (diriectional, soft)

    Bounce

    A couple of other things about UE2...

    It does not provide specular lighting, so the last image (bounce) is the only one that is showing proper specular response...because it has the added spotlight.

    The UE2 Bounce setting really doesn't work without an addirional light source in the scene.

    The effects are mostly cumulative...so you don't need an indirect UE2 AND an occlusion to have both.

    This is an alternative GI light. It was created by Matt Ebb and uses the more 'modern' features of 3Delight.  It was originally written for the Blender 3Delight exporter, but imported to DS.  It uses the same environment map as the UE2 did (manually added) and the same spot as the bounce did..

    There are some other differences, but the most noticeable one is that the color bleeding is more pronounced (also there is more 'softening' of the shadows).

    ambient.png
    640 x 640 - 248K
    indirectds.png
    640 x 640 - 371K
    indirectss.png
    640 x 640 - 370K
    occlusionds.png
    640 x 640 - 379K
    occlusionss.png
    640 x 640 - 378K
    bounceandspot.png
    640 x 640 - 355K
    mebbgi.png
    640 x 640 - 467K
    Post edited by mjc1016 on
  • LinwellyLinwelly Posts: 5,813

    Wow thanks a lot mjc! I guess I'm beginning to understand. The situation in my scene was that  I originally used a distant light (with raytraced shadows) and the UE2, but with the standart settings, when I switched to that other light set the setup was generally the same but for the use of occlusional soft shadows in the settings of the GI.

    Can I mark a single post as especially noteworhty? Thanks a lot for taking your time with all those red balls yes

  • mjc1016mjc1016 Posts: 15,001
    edited January 2016

     

    Linwelly said:

    Can I mark a single post as especially noteworhty? Thanks a lot for taking your time with all those red balls yes

    Click on the timestamp of the post you want.  That will reload the page at that specific post.  Then bookmark that link.

    Post edited by mjc1016 on
  • LinwellyLinwelly Posts: 5,813
    mjc1016 said:

     

    Linwelly said:

    Can I mark a single post as especially noteworhty? Thanks a lot for taking your time with all those red balls yes

    Click on the timestamp of the post you want.  That will reload the page at that specific post.  Then bookmark that link.

    and another thing learned tonight, thanks again, this is a successfull evening

  • Oso3DOso3D Posts: 14,907

    I've been having a fabulous time playing around with PWToon. There are a few functions I wish it had that it didn't -- maybe somebody will revisit this type of thing in the future.

     

    I love Iray, but when I'm not doing photorealism, 3DL is king.

     

  • Mustakettu85Mustakettu85 Posts: 2,933

    I've been having a fabulous time playing around with PWToon. There are a few functions I wish it had that it didn't

    Like what features, for example? NPR shader development is not a top priority of mine right now, but it's definitely there in the plans for some time later. So would be awesome to hear what is lacking from the DS shaders already there.

  • Mustakettu85Mustakettu85 Posts: 2,933

    ...Speaking of HDR maps. I forgot to tone down the albedo in the SSS and diffuse channels in my recent M4 tests with the Hyperfocal freebie, but when I did, it looked that the map isn't bright enough as-is (render settings gain of 1). With gain of 2, it's better (see attachment). The sphere is RGB192 with 0.5 Oren-Nayar roughness (Oren-Nayar roughness does influence the apparent brightness, and 0.5 is something like an average value for everyday materials, looking at this table: http://wiki.blender.org/index.php/User:Guiseppe/Oren_Nayar )

    I don't know how exactly accurate LuxRender is, but it's interesting that its built-in sunsky conforms well to the "Sunny 16" photography rule, exposure-wise. However, even the Hyperfocal freebie wasn't bright enough for that - I had to raise its "gain" to 10 000 for the "Sunny 16" to work.

    I'd also test Iray's sunsky vs Hyperfocal, but can't use Iray at all anymore - Nvidia has a conspiracy against my video card, Iray-enabled applications crash the driver _on_launch_ .

    hyper_gain2.png
    750 x 900 - 893K
  • Mustakettu85Mustakettu85 Posts: 2,933

    Oookay, managed to get Iray running on the machine at work (CPU only, but at least it doesn't crash). Had to turn some multipliers down to 1 (the weird number slider at the "environment map" image selector), and some up to 1: here's a hint... the "SS Multiplier" being set to 0.1 is wrong because it throws "sunny 16" off, at least with albedo-corrected materials and 0.5 diffuse roughness (it's Oren-Nayar too, I'm sure). Fine when it's 1. The difference between Iray sunsky and Hyperfocal freebie isn't as drastic as in Lux (there may be a yet another hidden setting in the Lux bridge I'm using which is Tofusan's one for DS; yes I'm cheap), but it is there. So Hyperfocal's HDR, while it gives those great sharp shadows, isn't "the" sun intensity model I thought it was. At least, not in these two unrelated renderers.

    ...all that mucking around with renderers to estimate the difference in the sun intensity vs interior lights, for better setting up 3Delight scenes with mixed lighting. And I still remember all my promises, but it's been a hell of a week (weekend included). 

  • wowiewowie Posts: 2,029
    edited January 2016

    Nice renders guys! Wowie, where does the goose/swan model come from?

    http://www.daz3d.com/modern-modules

    Was a PC Item freebie back when it came out.

    I reset the smoothing angle, I think it was set to 10 or something.

    Some test with other objects. I think i've figured out glass for US2 and why it works well with some models and not with others. It works well with simple, solid objects - like the glass swan - but once you started using more complex models, the nested dieletrics problem rear its ugly head. For complex models, where you have rays intersecting the model at different points, passing through all the glass, water, air etc at different points causes energy loss hence the darkening with objects. The workaround is simply to use lower opacity settings till there's as little energy loss as possible. That explains why I had to use 0% opacity with that AllenArt model.

    No such problems with 3delight Glass shader for Maya though, at least from what I saw. So it's not the renderer, it's the shader.

    Easiest workaround is to use the geometry shell trick (or another copy of the same item) and make sure it's casting the shadows (instead of the primary object) but invisible to everything.

    Btw, very nice read on why we need a custom fresnel curve and not IOR based fresnel.

    http://therenderblog.com/custom-fresnel-curves-in-maya/

    So GGX/GTR plus a custom fresnel curve are essential if you want to get as close as possible to rendering believable metals. I can approximate the GGX, but there's no way to workaround the fresnel problem (and the nested dieletrics for glass type materials). Need new shader to solve those problems.

    Glass.jpg
    1894 x 1065 - 1M
    Post edited by wowie on
  • Mustakettu85Mustakettu85 Posts: 2,933
    wowie said:

    No such problems with 3delight Glass shader for Maya though, at least from what I saw. So it's not the renderer, it's the shader.

    Have you tested my glass yet? It's straight built-in GGX reflection+refraction via trace(). For the Maya material, Victor (I think it's him) uses an interesting hack to turn the built-in Blinn IIRC into a refractive model.

    I'm still trying to figure out a feasible algo for nailing the truly nested dielectrics (which would include surface-based absorption being calculated correctly for stuff like wine in a glass). I'm sort of hesitant to work with ray labels, but it may be the only way.

    wowie said:

    Btw, very nice read on why we need a custom fresnel curve and not IOR based fresnel.

    http://therenderblog.com/custom-fresnel-curves-in-maya/

    So GGX/GTR plus a custom fresnel curve are essential if you want to get as close as possible to rendering believable metals.

    The trace() shadeop supports complex IORs internally, so we could probably do without building the curves manually. This paper gives a great basis for controlling those just from two colours:

    http://jcgt.org/published/0003/04/03/paper.pdf

    I used it in the "Metallic Reflection" channel of RadiumFabric even before the guys added 3Delight Metal to Maya, which also uses this method =)

    What I want to add next is a dedicated metal shader - with GTR this time (RadiumFabric uses Ashikhmin for metals) and the thinfilm() function (I soo hope it works in the DS build). I also have a working hair (RiCurve) shader that supports path tracing now. Just need to figure out what variable changes from start to end of the curve (to implement different start/end colours). And test with Garibaldi then - it works with LAMH, but LAMH doesn't save any presets with the scene, it overwrites any material applied to the curves with its own shader from the plugin.

  • mjc1016mjc1016 Posts: 15,001
     

    I'm still trying to figure out a feasible algo for nailing the truly nested dielectrics (which would include surface-based absorption being calculated correctly for stuff like wine in a glass). I'm sort of hesitant to work with ray labels, but it may be the only way.

    Funny you should mention that...but I think it may be the only way..

     

    The trace() shadeop supports complex IORs internally, so we could probably do without building the curves manually. This paper gives a great basis for controlling those just from two colours:

    http://jcgt.org/published/0003/04/03/paper.pdf

    I used it in the "Metallic Reflection" channel of RadiumFabric even before the guys added 3Delight Metal to Maya, which also uses this method =)

    What I want to add next is a dedicated metal shader - with GTR this time (RadiumFabric uses Ashikhmin for metals) and the thinfilm() function (I soo hope it works in the DS build).

    I don't see why thinfilm shouldn't work...but I'd like to see it too.

  • wowiewowie Posts: 2,029
    edited January 2016
    The trace() shadeop supports complex IORs internally, so we could probably do without building the curves manually. This paper gives a great basis for controlling those just from two colours:

    http://jcgt.org/published/0003/04/03/paper.pdf

    I used it in the "Metallic Reflection" channel of RadiumFabric even before the guys added 3Delight Metal to Maya, which also uses this method =)

    What I want to add next is a dedicated metal shader - with GTR this time (RadiumFabric uses Ashikhmin for metals) and the thinfilm() function (I soo hope it works in the DS build).

    I was thinking more, ehm, aggresively. The conventional way of doing mix materials (dielectric over metal, or vice versa) is to use a coat. I'm thinking of doing the mix in one layer, weighted based on a metalness value (or map/mask). So each part, dieletric and metal have the appropriate fresnel. Combined with a coat or varnish, would really push the edge on just about any combination of materials you can do.

    Anyone tested the 4.9 final yet? Just in case, they've fixed the issues we saw during the beta.

    Edit: No mention of any of the bugs reported in the changelog. So, probably still broken.

    Post edited by wowie on
  • Mustakettu85Mustakettu85 Posts: 2,933

    In theory, you could always be using a complex IOR (just making the extinction coefficient zero when you reach the dielectric part), so that you could map IOR or whatever, but I'm not sure it's the optimum way of actually writing the code performance-wise (and the question of what that combined IOR map will be like also stands). Generally I believe you'd want to have the dielectric and the metal calculated in separate function calls. You can use the Apodaca device (see link) with the strength maps and then just add the results then. I'd use mix() anyway, though, just to be sure.

    http://renderman.pixar.com/resources/current/RenderMan/rslBestPractices.html#using-the-apodaca-device

    But in the user interface, it could still be seen as "one layer". 

    Thinfilm() is interesting in that it does iridescence/interference type stuff for us (tempered metals etc). It's different from just varnish.

    An interesting article on possible uses of thin film for more than just metals:

    http://blog.maxwellrender.com/tips/pushing-the-limits-of-realism-of-materials/

  • mjc1016mjc1016 Posts: 15,001
    edited January 2016
     

    Thinfilm() is interesting in that it does iridescence/interference type stuff for us (tempered metals etc). It's different from just varnish.

    An interesting article on possible uses of thin film for more than just metals:

    http://blog.maxwellrender.com/tips/pushing-the-limits-of-realism-of-materials/

    Yes, I came across an old scholl iridescence shader that I imported and have mostly working (it's an older Renderman one), that 'fakes' it with six colors and ramps and such.  It's pretty nice for a fake, but I saw some stuff on the thinfilm() while looking on how to improve it.

    One of the 'best' improvements I stumbled on was hacking out your reflectance from Radium.  It works best on items with lots of nice curves...and  a little displacement.

    If I actually use it, I'd pick some different colors those are just the 'defaults' that it came with. 

    iridbeetle.png
    640 x 640 - 691K
    Post edited by mjc1016 on
  • wowiewowie Posts: 2,029

    In theory, you could always be using a complex IOR (just making the extinction coefficient zero when you reach the dielectric part), so that you could map IOR or whatever, but I'm not sure it's the optimum way of actually writing the code performance-wise (and the question of what that combined IOR map will be like also stands). Generally I believe you'd want to have the dielectric and the metal calculated in separate function calls. You can use the Apodaca device (see link) with the strength maps and then just add the results then. I'd use mix() anyway, though, just to be sure.

    http://renderman.pixar.com/resources/current/RenderMan/rslBestPractices.html#using-the-apodaca-device

    But in the user interface, it could still be seen as "one layer". 

    Thinfilm() is interesting in that it does iridescence/interference type stuff for us (tempered metals etc). It's different from just varnish.

    An interesting article on possible uses of thin film for more than just metals:

    http://blog.maxwellrender.com/tips/pushing-the-limits-of-realism-of-materials/

    Yep, that's what I was thinking. Basically, a metalness mask tells the shader which part is metal and which is not. Then apply the corresponding specular and fresnel to each. You really don't need an IOR (since I prefer custom fresnel curves anyway for both dieletric and metal).

  • ChoholeChohole Posts: 33,604
    mjc1016 said:
     

    Thinfilm() is interesting in that it does iridescence/interference type stuff for us (tempered metals etc). It's different from just varnish.

    An interesting article on possible uses of thin film for more than just metals:

    http://blog.maxwellrender.com/tips/pushing-the-limits-of-realism-of-materials/

    Yes, I came across an old scholl iridescence shader that I imported and have mostly working (it's an older Renderman one), that 'fakes' it with six colors and ramps and such.  It's pretty nice for a fake, but I saw some stuff on the thinfilm() while looking on how to improve it.

    One of the 'best' improvements I stumbled on was hacking out your reflectance from Radium.  It works best on items with lots of nice curves...and  a little displacement.

    If I actually use it, I'd pick some different colors those are just the 'defaults' that it came with. 

    That is a vast improvement on the normal forum bug.

Sign In or Register to comment.