Skip to content

Commit

Permalink
Merge branch '1.2_maintenance' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
johnhaddon committed Jun 19, 2023
2 parents c8797ef + 7d492ab commit b81ba3d
Show file tree
Hide file tree
Showing 10 changed files with 473 additions and 25 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/main/installDelight.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@
else :
from urllib.request import urlretrieve

delightVersion="2.9.17"
delightDirectory="free/beta/2022-12-12-XHyQa2FS"
delightVersion="2.9.39"
delightDirectory="free/beta/2023-05-26-gbhdz8Oe"

baseUrl = "https://3delight-downloads.s3-us-east-2.amazonaws.com"

Expand Down
12 changes: 12 additions & 0 deletions Changes.md
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,18 @@ Build
1.2.x.x (relative to 1.2.8.0)
=======

> Caution : A bug fix in the handling of the `ai:volume:step_scale` attribute may change the appearance of Arnold volume renders.

Improvements
------------

- DelightOptions : Added new options for modern 3Delight, as of version `2.9.39`.

Fixes
-----

- Arnold : Fixed bug that caused `ai:volume:step_scale` to be ignored if `ai:volume_step` was set explicitly to `0.0`. This was different to the behaviour when `ai:volume_step` was not set at all.

1.2.8.0 (relative to 1.2.7.0)
=======

Expand Down
262 changes: 259 additions & 3 deletions python/GafferDelightUI/DelightOptionsUI.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,9 @@ def __renderingSummary( plug ) :
"Order {}".format( Gaffer.NodeAlgo.currentPreset( plug["bucketOrder"]["value"] ) )
)

if plug["renderAtLowPriority"]["enabled"].getValue() :
info.append( "Low Priority {}".format( "On" if plug["renderAtLowPriority"]["value"].getValue() else "Off" ) )

return ", ".join( info )

def __qualitySummary( plug ) :
Expand All @@ -60,16 +63,44 @@ def __qualitySummary( plug ) :
if plug["oversampling"]["enabled"].getValue() :
info.append( "Oversampling {}".format( plug["oversampling"]["value"].getValue() ) )

if plug["shadingSamples"]["enabled"].getValue() :
info.append( "Shading Samples {}".format( plug["shadingSamples"]["value"].getValue() ) )
for samples in ( "shading", "volume" ) :
childName = samples + "Samples"
if plug[childName]["enabled"].getValue() :
info.append( "{} Samples {}".format( samples.capitalize(), plug[childName]["value"].getValue() ) )

if plug["clampIndirect"]["enabled"].getValue() :
info.append( "Clamp Indirect {}".format( plug["clampIndirect"]["value"].getValue() ) )

return ", ".join( info )

def __featuresSummary( plug ) :

info = []

for show in ( "Displacement", "Subsurface" ) :
childName = "show" + show
if plug[childName]["enabled"].getValue() :
info.append( "Show {} {}".format( show, "On" if plug[childName]["value"].getValue() else "Off" ) )

return ", ".join( info )

def __statisticsSummary( plug ) :

info = []

if plug["showProgress"]["enabled"].getValue() :
info.append( "Progress {}".format( "On" if plug["showProgress"]["value"].getValue() else "Off" ) )

if plug["statisticsFileName"]["enabled"].getValue() :
info.append( "Stats File: {}".format( plug["statisticsFileName"]["value"].getValue() ) )

return ", ".join( info )

def __rayDepthSummary( plug ) :

info = []

for rayType in ( "Diffuse", "Hair", "Reflection", "Refraction" ) :
for rayType in ( "Diffuse", "Hair", "Reflection", "Refraction", "Volume" ) :
childName = "maximumRayDepth" + rayType
if plug[childName]["enabled"].getValue() :
info.append(
Expand All @@ -78,6 +109,19 @@ def __rayDepthSummary( plug ) :

return ", ".join( info )

def __rayLengthSummary( plug ) :

info = []

for rayLength in ( "Diffuse", "Hair", "Reflection", "Refraction", "Specular", "Volume" ) :
childName = "maximumRayLength" + rayLength
if plug[childName]["enabled"].getValue() :
info.append(
"{} {}".format( rayLength, plug[childName]["value"].getValue() )
)

return ", ".join( info )

def __texturingSummary( plug ) :

info = []
Expand Down Expand Up @@ -126,7 +170,10 @@ def __licensingSummary( plug ) :

"layout:section:Rendering:summary", __renderingSummary,
"layout:section:Quality:summary", __qualitySummary,
"layout:section:Features:summary", __featuresSummary,
"layout:section:Statistics:summary", __statisticsSummary,
"layout:section:Ray Depth:summary", __rayDepthSummary,
"layout:section:Ray Length:summary", __rayLengthSummary,
"layout:section:Texturing:summary", __texturingSummary,
"layout:section:Network Cache:summary", __networkCacheSummary,
"layout:section:Licensing:summary", __licensingSummary,
Expand Down Expand Up @@ -177,6 +224,19 @@ def __licensingSummary( plug ) :

],

