AWE Surface Shader - a new physically plausible shader for DAZ Studio and 3delight

wowiewowie Posts: 1,561
edited December 4 in Freebies

AWE Surface 1.0

AWE Surface is a new, robust, highly optimized, physically plausible shader for DAZ Studio and 3Delight employing physically based rendering (PBR) metalness / roughness workflow. Using a primarily uber shader approach, it can be used to render materials such as dielectrics, glass and metal.

Features Highlight

  • Physically based BRDF (Oren Nayar for diffuse, Cook Torrance, Ashikhmin Shirley and GGX for specular).
  • Micro facet energy loss compensation for the diffuse and transmission lobe.
  • Transmission with Beer-Lambert based absorption.
  • BRDF based importance sampling. Multiple importance sampling (MIS) with 3delight's path traced area light shaders such as the aweAreaPT shader.
  • Explicit Russian Roulette for next event estimation and path termination.
  • Raytraced subsurface scattering with forward/backward scattering via Henyey Greenstein phase function.
  • Physically based Fresnel for both dielectric and metal materials. Unified index of refraction value for both reflection and transmission with dielectrics. An artist friendly metallic Fresnel based on Ole Gulbrandsen model using reflection color and edge tint to derive complex IOR.
  • Physically based thin film interference (iridescence).
  • Shader based, global illumination.
  • Luminance based, Reinhard tone mapping with exposure, temperature and saturation controls.
  • Toggle switches for each lobe.
  • Diffuse Oren Nayar based translucency with support for bleed through shadows. Can use separate front/back side diffuse color and texture.
  • Two specular/reflection lobes for the base, one specular/reflection lobe for coat.
  • Anisotropic specular and reflection (only with Ashikhmin Shirley and GGX BRDF), with map-controllable direction.
  • Glossy Fresnel with explicit roughness values, one for the base and one for the coat layer.
  • Optimized opacity handling with user controllable thresholds.
  • Imports most settings and values when converting materials from dsDefaultMaterial, HumanSurface Shader, UberSurface and UberSurface 2.

Get them here:

https://drive.google.com/drive/folders/1iHeu7z2pChdgmimFbu0rOCLt5nXUFVcK

Installation instructions

