3Delight Surface and Lighting Thread

1212224262752

Comments

  • Mustakettu85Mustakettu85 Posts: 2,933
    edited December 1969

    That's a good find, Kettu!

    Thank you =)

  • Mustakettu85Mustakettu85 Posts: 2,933
    edited December 1969

    More fun stuff!

    It is possible to use AoA's EasyVolume with the raytracer as an interior volume.

    You just need to explicitly declare the DzRSLShader type as VolumeInterior in the surface definition file (I left it at VolumeAtmosphere at first - and it worked in REYES but not in raytracer, somehow).

    How-to:

    1) Go to YOURDSINSTALLATION\scripts\support\AgeOfArmour\Atmosphere, find AoA_EasyVolumeDef.dsa.
    2) Make a copy of this file in this folder, under a different name (I use AoA_EasyVolumeSurfDef.dsa).
    3) Open this new copy in a good editor like Notepad++ and do some replacements:

    
    // FIND:
    Camera.setCameraName( "AoA_EasyVolume" );  
    // REPLACE WITH:
    Material.setMaterialName( "AoA_EasyVolume" );
    
    // FIND:
    Camera.addShader( oShader );
    // REPLACE WITH:
    Material.addShader( oShader );
    
    // FIND:
    oShader.setShaderType( DzRSLShader.VolumeAtmosphere );
    // REPLACE WITH:
    oShader.setShaderType( DzRSLShader.VolumeInterior );
    

    4) Save the file.
    5) Now go to some folder in your content library, make a copy of any small .DUF file, put it somewhere you will find it, give it a name like "AoA Easy Volume Interior.DUF". Open it in Notepad++.
    6) Erase everything and insert this code (I adapted it from one of the surface presets from the DS Defaults folder):

    
    {
     "file_version" : "0.6.0.0",
     "asset_info" : {
      "id" : "/Shaders/Age of Armour/Easy Volume.duf",
      "type" : "preset_shader",
      "contributor" : {
       "author" : "Age of Armour",
       "email" : "",
       "website" : ""
      },
      "revision" : "1.0",
      "modified" : "2012-08-09T22:14:16Z"
     },
     "material_library" : [
      {
       "id" : "Default",
       "extra" : [
        {
         "type" : "studio/material/daz_shader",
         "definition" : "support/AgeOfArmour/Atmosphere/AoA_EasyVolumeSurfDef.dsa"
        }
       ]
      }
     ],
     "scene" : {
      "materials" : [
       {
        "url" : "#Default",
        "extra" : [
         {
          "type" : "studio/material/daz_shader"
         }
        ]
       }
      ]
     }
    }
    

    7) Make sure the "definition" line points to the file you saved in step 4. Save the .DUF.
    8) Now you should be able to load a cube and apply this new .DUF to it. It will be volumetric.

    Now you can use this nice little shader with its support of light categories - in the attached render, AoA's EasyVolume only sees the 3Delight PhysicalSun light shader that I set to be "foglight" category, while my GI shader (category "ambient") does GI and does not interfere with the volume.

    AoA_Interior_GI.png
    583 x 700 - 749K
  • Takeo.KenseiTakeo.Kensei Posts: 1,303
    edited December 1969

    You're right, but I simply don't want to. Can't be bothered to. For me, interiors have a few advantages over atmospheres now.... Look:
    a) Interior fog somehow renders without artefacts like those weird white eyes. Haven't seen that yet in my renders

    b) I can move the cube and adjust "fog start" by that, without bothering to code it into RI_Fog itself.
    c) I don't know if it's just me, but on both my machines, simply saving a rendered image resets scripted renderer parameters to current script defaults, which can be very annoying. Interior volume keeps its parameters inside the scene = less fuss. // I guess that's because you load default values somewhere in the script. There is a way to save user's parameters (I remember to have seen something like that somewhere but I'm not sure if it was in the SDK)

    Since I plan to release that render script for others to use eventually, I don't want to deal with users complaining about those resets etc. I'd rather include a mini-tutorial on how to use interiors instead of cameras. I se some advantages in both methods

    I had some time to dig into scripts, and I made a preset to load AoA's EasyVolume as an interior volume. It works fine in REYES/hybrid, but does not seem to work in raytracer at all - I'm perplexed as to why is that? Didn't you say there's something wrong with the shader itself? What could it be?
    Really, I don't know as I don't have the product so Its a bit hard to guess. If I remember correctly, what I said is that Raytracing Interior/Exterior/Atmosphere works with raytrace hider and proof was a depthcue and Ubervolume rendered with raytrace. So that is not a 3delight Problem but rather a problem with the shader. And I also said that the question should be asked to AOA as he is certainly more aware than me of what he wrote in the shader


    Then. Shader Mixer atmospheric cameras are very easily converted to interior volumes (and they would be a pain to renderscript because of their random token names). They work in both hiders (although still slower in raytracer, if I'm not mistaken - but I hope this will get fixed by the DNA guys sooner or later).

    But I am not truly happy with them because I don't know if it is possible to use light categories in Shader Mixer (i.e. exclude environment lights from SM volumes). And I can't seem to make rendertime scripts work in Shader Mixer, either (I'd like to at least try excluding the volume from diffuse ray visibility etc).
    Never tried a rendertime script with shader mixer so I can't say a lot about that. About doing exclusion, I've seen no way in SM too

    I converted Larry Gritz's NoisySmoke.sl via Shader Builder, but it does not seem to work like the volumes we´re used to (can't seem to get godrays with it). Do you know of any other volumetric RSL shader code out there?

    Not really. But from the quick look at Larry Gritz's code, it should be equivalent to Ubervolume and should work



    About Volume, I was wondering wether it wouldn't rather be better performance wise to make a RSL Plugin called from DS.

    You mean like the VolumeTracer they describe on pp.244-248 of the current 3Delight PDF manual?

    Yep that's it. When I have some motivation for doing something in DS I'll try that

  • Kevin SandersonKevin Sanderson Posts: 1,643
    edited December 1969

    Having good luck with wowie's skin shader and Mec4D's Vampire Huntress outfit on a modified Olympia 6. Both rendered in about a minute! AMD 8350 8 core 16 GB Ram

    VampireHuntressTest.jpg
    1280 x 720 - 335K
    IfTheSunDoesntGetYouIwIWill.jpg
    1280 x 720 - 729K
  • wowiewowie Posts: 2,029
    edited December 1969

    Having good luck with wowie's skin shader and Mec4D's Vampire Huntress outfit on a modified Olympia 6. Both rendered in about a minute! AMD 8350 8 core 16 GB Ram

    Looks awesome Kevin.

  • Kevin SandersonKevin Sanderson Posts: 1,643
    edited December 1969

    Thank you, wowie!

  • wowiewowie Posts: 2,029
    edited December 1969

    A new setup based on new ideas.

    For the skin, a lot more universal. Most the skin color tones now comes from the SSS (no tinting on the 1st diffuse). For the lights, I've ditched UE2 because there's no way to get dark shadows without the use of HDRI maps. In place is three UberArea lights with slight offset from the main lights (acting as fake bounce/ambient lights).

    AmySmall.png
    800 x 1040 - 631K
  • Kevin SandersonKevin Sanderson Posts: 1,643
    edited December 1969

    Wowie, it looks pretty good. It has a more neutral, softer look.

  • wowiewowie Posts: 2,029
    edited October 2014

    Wowie, it looks pretty good. It has a more neutral, softer look.

    Thanks Kevin.

    The idea was to have a more even diffuse/specular light. I can always increase or decrease the intensities of each light to achieve a more harsh light look or dark areas/ahadows. Renders just slightly longer than my older light setup (about 1 min) for that shot.

    Post edited by wowie on
  • SotoSoto Posts: 1,450
    edited December 1969

    Having good luck with wowie's skin shader and Mec4D's Vampire Huntress outfit on a modified Olympia 6. Both rendered in about a minute! AMD 8350 8 core 16 GB Ram

    Hey! Looks pretty cool! I'd like to try wowie's shaders. Where are they? I went back but can`t find them :-P

  • Kevin SandersonKevin Sanderson Posts: 1,643
    edited December 1969

    Thank you, Hellboy! wowie's shaders are in the Photo Studio Kit http://www.daz3d.com/photo-studio-kit and be sure to check what's needed. I use wowie's V6AnnaSSS which needs the Anna texture from the V6 HD set, and wowie's Lighter Ambient lights. The shader works with UberSurface 2 Layered Shader. It's painless to use wowie's kit and you don't have to think about most of it. Lights are in the Lights Presets and shaders in the Materials folder. Use Gamma 2.2 for your rendering otherwise they are too redddish. I've been pretty happy with what I've rendered so far using it.

  • Mustakettu85Mustakettu85 Posts: 2,933
    edited December 1969

    Wowie, Kevin, neat stuff you've got there!



    Really, I don't know as I don't have the product so Its a bit hard to guess. If I remember correctly, what I said is that Raytracing Interior/Exterior/Atmosphere works with raytrace hider and proof was a depthcue and Ubervolume rendered with raytrace. So that is not a 3delight Problem but rather a problem with the shader. And I also said that the question should be asked to AOA as he is certainly more aware than me of what he wrote in the shader

    Ah okay, I thought maybe you spoke to AoA in private and he told you some details about his algorithm.




    About Volume, I was wondering wether it wouldn't rather be better performance wise to make a RSL Plugin called from DS.

    You mean like the VolumeTracer they describe on pp.244-248 of the current 3Delight PDF manual?

    Yep that's it. When I have some motivation for doing something in DS I'll try that

    That would be cool.

  • Mustakettu85Mustakettu85 Posts: 2,933
    edited December 1969

    I changed the SSS extra backscatter calculation in my shader. The "old tricks" I read about online didn't seem to work that well, so I rethought the process from the ground up (using Beer's absorption law as inspiration). It's most likely not 110% "physically correct", but fairly easy to control. Hopefully folks will be able to find some artistic use for it.

    The bunny uses a somewhat "off" tint for the backscatter to show it more clearly. Yes it's tintable, and the right tint will give the best look.

    I also added Westin's velvet, because why not.

    Now I need to finish the documentation, polish stuff a little, and then - to be on the safe side - ask DAZ for written redistribution permission re: scripts derived from their examples (actually or potentially - I honestly cannot remember if I did copy&paste; anything from the Scripting kit samples for the shader rendertime script, but what I wrote still looks similar enough to just about any rendertime script out there, including the sample one... and that samples licence is damn tricky, and I can't understand what licence applies to the scripted renderer Standard Example at all. Have I mentioned how much headache anything like those "legal matters" always gives me?).

    When I get this cleared, I'll make a few skin material presets for those few popular characters that I have - because people love presets... And then I want to put it all on ShareCG, as usual. So hopefully I may have it up in November.

    superbunny.png
    420 x 700 - 228K
  • Kevin SandersonKevin Sanderson Posts: 1,643
    edited December 1969

    Thanks, Kettu!

  • SotoSoto Posts: 1,450
    edited December 1969

    Thank you, Hellboy! wowie's shaders are in the Photo Studio Kit http://www.daz3d.com/photo-studio-kit and be sure to check what's needed. I use wowie's V6AnnaSSS which needs the Anna texture from the V6 HD set, and wowie's Lighter Ambient lights. The shader works with UberSurface 2 Layered Shader. It's painless to use wowie's kit and you don't have to think about most of it. Lights are in the Lights Presets and shaders in the Materials folder. Use Gamma 2.2 for your rendering otherwise they are too redddish. I've been pretty happy with what I've rendered so far using it.

    Awesome! Thanks!!! :D

  • Mustakettu85Mustakettu85 Posts: 2,933
    edited October 2014

    Hi guys,

    Found a comparison of hiders in the 3Delight wiki, very well worth a read (particularly of note is that it's true: turning pixel samples up for the raytracer will slow it down more noticeably than the same pixel samples will slow down REYES):

    https://3delight.atlassian.net/wiki/display/3DFM/Pros+and+Cons+of+Path+Tracing+vs+REYES

    On the other hand, the general non-dependence on shading rate makes for better quality details in the raytracer, I believe; I am using 4x4 pixel samples now, and I find this looks good enough, while with REYES I have to have at least 6x6 (better 8x8).


    And here are two test renders I did with volumes: both use the same default settings for AoA's EasyVolume (basically the same scene with two primitives and a gel light, no GI).

    REYES renders in 30 seconds, the raytracer in 4 minutes, but! Take a look at the quality!

    The raytracer takes that much longer to render because it produces a much better quality effect.


    PS I'm so excited about this: http://www.3delight.com/en/modules/PunBB/viewtopic.php?id=4071 - I hope we get a DS 3Delight version that supports it soon!

    raytracer_-_4_min.png
    660 x 1100 - 678K
    reyes_-_30_sec.png
    660 x 1100 - 924K
    Post edited by Mustakettu85 on
  • wowiewowie Posts: 2,029
    edited October 2014

    Nice reading material:
    http://library.imageworks.com/pdfs/imageworks-library-faster-photorealism.pdf

    I think it somewhat mirrors Pixar/Disney's principled BRDF effort - simplifying by way of linking parameters for the shader(s).

    Post edited by wowie on
  • wowiewowie Posts: 2,029
    edited October 2014

    Some test shots of the new setup. One key light, three rim lights with directional lights and two UberArea lights as bounce/fill lights. I skew the intensity a bit so there's more light coming from the fill lights.

    I also tweak my hair MATs a bit. Both layer have bump now, to avoid that 'toon' highlights. I enabled translucence at about half strength, probably should have tone it down a bit more. The specular on both layers have much more fresnel now, just like the skin.

    Both skin specular are set to always be 100% and have fresnel strength bring it back down when you're viewing it straight on. So if I want more glossy looking skin, I only need to lower the fresnel strength and maybe adjust the specular sharpness.

    From first to last - all lights enabled, right rim and bounce lights disabled, left rim and bounce lights disabled and both rim lights disabled (bounce lights is enabled). Key light and one rim light (from the front) are enabled for all shots.

    4.jpg
    800 x 1040 - 256K
    3.jpg
    800 x 1040 - 235K
    2.jpg
    800 x 1040 - 247K
    1.jpg
    800 x 1040 - 261K
    Post edited by wowie on
  • Kevin SandersonKevin Sanderson Posts: 1,643
    edited December 1969

    Nice find, Kettu! Looking good, wowie!

  • wowiewowie Posts: 2,029
    edited December 1969

    Here's some more experiments with the hair.

    I'm using two geometry shells now - one without offset that actually cast shadows from the hair strands and another with a negative offset (below the hair strands) as an additional shadow blocker. Works very well to avoid translucence showing up in places you don't want to.

    It does add to the render time a bit. Without the 2nd geo shell, the shot took about 1 min 50ish seconds. When I add the 2nd geo shell, render time went up to 2 min 20ish seconds.

    The highlights look a bit different since I'm using bump to break up the broad specular highlights, but not for the more narrow one.

    Haven't tried it with other hair so don't know if this will work generally. One last note - for the shells, turn off the skull cap.

    2.jpg
    800 x 1040 - 354K
    1.jpg
    800 x 1040 - 342K
  • wowiewowie Posts: 2,029
    edited December 1969

    Another experiment trying to extend my light setup to emulate a typical ambient light scenario. I'm using six UberArea light planes arranged in a half circle around the character and lower the strength to half from what I'm using with two UberArea lights.

    Render times increase to 2 minutes 50ish seconds for closeup shots. Generally looks pretty close to my setup using UE2, but surfaces don't have that uniform diffuse which is typical of ambient light.

    4.jpg
    800 x 1040 - 189K
    3.jpg
    800 x 1040 - 189K
    2.jpg
    800 x 1040 - 208K
    1.jpg
    800 x 1040 - 145K
  • dianeperfum68dianeperfum68 Posts: 0
    edited December 1969

    Hi,

    this is very kind from you to help other peoples but, about myself I never knew what to do with free stuf like the kit you mentionned, I know how to download it with zip but after it is done I dont know what to do with it? Where should I put it in my daz 3d library?

    Thanks!:ohh:

  • Kevin SandersonKevin Sanderson Posts: 1,643
    edited December 1969

    wowie, I like the soft diffused lighting. You are getting very good results!

  • wowiewowie Posts: 2,029
    edited December 1969

    wowie, I like the soft diffused lighting. You are getting very good results!

    Thanks.
    I'd like to think so too. It's not the renderer that determines the output, it's the artist that takes the time to learn how to use it.

    You know, that might just be a candidate for a future sig. :)

    Based on what I've seen so far, I think there is a proper need for an IBL light with a smarter, more accurate sampling. Technically, you can do something similar with a sphere usign UberArea light, but with the current implementation you need to use really high number of samples. If multiple importance sampling is used, then it's more than likely we do nott need to have that many number of samples across the sphere, just where the light intensity are highest. I also believe you can even do proper specular with it - you just need to rescale the area emitting the light and do some clever maths to calculate incident angle..

  • Kevin SandersonKevin Sanderson Posts: 1,643
    edited October 2014

    I agree, that would make a good sig!

    To me, you have been getting results rivaling the ones I've seen so far from Octane and LuxRender. The renders have been better than many of those, granted some folks are still learning. So it does require some learning and work.

    I'm not as deep as you, Kettu, and Takeo are in all the ins and outs, but dog gone, whatever works and looks good is my goal. Your render times are still reasonable. I found recently where I can rent a workstation monthly that could rest my worries about rendering a finished short and more cheaply than buying a higher end Nvidia card to use Octane. Test renders aren't bad in DAZ on my regular AMD 8 core PC - to test the animation, OpenGL is fast and gets the job done to check a motion, even just playing it in the regular preview seems to work for fine for me (must be my old GTX 470, completely beats my even older Radeon I've been using for years). If I want to see a render with proper lighting, I can render out smaller frames to get a good idea how it's working with a smaller animation file besides full frame renders.

    Edited to clarify

    Post edited by Kevin Sanderson on
  • wowiewowie Posts: 2,029
    edited December 1969

    To me, you have been getting results rivaling the ones I've seen so far from Octane and LuxRender. The renders have been better than many of those, granted some folks are still learning. So it does require some learning and work.

    That is the goal. Getting good or even photorealistic results does not require an unbiased renderer. The key is making sure your lighting and materials are as close as possible to what's physically plausible. That's essentially what I understand from all those papers, particularly Disney's Principled BRDF and the Arnold paper I've posted before.

    Good luck on your project. I've been eyeing a two socket Xeon for a long time now. Hopefully I'll be able to buy one in the beginning of next year.

  • Mustakettu85Mustakettu85 Posts: 2,933
    edited December 1969

    Hi,

    this is very kind from you to help other peoples but, about myself I never knew what to do with free stuf like the kit you mentionned, I know how to download it with zip but after it is done I dont know what to do with it? Where should I put it in my daz 3d library?

    Thanks!:ohh:

    Hello Diane,

    Do you mean my photon mapping kit? You should be able to unzip it to a temp folder, and right there is a text file with detailed installation instructions that will tell you where to move what. It's not stuff you put into the content library, so make sure you have admin access.
    But note that I am a Windows user, so I have no idea if DS uses any other folders on other operating systems.



    It's not the renderer that determines the output, it's the artist that takes the time to learn how to use it.

    You know, that might just be a candidate for a future sig. :)

    Based on what I've seen so far, I think there is a proper need for an IBL light with a smarter, more accurate sampling. Technically, you can do something similar with a sphere usign UberArea light, but with the current implementation you need to use really high number of samples. If multiple importance sampling is used, then it's more than likely we do nott need to have that many number of samples across the sphere, just where the light intensity are highest. I also believe you can even do proper specular with it - you just need to rescale the area emitting the light and do some clever maths to calculate incident angle..

    I've come across a similar saying quite often =) Along the lines of "The best renderer is the one the artist knows how to use best".

    Have you looked into the posts on 3Delight forums dealing with "new" area lights, the ones using the "trace" sampling strategy? These might be the answer to your ideas, but - they all require support from the surface shader (the surface has to use the trace() shadeop to gather their light). So we can't use those "new" area lights with old shaders.
    But this is where 3Delight's MIS comes into play, and then it's the surface which decides the number of shadow samples, so no more cranking them up for just a single stubborn surface, etc (and trace() does all the clever maths behind the scenes). So this mapped spherical light might be very much possible.

    I've successfully used basic (non-mapped) "new" area lights in DS for "general" diffuse and specular, but somehow I haven't yet managed to make the subsurface calculations make use of diffuse calculated via this trace()-based area lighting. Either there is a trick I haven't yet discovered, or, again, something like a bug in the DS-bundled 3Delight version.

    I'll try looking into building a mapped spherical light, but it's not something I promise to release in the foreseeable future (definitely not until the subsurface issue is cleared).

  • wowiewowie Posts: 2,029
    edited December 1969


    Have you looked into the posts on 3Delight forums dealing with "new" area lights, the ones using the "trace" sampling strategy? These might be the answer to your ideas, but - they all require support from the surface shader (the surface has to use the trace() shadeop to gather their light). So we can't use those "new" area lights with old shaders.
    But this is where 3Delight's MIS comes into play, and then it's the surface which decides the number of shadow samples, so no more cranking them up for just a single stubborn surface, etc (and trace() does all the clever maths behind the scenes). So this mapped spherical light might be very much possible.

    I've successfully used basic (non-mapped) "new" area lights in DS for "general" diffuse and specular, but somehow I haven't yet managed to make the subsurface calculations make use of diffuse calculated via this trace()-based area lighting. Either there is a trick I haven't yet discovered, or, again, something like a bug in the DS-bundled 3Delight version.

    I'll try looking into building a mapped spherical light, but it's not something I promise to release in the foreseeable future (definitely not until the subsurface issue is cleared).

    No I haven't but thanks for pointing it out.

    I think you could probably use a hack for that - have the area lights do their work to a point cloud and then use the point cloud to light the scene. It probably won't be as 'correct' since there's a lot of approximation but it will certainly be fast. :) Now if that could be extended to allow ray/light bounces, we finally have a fast GI-like light that rivals what we get with 3delight for Maya and Softimage.

  • Kevin SandersonKevin Sanderson Posts: 1,643
    edited December 1969

    wowie said:
    To me, you have been getting results rivaling the ones I've seen so far from Octane and LuxRender. The renders have been better than many of those, granted some folks are still learning. So it does require some learning and work.

    That is the goal. Getting good or even photorealistic results does not require an unbiased renderer. The key is making sure your lighting and materials are as close as possible to what's physically plausible. That's essentially what I understand from all those papers, particularly Disney's Principled BRDF and the Arnold paper I've posted before.

    Good luck on your project. I've been eyeing a two socket Xeon for a long time now. Hopefully I'll be able to buy one in the beginning of next year.

    Thanks, wowie! Yep, a double Xeon workstation is the way to go. Probably the 3Ghz 10-core as the others are a little slower, but cost much more for the cores.

    Most of the good Octane renders I've seen, and the ones using LuxRender of Fryrender Arion are made by architects and designers who know lighting, possibly from a photographic background and really work hard to get realistic textures... that's two of the big things I noticed when I started looking at those a couple years ago. I've seen some good people renders, but they are few and far between.

  • Mustakettu85Mustakettu85 Posts: 2,933
    edited December 1969

    wowie said:

    I think you could probably use a hack for that - have the area lights do their work to a point cloud and then use the point cloud to light the scene. It probably won't be as 'correct' since there's a lot of approximation but it will certainly be fast. :) Now if that could be extended to allow ray/light bounces, we finally have a fast GI-like light that rivals what we get with 3delight for Maya and Softimage.

    Or even render the area lights out to a HDRI panorama and throw a general IBL envlight with some colourbleed from point cloud =) But then, we will lose area light specular again.

    With GI caching on, the combination of my trace()-based GI shader and delta lights renders quite fast, to me, but I have to add specular-only lights when rendering from an angle that's lit by GI (because it's only diffuse rays bouncing, so without a little specular it looks somewhat flat).

    I have a recent finished image here; it took 43 minutes, but first, I render on a laptop, and then, I was going for higher quality than usual. There's specific settings described in the post.

    http://mustakettu85.wordpress.com/2014/10/12/i-may-tonemap-this-differently-when-i/

    How comparable would it be to Lux? How long would Lux take for similar quality?

Sign In or Register to comment.