"options.renderAtLowPriority" : [

"description",
"""
Causes 3Delight to render at a lower thread priority. This
can make other applications running at the same time more
responsive.
""",

"layout:section", "Rendering",

],

# Quality

"options.oversampling" : [
Expand Down Expand Up @@ -206,6 +266,108 @@ def __licensingSummary( plug ) :

],

"options.volumeSamples" : [

"description",
"""
The number of samples to take when evaluating volumes.
""",

"layout:section", "Quality",

],

"options.clampIndirect" : [

"description",
"""
The maximum value to clamp indirect light rays to.
""",

"layout:section", "Quality",

],

# Features

"options.showDisplacement" : [

"description",
"""
Enables or disables displacement in the entire scene.
""",

"layout:section", "Features",

],

"options.showSubsurface" : [

"description",
"""
Enables or disables subsurface shading in the entire scene.
""",

"layout:section", "Features",

],

"options.showAtmosphere" : [

"description",
"""
Enables or disables atmosphere shading in the entire scene.
""",

"layout:section", "Features",

],

"options.showMultipleScattering" : [

"description",
"""
Enables or disables multiple scattering shading in the entire scene.
""",

"layout:section", "Features",

],

# Statistics

"options.showProgress" : [

"description",
"""
Causes the percentage of pixels rendered to be output
during rendering.
""",

"layout:section", "Statistics",

],

"options.statisticsFileName" : [

"description",
"""
The path to the file where render statistics will be written.
Using an empty value will output statistics to the terminal.
A value of \"null\" will disable statistics output.
""",

"layout:section", "Statistics",

],

"options.statisticsFileName.value" : [

"plugValueWidget:type", "GafferUI.FileSystemPathPlugValueWidget",
"path:leaf", True,

],

# Ray Depth

"options.maximumRayDepthDiffuse" : [
Expand Down Expand Up @@ -264,6 +426,100 @@ def __licensingSummary( plug ) :

],

"options.maximumRayDepthVolume" : [

"description",
"""
The maximum bounce depth a volume ray can reach.
""",

"layout:section", "Ray Depth",
"label", "Volume",

],

# Ray Length

"options.maximumRayLengthDiffuse" : [

"description",
"""
The maximum distance a ray emitted from a diffuse material
can travel. Using a relatively low value may improve performance
without significant image effects by limiting the effect of global
illumination. Setting it to a negative value disables the limit.
""",

"layout:section", "Ray Length",
"label", "Diffuse",

],

"options.maximumRayLengthHair" : [

"description",
"""
The maximum distance a ray emitted from a hair shader can travel.
Setting it to a negative value disables the limit.
""",

"layout:section", "Ray Length",
"label", "Hair",

],

"options.maximumRayLengthReflection" : [

"description",
"""
The maximum distance a reflection ray can travel.
Setting it to a negative value disables the limit.
""",

"layout:section", "Ray Length",
"label", "Reflection",

],

"options.maximumRayLengthRefraction" : [

"description",
"""
The maximum distance a refraction ray can travel.
Setting it to a negative value disables the limit.
""",

"layout:section", "Ray Length",
"label", "Refraction",

],

"options.maximumRayLengthSpecular" : [

"description",
"""
The maximum distance a specular ray can travel.
Setting it to a negative value disables the limit.
""",

"layout:section", "Ray Length",
"label", "Specular",

],

"options.maximumRayLengthVolume" : [

"description",
"""
The maximum distance a volume ray can travel.
Setting it to a negative value disables the limit.
""",

"layout:section", "Ray Length",
"label", "Volume",

],

# Texturing

"options.textureMemory" : [
Expand Down
Loading

0 comments on commit b81ba3d

Please sign in to comment.