The aweSurface.zip contains a readme for the shader and some basic shader presets that will apply AWE Surface to the existing materials. The contents of aweSurface DS App Folder Files.zip are the compiled Renderman shader code (.sdl) and supporting DS scripts to be placed within your DAZ Studio application folder (ie Program Files/DAZ 3D/DAZ Studio 4/..." Mustakettu's render script files are also included in this archive.

AWE Surface 1.1

Changelog

  • Fix faulty reference to actual specular BRDF used. Earlier builds would use GGX when Cook Torrance is selected and use Cook Torrance with GGX.
  • In terms of render times, Ashihkmin Shirley will be fastest, GGX is slightly slower, with Cook Torrance being the slowest.
  • Adjusted Ashihkmin Shirley output at grazing angles so it matches GGX output.
  • Lowered minimum roughness values for all lobes. This allows very sharp, practically perfect (mirror) reflections.
  • Cook Torrance have a massive performance impact when max diffuse depth of the material using it is set above 1. Set max diffuse depth to 1 for all surfaces using Cook Torrance BRDF to minimize the issue.
  • Removed clamp and extraneous code from coat/specular bsdf when using point/spot/distant lights.
  • Adjusted Russian roulette weights used with ray tracing. This produces less noticeable dimming of specular highlights and reflection for renders with high pixel samples (more than 4x4).
  • Adjusted coat visibility in reflections and refractions. Previously, coat layer will not be rendered on reflections/refractions of the coated object.
  • Adjusted opacity visibility in reflections and refractions. Previously, opacity will render fully opaque on reflections/refractions.
  • Reworked opacity code to allow gradual transition between fully opaque and fully transparent. Added new optimizations which results in 10% faster render times for opacity mapped surfaces.
  • Reworked erroneous exposure limits. Previously it would produce darker areas near the light source when light source intensity/exposure is very high.
  • Reworked bump code to avoid mesh cracking do too intense bump strength.
  • Reworked displacement and displacement bounds code to avoid displacement exceeding bounds.
  • Added a displacement bounds multiplier to tweak displacement bounds. This can be adjusted to optimize displacement bounds usage.
  • Implemented additional importance sampling technique for diffuse. This results in up to 90% faster render times for diffuse surfaces.
  • The new importance sampling also takes into account irradiance samples. This results in up to 50% faster render times with more than 512 irradiance samples on top of the improvements from the new importance sampling optimization.
  • Added dynamic bias based on displacement strength to raytracing shadeops to account for displacements. Previously, GI will not be calculated correctly when displacements are used. With the added bias, GI will look the same with or without displacements.
  • Specular and Global Illumination Exposure can now be used to offset exposure beyond scene wide exposure from AWE Environment light.
  • The shader now uses DS internal dPds instead of calculating its own. This results in no more artifacts when anisotropy is used.

 

Post edited by wowie on
«1

Comments

  • wowiewowie Posts: 1,561
    edited December 6

    Edit:

    Uploaded mustakettu's RadiumAreaPT light shader files to the Google Drive folder.

    • RadiumAreaPT DS App Folder.zip
    • RadiumAreaPT Runtime Library Files.zip

    I've also finished the shadow catcher shader along with new point/spot/distant light shaders. These can be found inside the aweExtra files.

    • aweExtras DS App Folder Files.zip
    • aweExtras Runtime Library Files.zip

    Installation is similar to AWE Surface. Files for the runtime/library folders goes inside your My DAZ Library folder.. Files in the DS app folder goes inside your respective DAZ Studio Application folder. For Windows, it is usually : C:\Program Files\DAZ 3D\DAZStudio4

    No manual or documentation yet, though the controls should be simple enough to understand.

    The light presets are located in

    • My DAZ3D Library\Light Presets\wowie
    • My DAZ3D Library\Light Presets\Mustakettu85

    RadiumAreaPT is an area light shader, so you will need to have a surface on an emitter selected before applying.

    The shadow catcher can be found here - My DAZ3D Library\Shader Presets\wowie\AWE ShadingKit

    Feel free to make presets for your stuff or even distribute the shader, be it a freebie, personal or commercial use.

    The commercial pack is available in the DAZ store. Here's a link to the relevant PA Commercial Products thread - https://www.daz3d.com/forums/discussion/280441/awe-shading-kit-for-daz-studio-and-3delight

    I've uploaded a simple example scene to the Google drive folder with the DAZ Material Ball loaded and an environment sphere with OMKHPark applied. All the surfaces in the scene except for the environment sphere have AWE Surface applied.

    More info can be found in the readme and some work-in-progress shots.

    For best results, render with the included mustakettu's 3delight render script. It's also a good way to see if your installation is successful. You should be able to see these in the renderer settings.

    Below are some older test shots with the shader.

    aweSurface 01.jpg
    1000 x 1300 - 855K
    aweSurface 02.jpg
    1000 x 1300 - 711K
    aweSurface 03b.jpg
    1000 x 1300 - 627K
    aweSurface 04.jpg
    1000 x 1300 - 916K
    aweSurface 05.jpg
    1000 x 1300 - 896K
    aweSurface 07.jpg
    1000 x 1300 - 666K
    RenderScript1.jpg
    465 x 194 - 25K
    RenderScript2.jpg
    467 x 671 - 83K
    Post edited by wowie on
  • gitika1gitika1 Posts: 209

    Thank you wowie.  I will check them out this weekend.

  • Thank you @wowie! Installed and now I just have to study the readme pdfs before trying them out smiley

  • Thank you very much for this!

  • kyoto kidkyoto kid Posts: 28,965

    ..can't open the readme as I don't have Word (the old notebook with it died). Is there just a .txt version could it be converted to a PDF?

  • namffuaknamffuak Posts: 2,725
    edited September 14
    kyoto kid said:

    ..can't open the readme as I don't have Word (the old notebook with it died). Is there just a .txt version could it be converted to a PDF?

    Libre Office and Open Office will both open word documents and are both free.

    Post edited by namffuak on
  • Looks great! Thanks for letting us give this a spin. :)

  • Oso3DOso3D Posts: 12,788

    I am eager to try this out.

    I would really like to play around with 3dl again, and this seems like it’ll fill a lot of gaps I’ve seen before.

  • nonesuch00nonesuch00 Posts: 9,923

    I am looking forward to trying this out too. At least your examples look bery good to me. '

    Thanks

  • Thanks more shaders are always nice.

  • wowiewowie Posts: 1,561
    kyoto kid said:

    ..can't open the readme as I don't have Word (the old notebook with it died). Is there just a .txt version could it be converted to a PDF?

    There is a PDF version included inside the aweSurface.zip.

  • LeanaLeana Posts: 3,400

    Thanks a lot for the new shader :)

  • ImagoImago Posts: 1,861

    Nice to see someone is still creating stuff for 3Delight!

    Thanks a lot! laugh

  • GreymomGreymom Posts: 591

    Cool - thanks muchly!

  • RAMWolffRAMWolff Posts: 8,541

    This is so awesome Wowie.  So if I develop my current Gino project around this the end user MUST have your shader system installed to see the benefits, correct?  

  • Mustakettu85Mustakettu85 Posts: 2,538
    wowie said:

    And for users who keep getting issues d/ling from google drive... Wowie, I remember you told me that time you used Opera; I tried it now and yes it works. Maybe it's worth it adding this recommendation to the original post.

  • Oso3DOso3D Posts: 12,788

    Does this download include the lights to make it work properly?

  • Okay, could someone please gently hold my hand and show me where each of the folders should go in the Daz Studio folder? I think I've put Wowie's shaders in the right place but not everything else. 

  • wowiewowie Posts: 1,561
    edited September 16
    RAMWolff said:

    This is so awesome Wowie.  So if I develop my current Gino project around this the end user MUST have your shader system installed to see the benefits, correct?  

    Yes.

    Oso3D said:

    Does this download include the lights to make it work properly?

    There's no light shaders included in the freebie. The shader should work with just about any light out there or even if you only have an ambient surface. In fact, that's how the example scene is lit. I'll probably pack my modification of mustakettu's point/spot/distant light later on. They support light linking, various falloff options, blackbody temperature and setting explicit samples for shadows. I'll probably also include the Shader Builder files so users can add stuff to it, or learn RSL and Shader Builder.

    For best performance, the shader is best used with path traced area lights. I made one and bundled it with the commercial pack and there's also mustakettu's Radium AreaPT. I need to check with her first if it's OK to distribute the Radium AreaPT light.

    Okay, could someone please gently hold my hand and show me where each of the folders should go in the Daz Studio folder? I think I've put Wowie's shaders in the right place but not everything else. 

    Files in the aweSurface zip should be placed inside your 'My DAZ LIbrary' folder. Those contain the PDF version of the readme and shader presets.

    Files in the aweSurface DS App Folder.zip should be placed inside your DAZ Studio application folder. On Microsoft Windows, that would be something like 'Program Files/DAZ 3D/DAZ Studio 4/'. There should already be sub folders like 'scripts', 'resources' and 'shaders'. I'm not entirely sure what that would be with OSX. This is the actual shaders and support scripts needed by DS.

    Edit - Here's what I have on my PC.

    AWE Surface files

    C:\Program Files\DAZ 3D\DAZStudio4\scripts\support\wowie\Surface
    aweSurfaceAttribs.dsa
    aweSurfaceDef.dsa
    aweSurfaceParams.dsa
    aweSurface___displacementAttribs.dsa
    aweSurface___displacementParams.dsa

    C:\Program Files\DAZ 3D\DAZStudio4\shaders\wowie
    aweSurface.sdl
    aweSurface___displacement.sdl

    mustakettu's render script files

    C:\Program Files\DAZ 3D\DAZStudio4\scripts\support\DAZ\ScriptedRenderer\RaytracerGeneral
    RaytracerGeneralRS.dsa
    C:\Program Files\DAZ 3D\DAZStudio4\resources\Scripted Renderer\RaytracerDraft
    RaytracerDraft.dsa
    C:\Program Files\DAZ 3D\DAZStudio4\resources\Scripted Renderer\RaytracerFinal
    RaytracerFinal.dsa

    Post edited by wowie on
  • Thank you Wowie. I’ll try that. I definately put some things in the wrong place. I’m using a Mac.

  • wowiewowie Posts: 1,561

    And for users who keep getting issues d/ling from google drive... Wowie, I remember you told me that time you used Opera; I tried it now and yes it works. Maybe it's worth it adding this recommendation to the original post.

    Well, I used Opera, Firefox and Edge. I used default settings for Opera and Edge and they work fine with Google Drive. Point taken though and I probably need to add mirrors or something. Most likely Dropbox, since that's quite popular too. I have uploaded the readme to my blog, but I haven't uploaded all the images or links to the files or host.

  • Mustakettu85Mustakettu85 Posts: 2,538
    wowie said:
    For best performance, the shader is best used with path traced area lights. I made one and bundled it with the commercial pack and there's also mustakettu's Radium AreaPT. I need to check with her first if it's OK to distribute the Radium AreaPT light.

    As long as I won't have to deal with providing tech support for it (or render icons for the content folder and otherwise deal with packaging LOL), you have my full permission. =)

    Just don't change the .sl installation path; I may feel like putting together some light presets eventually so it would be cool if I could release them without editing the paths.

     

  • wowiewowie Posts: 1,561

    As long as I won't have to deal with providing tech support for it (or render icons for the content folder and otherwise deal with packaging LOL), you have my full permission. =)

    Alright. I'll work on it later.

    Just don't change the .sl installation path; I may feel like putting together some light presets eventually so it would be cool if I could release them without editing the paths.

    I won't change those. I'll probably only change the intensity scale into using exposure formula and add a 'Trace Group Membership' so it can be linked to certain surfaces.

  • Mustakettu85Mustakettu85 Posts: 2,538
    wowie said:
    I'll probably only change the intensity scale into using exposure formula and add a 'Trace Group Membership' so it can be linked to certain surfaces.

    Not sure about specifically changing intensity to pow-based exposure; I totally don't see myself using that. If you add an extra slider for exposure and have its 0 position bypass the pow, so that it behaves as the "vanilla" version, this should work. Same as adding trace group membership. Then DS will load my presets exactly the same, and these will be just extra params the preset file won't change.

  • RAMWolffRAMWolff Posts: 8,541

    Thanks again Wowie.  Good to know that the base must be installed in order for anything free or commercial being put out there for others.... 

    Oh and I'm a big Opera browser fan.  After Firefox messed themselves up with this total rewrite I just didn't see the speed improvements and too many of my fav add ons no longer worked and their replacements kinda sucked.  Opera rocks for me.... 

  • Oso3DOso3D Posts: 12,788

    I'm very confused.

    The install is missing: C:\Program Files\DAZ 3D\DAZStudio4\scripts\support\DAZ\ScriptedRenderer\RaytracerGeneral
    RaytracerGeneralRS.dsa

    Not sure if that's the issue, but scripted render can't see the two Raytracers that were in the install.

    But when I try to apply one of the included shader presets, it doesn't have an option to include any maps. Also, it doesn't render right (using AoA lights?) at all (I'm assuming lack of scripted render).

     

  • Oso3DOso3D Posts: 12,788

    Also the shader presets don't have bump, displacement, or anything... is that intentional?

  • LlynaraLlynara Posts: 4,635

    That looks fantastic!

  • wowiewowie Posts: 1,561
    Oso3D said:

    I'm very confused.

    The install is missing: C:\Program Files\DAZ 3D\DAZStudio4\scripts\support\DAZ\ScriptedRenderer\RaytracerGeneral
    RaytracerGeneralRS.dsa

    Not sure if that's the issue, but scripted render can't see the two Raytracers that were in the install.

    OK. I see the problem. The RaytracerGeneralRS.dsa isn't included in the archive. The two 'Raytracer' options simply pass the parameters to the RaytracerGeneralRS script. It still should render fine without the script, just slower.

    Oso3D said:

    But when I try to apply one of the included shader presets, it doesn't have an option to include any maps.

    There's no maps included in the package. It will import maps you've already applied to existing dsDefaultMaterial or any of the omnifreaker shaders. You can still add maps once applied.

     

  • Oso3DOso3D Posts: 12,788

    No, what I'm saying is that there's no place to put maps.

    This is after applying 'AWE Base Dielectric'

     

    Huh.jpg
    336 x 456 - 62K
Sign In or Register to comment.