@tushar-br/editing-pack 1.0.195 → 1.0.197
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/staging_area/Blender/cycles_kernel_oneapi_aot.dll +0 -0
- package/staging_area/Blender/blender.shared/shaderc_shared.dll +0 -0
- package/staging_area/Blender/blender.shared/sndfile.dll +0 -0
- package/staging_area/Blender/blender.shared/swresample-5.dll +0 -0
- package/staging_area/Blender/blender.shared/swscale-8.dll +0 -0
- package/staging_area/Blender/blender.shared/sycl8.dll +0 -0
- package/staging_area/Blender/blender.shared/tbb12.dll +0 -0
- package/staging_area/Blender/blender.shared/tbbmalloc.dll +0 -0
- package/staging_area/Blender/blender.shared/tbbmalloc_proxy.dll +0 -0
- package/staging_area/Blender/blender.shared/ur_adapter_level_zero.dll +0 -0
- package/staging_area/Blender/blender.shared/ur_adapter_level_zerod.dll +0 -0
- package/staging_area/Blender/blender.shared/ur_loader.dll +0 -0
- package/staging_area/Blender/blender.shared/ur_loaderd.dll +0 -0
- package/staging_area/Blender/blender.shared/ur_win_proxy_loader.dll +0 -0
- package/staging_area/Blender/blender.shared/ur_win_proxy_loaderd.dll +0 -0
- package/staging_area/Blender/blender.shared/usd/ar/resources/plugInfo.json +0 -23
- package/staging_area/Blender/blender.shared/usd/esf/resources/plugInfo.json +0 -15
- package/staging_area/Blender/blender.shared/usd/esfUsd/resources/plugInfo.json +0 -15
- package/staging_area/Blender/blender.shared/usd/exec/resources/plugInfo.json +0 -15
- package/staging_area/Blender/blender.shared/usd/execGeom/resources/plugInfo.json +0 -23
- package/staging_area/Blender/blender.shared/usd/execUsd/resources/plugInfo.json +0 -15
- package/staging_area/Blender/blender.shared/usd/glf/resources/plugInfo.json +0 -14
- package/staging_area/Blender/blender.shared/usd/glf/resources/shaders/pcfShader.glslfx +0 -124
- package/staging_area/Blender/blender.shared/usd/glf/resources/shaders/simpleLighting.glslfx +0 -543
- package/staging_area/Blender/blender.shared/usd/hd/resources/codegenTemplates/schemaClass.cpp +0 -265
- package/staging_area/Blender/blender.shared/usd/hd/resources/codegenTemplates/schemaClass.h +0 -310
- package/staging_area/Blender/blender.shared/usd/hd/resources/plugInfo.json +0 -12
- package/staging_area/Blender/blender.shared/usd/hdGp/resources/plugInfo.json +0 -24
- package/staging_area/Blender/blender.shared/usd/hdSt/resources/plugInfo.json +0 -76
- package/staging_area/Blender/blender.shared/usd/hdSt/resources/shaders/basisCurves.glslfx +0 -1365
- package/staging_area/Blender/blender.shared/usd/hdSt/resources/shaders/compute.glslfx +0 -439
- package/staging_area/Blender/blender.shared/usd/hdSt/resources/shaders/domeLight.glslfx +0 -280
- package/staging_area/Blender/blender.shared/usd/hdSt/resources/shaders/edgeId.glslfx +0 -237
- package/staging_area/Blender/blender.shared/usd/hdSt/resources/shaders/fallbackLighting.glslfx +0 -59
- package/staging_area/Blender/blender.shared/usd/hdSt/resources/shaders/fallbackLightingShader.glslfx +0 -27
- package/staging_area/Blender/blender.shared/usd/hdSt/resources/shaders/fallbackMaterialNetwork.glslfx +0 -47
- package/staging_area/Blender/blender.shared/usd/hdSt/resources/shaders/fallbackVolume.glslfx +0 -97
- package/staging_area/Blender/blender.shared/usd/hdSt/resources/shaders/frustumCull.glslfx +0 -448
- package/staging_area/Blender/blender.shared/usd/hdSt/resources/shaders/imageShader.glslfx +0 -103
- package/staging_area/Blender/blender.shared/usd/hdSt/resources/shaders/instancing.glslfx +0 -217
- package/staging_area/Blender/blender.shared/usd/hdSt/resources/shaders/invalidMaterialNetwork.glslfx +0 -53
- package/staging_area/Blender/blender.shared/usd/hdSt/resources/shaders/mesh.glslfx +0 -1519
- package/staging_area/Blender/blender.shared/usd/hdSt/resources/shaders/meshFaceCull.glslfx +0 -40
- package/staging_area/Blender/blender.shared/usd/hdSt/resources/shaders/meshNormal.glslfx +0 -201
- package/staging_area/Blender/blender.shared/usd/hdSt/resources/shaders/meshWire.glslfx +0 -326
- package/staging_area/Blender/blender.shared/usd/hdSt/resources/shaders/overlayShader.glslfx +0 -66
- package/staging_area/Blender/blender.shared/usd/hdSt/resources/shaders/pointDisk.glslfx +0 -103
- package/staging_area/Blender/blender.shared/usd/hdSt/resources/shaders/pointId.glslfx +0 -87
- package/staging_area/Blender/blender.shared/usd/hdSt/resources/shaders/points.glslfx +0 -155
- package/staging_area/Blender/blender.shared/usd/hdSt/resources/shaders/ptexTexture.glslfx +0 -371
- package/staging_area/Blender/blender.shared/usd/hdSt/resources/shaders/renderPass.glslfx +0 -319
- package/staging_area/Blender/blender.shared/usd/hdSt/resources/shaders/renderPassShader.glslfx +0 -53
- package/staging_area/Blender/blender.shared/usd/hdSt/resources/shaders/simpleLightingShader.glslfx +0 -41
- package/staging_area/Blender/blender.shared/usd/hdSt/resources/shaders/surfaceHelpers.glslfx +0 -80
- package/staging_area/Blender/blender.shared/usd/hdSt/resources/shaders/terminals.glslfx +0 -458
- package/staging_area/Blender/blender.shared/usd/hdSt/resources/shaders/visibility.glslfx +0 -80
- package/staging_area/Blender/blender.shared/usd/hdSt/resources/shaders/volume.glslfx +0 -631
- package/staging_area/Blender/blender.shared/usd/hdSt/resources/textures/fallbackBlackDomeLight.png +0 -0
- package/staging_area/Blender/blender.shared/usd/hdStorm/resources/plugInfo.json +0 -22
- package/staging_area/Blender/blender.shared/usd/hdsi/resources/plugInfo.json +0 -20
- package/staging_area/Blender/blender.shared/usd/hdx/resources/plugInfo.json +0 -14
- package/staging_area/Blender/blender.shared/usd/hdx/resources/shaders/boundingBox.glslfx +0 -52
- package/staging_area/Blender/blender.shared/usd/hdx/resources/shaders/colorChannel.glslfx +0 -53
- package/staging_area/Blender/blender.shared/usd/hdx/resources/shaders/colorCorrection.glslfx +0 -57
- package/staging_area/Blender/blender.shared/usd/hdx/resources/shaders/fullscreen.glslfx +0 -48
- package/staging_area/Blender/blender.shared/usd/hdx/resources/shaders/oitResolveImageShader.glslfx +0 -93
- package/staging_area/Blender/blender.shared/usd/hdx/resources/shaders/outline.glslfx +0 -138
- package/staging_area/Blender/blender.shared/usd/hdx/resources/shaders/renderPass.glslfx +0 -405
- package/staging_area/Blender/blender.shared/usd/hdx/resources/shaders/renderPassColorAndSelectionShader.glslfx +0 -56
- package/staging_area/Blender/blender.shared/usd/hdx/resources/shaders/renderPassColorShader.glslfx +0 -55
- package/staging_area/Blender/blender.shared/usd/hdx/resources/shaders/renderPassColorWithOccludedSelectionShader.glslfx +0 -55
- package/staging_area/Blender/blender.shared/usd/hdx/resources/shaders/renderPassOitOpaqueShader.glslfx +0 -53
- package/staging_area/Blender/blender.shared/usd/hdx/resources/shaders/renderPassOitShader.glslfx +0 -54
- package/staging_area/Blender/blender.shared/usd/hdx/resources/shaders/renderPassOitVolumeShader.glslfx +0 -53
- package/staging_area/Blender/blender.shared/usd/hdx/resources/shaders/renderPassPickingShader.glslfx +0 -51
- package/staging_area/Blender/blender.shared/usd/hdx/resources/shaders/renderPassShadowShader.glslfx +0 -53
- package/staging_area/Blender/blender.shared/usd/hdx/resources/shaders/selection.glslfx +0 -476
- package/staging_area/Blender/blender.shared/usd/hdx/resources/shaders/skydome.glslfx +0 -46
- package/staging_area/Blender/blender.shared/usd/hdx/resources/shaders/visualize.glslfx +0 -107
- package/staging_area/Blender/blender.shared/usd/hdx/resources/textures/StinsonBeach.hdr +0 -0
- package/staging_area/Blender/blender.shared/usd/hdx/resources/textures/StinsonBeach.tex +0 -0
- package/staging_area/Blender/blender.shared/usd/hgiGL/resources/plugInfo.json +0 -18
- package/staging_area/Blender/blender.shared/usd/hgiVulkan/resources/plugInfo.json +0 -18
- package/staging_area/Blender/blender.shared/usd/hio/resources/plugInfo.json +0 -25
- package/staging_area/Blender/blender.shared/usd/hioOiio/resources/plugInfo.json +0 -20
- package/staging_area/Blender/blender.shared/usd/hioOpenVDB/resources/plugInfo.json +0 -20
- package/staging_area/Blender/blender.shared/usd/plugInfo.json +0 -5
- package/staging_area/Blender/blender.shared/usd/sdf/resources/plugInfo.json +0 -94
- package/staging_area/Blender/blender.shared/usd/sdr/resources/plugInfo.json +0 -21
- package/staging_area/Blender/blender.shared/usd/usd/resources/codegenTemplates/CMakeLists.txt +0 -15
- package/staging_area/Blender/blender.shared/usd/usd/resources/codegenTemplates/__init__.py +0 -10
- package/staging_area/Blender/blender.shared/usd/usd/resources/codegenTemplates/api.h +0 -30
- package/staging_area/Blender/blender.shared/usd/usd/resources/codegenTemplates/generatedSchema.classes.txt +0 -16
- package/staging_area/Blender/blender.shared/usd/usd/resources/codegenTemplates/generatedSchema.module.h +0 -11
- package/staging_area/Blender/blender.shared/usd/usd/resources/codegenTemplates/module.cpp +0 -18
- package/staging_area/Blender/blender.shared/usd/usd/resources/codegenTemplates/moduleDeps.cpp +0 -27
- package/staging_area/Blender/blender.shared/usd/usd/resources/codegenTemplates/plugInfo.json +0 -15
- package/staging_area/Blender/blender.shared/usd/usd/resources/codegenTemplates/schema.usda +0 -12
- package/staging_area/Blender/blender.shared/usd/usd/resources/codegenTemplates/schemaClass.cpp +0 -438
- package/staging_area/Blender/blender.shared/usd/usd/resources/codegenTemplates/schemaClass.h +0 -489
- package/staging_area/Blender/blender.shared/usd/usd/resources/codegenTemplates/schemaUserDoc.usda +0 -20
- package/staging_area/Blender/blender.shared/usd/usd/resources/codegenTemplates/tokens.cpp +0 -30
- package/staging_area/Blender/blender.shared/usd/usd/resources/codegenTemplates/tokens.h +0 -74
- package/staging_area/Blender/blender.shared/usd/usd/resources/codegenTemplates/wrapSchemaClass.cpp +0 -328
- package/staging_area/Blender/blender.shared/usd/usd/resources/codegenTemplates/wrapTokens.cpp +0 -25
- package/staging_area/Blender/blender.shared/usd/usd/resources/generatedSchema.usda +0 -146
- package/staging_area/Blender/blender.shared/usd/usd/resources/plugInfo.json +0 -125
- package/staging_area/Blender/blender.shared/usd/usd/resources/usd/schema.usda +0 -538
- package/staging_area/Blender/blender.shared/usd/usdGeom/resources/generatedSchema.usda +0 -2689
- package/staging_area/Blender/blender.shared/usd/usdGeom/resources/plugInfo.json +0 -433
- package/staging_area/Blender/blender.shared/usd/usdGeom/resources/usdGeom/schema.usda +0 -2775
- package/staging_area/Blender/blender.shared/usd/usdGeomValidators/resources/plugInfo.json +0 -39
- package/staging_area/Blender/blender.shared/usd/usdHydra/resources/generatedSchema.usda +0 -28
- package/staging_area/Blender/blender.shared/usd/usdHydra/resources/plugInfo.json +0 -38
- package/staging_area/Blender/blender.shared/usd/usdHydra/resources/shaders/empty.glslfx +0 -18
- package/staging_area/Blender/blender.shared/usd/usdHydra/resources/shaders/shaderDefs.usda +0 -252
- package/staging_area/Blender/blender.shared/usd/usdHydra/resources/usdHydra/schema.usda +0 -201
- package/staging_area/Blender/blender.shared/usd/usdImaging/resources/plugInfo.json +0 -340
- package/staging_area/Blender/blender.shared/usd/usdImagingGL/resources/plugInfo.json +0 -12
- package/staging_area/Blender/blender.shared/usd/usdLux/resources/generatedSchema.usda +0 -1165
- package/staging_area/Blender/blender.shared/usd/usdLux/resources/plugInfo.json +0 -266
- package/staging_area/Blender/blender.shared/usd/usdLux/resources/usdLux/schema.usda +0 -1511
- package/staging_area/Blender/blender.shared/usd/usdMedia/resources/generatedSchema.usda +0 -95
- package/staging_area/Blender/blender.shared/usd/usdMedia/resources/plugInfo.json +0 -40
- package/staging_area/Blender/blender.shared/usd/usdMedia/resources/usdMedia/schema.usda +0 -214
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/generatedSchema.usda +0 -20
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/bxdf/disney_principled.mtlx +0 -140
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/bxdf/gltf_pbr.mtlx +0 -695
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/bxdf/lama/lama_add.mtlx +0 -52
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/bxdf/lama/lama_conductor.mtlx +0 -123
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/bxdf/lama/lama_dielectric.mtlx +0 -163
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/bxdf/lama/lama_diffuse.mtlx +0 -45
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/bxdf/lama/lama_emission.mtlx +0 -20
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/bxdf/lama/lama_generalized_schlick.mtlx +0 -172
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/bxdf/lama/lama_iridescence.mtlx +0 -103
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/bxdf/lama/lama_layer.mtlx +0 -27
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/bxdf/lama/lama_mix.mtlx +0 -41
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/bxdf/lama/lama_sheen.mtlx +0 -41
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/bxdf/lama/lama_sss.mtlx +0 -60
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/bxdf/lama/lama_surface.mtlx +0 -28
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/bxdf/lama/lama_translucent.mtlx +0 -22
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/bxdf/open_pbr_surface.mtlx +0 -676
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/bxdf/standard_surface.mtlx +0 -431
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/bxdf/translation/open_pbr_to_standard_surface.mtlx +0 -362
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/bxdf/translation/standard_surface_to_gltf_pbr.mtlx +0 -166
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/bxdf/translation/standard_surface_to_open_pbr.mtlx +0 -309
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/bxdf/translation/standard_surface_to_usd.mtlx +0 -128
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/bxdf/usd_preview_surface.mtlx +0 -438
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/cmlib/cmlib_defs.mtlx +0 -110
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/cmlib/cmlib_ng.mtlx +0 -392
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/lights/genglsl/lights_genglsl_impl.mtlx +0 -13
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/lights/genglsl/mx_directional_light.glsl +0 -5
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/lights/genglsl/mx_point_light.glsl +0 -8
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/lights/genglsl/mx_spot_light.glsl +0 -13
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/lights/genmsl/lights_genmsl_impl.mtlx +0 -13
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/lights/genmsl/mx_directional_light.metal +0 -5
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/lights/genmsl/mx_point_light.metal +0 -8
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/lights/genmsl/mx_spot_light.metal +0 -13
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/lights/lights_defs.mtlx +0 -53
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/mdl/materialx/core.mdl +0 -206
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/mdl/materialx/hsv.mdl +0 -80
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/mdl/materialx/noise.mdl +0 -759
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/mdl/materialx/pbrlib.mdl +0 -30
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/mdl/materialx/pbrlib_1_10.mdl +0 -234
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/mdl/materialx/pbrlib_1_6.mdl +0 -1083
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/mdl/materialx/pbrlib_1_7.mdl +0 -265
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/mdl/materialx/pbrlib_1_8.mdl +0 -36
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/mdl/materialx/pbrlib_1_9.mdl +0 -373
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/mdl/materialx/sampling.mdl +0 -182
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/mdl/materialx/stdlib.mdl +0 -18
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/mdl/materialx/stdlib_1_10.mdl +0 -18
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/mdl/materialx/stdlib_1_6.mdl +0 -4474
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/mdl/materialx/stdlib_1_7.mdl +0 -18
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/mdl/materialx/stdlib_1_8.mdl +0 -444
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/mdl/materialx/stdlib_1_9.mdl +0 -388
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/nprlib/genglsl/nprlib_genglsl_impl.mtlx +0 -17
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/nprlib/genmdl/nprlib_genmdl_impl.mtlx +0 -17
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/nprlib/genmsl/nprlib_genmsl_impl.mtlx +0 -17
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/nprlib/genosl/nprlib_genosl_impl.mtlx +0 -17
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/nprlib/nprlib_defs.mtlx +0 -55
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/nprlib/nprlib_ng.mtlx +0 -114
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/lib/mx_closure_type.glsl +0 -17
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/lib/mx_environment_fis.glsl +0 -69
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/lib/mx_environment_none.glsl +0 -11
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/lib/mx_environment_prefilter.glsl +0 -30
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/lib/mx_generate_albedo_table.glsl +0 -10
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/lib/mx_generate_prefilter_env.glsl +0 -66
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/lib/mx_microfacet.glsl +0 -106
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/lib/mx_microfacet_diffuse.glsl +0 -199
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/lib/mx_microfacet_sheen.glsl +0 -189
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/lib/mx_microfacet_specular.glsl +0 -510
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/lib/mx_shadow.glsl +0 -23
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/lib/mx_transmission_opacity.glsl +0 -6
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/lib/mx_transmission_refract.glsl +0 -14
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/mx_add_bsdf.glsl +0 -7
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/mx_add_edf.glsl +0 -6
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/mx_anisotropic_vdf.glsl +0 -6
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/mx_artistic_ior.glsl +0 -17
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/mx_blackbody.glsl +0 -48
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/mx_burley_diffuse_bsdf.glsl +0 -33
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/mx_chiang_hair_bsdf.glsl +0 -291
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/mx_conductor_bsdf.glsl +0 -51
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/mx_dielectric_bsdf.glsl +0 -73
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/mx_displacement_float.glsl +0 -5
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/mx_displacement_vector3.glsl +0 -5
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/mx_generalized_schlick_bsdf.glsl +0 -80
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/mx_generalized_schlick_edf.glsl +0 -13
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/mx_layer_bsdf.glsl +0 -7
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/mx_layer_vdf.glsl +0 -7
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/mx_mix_bsdf.glsl +0 -7
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/mx_mix_edf.glsl +0 -6
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/mx_multiply_bsdf_color3.glsl +0 -8
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/mx_multiply_bsdf_float.glsl +0 -8
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/mx_multiply_edf_color3.glsl +0 -6
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/mx_multiply_edf_float.glsl +0 -6
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/mx_oren_nayar_diffuse_bsdf.glsl +0 -37
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/mx_roughness_anisotropy.glsl +0 -15
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/mx_roughness_dual.glsl +0 -9
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/mx_sheen_bsdf.glsl +0 -60
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/mx_subsurface_bsdf.glsl +0 -33
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/mx_translucent_bsdf.glsl +0 -28
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/mx_uniform_edf.glsl +0 -9
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genglsl/pbrlib_genglsl_impl.mtlx +0 -89
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genmdl/pbrlib_genmdl_impl.mtlx +0 -105
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genmsl/pbrlib_genmsl_impl.mtlx +0 -10
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genosl/lib/mx_microfacet.osl +0 -78
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genosl/mx_anisotropic_vdf.osl +0 -8
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genosl/mx_artistic_ior.osl +0 -17
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genosl/mx_blackbody.osl +0 -49
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genosl/mx_chiang_hair_bsdf.osl +0 -12
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genosl/mx_chiang_hair_roughness.osl +0 -7
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genosl/mx_dielectric_bsdf.osl +0 -6
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genosl/mx_generalized_schlick_bsdf.osl +0 -6
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genosl/mx_generalized_schlick_edf.osl +0 -8
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genosl/mx_roughness_anisotropy.osl +0 -15
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genosl/mx_roughness_dual.osl +0 -12
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genosl/mx_subsurface_bsdf.osl +0 -8
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genosl/mx_surface.osl +0 -6
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/genosl/pbrlib_genosl_impl.mtlx +0 -86
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/pbrlib_defs.mtlx +0 -462
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/pbrlib/pbrlib_ng.mtlx +0 -22
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/lib/mx_hsv.glsl +0 -91
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/lib/mx_math.glsl +0 -35
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/lib/mx_noise.glsl +0 -707
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/lib/mx_sampling.glsl +0 -91
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/lib/mx_transform_uv.glsl +0 -5
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/lib/mx_transform_uv_vflip.glsl +0 -5
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_aastep.glsl +0 -5
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_burn_color3.glsl +0 -9
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_burn_color4.glsl +0 -10
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_burn_float.glsl +0 -9
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_cellnoise2d_float.glsl +0 -6
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_cellnoise3d_float.glsl +0 -6
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_creatematrix_vector3_matrix33.glsl +0 -6
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_creatematrix_vector3_matrix44.glsl +0 -7
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_creatematrix_vector4_matrix44.glsl +0 -7
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_disjointover_color4.glsl +0 -25
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_dodge_color3.glsl +0 -9
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_dodge_color4.glsl +0 -10
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_dodge_float.glsl +0 -9
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_fractal3d_float.glsl +0 -7
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_fractal3d_vector2.glsl +0 -7
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_fractal3d_vector3.glsl +0 -7
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_fractal3d_vector4.glsl +0 -7
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_hsvtorgb_color3.glsl +0 -6
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_hsvtorgb_color4.glsl +0 -6
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_image_color3.glsl +0 -7
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_image_color4.glsl +0 -7
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_image_float.glsl +0 -7
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_image_vector2.glsl +0 -7
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_image_vector3.glsl +0 -7
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_image_vector4.glsl +0 -7
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_luminance_color3.glsl +0 -4
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_luminance_color4.glsl +0 -4
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_mix_surfaceshader.glsl +0 -5
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_noise2d_float.glsl +0 -7
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_noise2d_vector2.glsl +0 -7
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_noise2d_vector3.glsl +0 -7
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_noise2d_vector4.glsl +0 -8
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_noise3d_float.glsl +0 -7
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_noise3d_vector2.glsl +0 -7
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_noise3d_vector3.glsl +0 -7
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_noise3d_vector4.glsl +0 -8
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_normalmap.glsl +0 -13
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_premult_color4.glsl +0 -4
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_ramplr_float.glsl +0 -4
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_ramplr_vector2.glsl +0 -4
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_ramplr_vector3.glsl +0 -4
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_ramplr_vector4.glsl +0 -4
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_ramptb_float.glsl +0 -4
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_ramptb_vector2.glsl +0 -4
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_ramptb_vector3.glsl +0 -4
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_ramptb_vector4.glsl +0 -4
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_rgbtohsv_color3.glsl +0 -6
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_rgbtohsv_color4.glsl +0 -6
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_rotate_vector2.glsl +0 -7
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_rotate_vector3.glsl +0 -19
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_smoothstep_float.glsl +0 -9
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_splitlr_float.glsl +0 -6
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_splitlr_vector2.glsl +0 -6
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_splitlr_vector3.glsl +0 -6
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_splitlr_vector4.glsl +0 -6
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_splittb_float.glsl +0 -6
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_splittb_vector2.glsl +0 -6
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_splittb_vector3.glsl +0 -6
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_splittb_vector4.glsl +0 -6
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_transformmatrix_vector2M3.glsl +0 -5
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_transformmatrix_vector3M4.glsl +0 -5
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_unpremult_color4.glsl +0 -4
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_worleynoise2d_float.glsl +0 -6
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_worleynoise2d_vector2.glsl +0 -6
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_worleynoise2d_vector3.glsl +0 -6
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_worleynoise3d_float.glsl +0 -6
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_worleynoise3d_vector2.glsl +0 -6
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/mx_worleynoise3d_vector3.glsl +0 -6
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genglsl/stdlib_genglsl_impl.mtlx +0 -756
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genmdl/stdlib_genmdl_impl.mtlx +0 -762
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genmsl/lib/mx_math.metal +0 -129
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genmsl/lib/mx_matscalaroperators.metal +0 -55
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genmsl/lib/mx_sampling.metal +0 -91
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genmsl/lib/mx_texture.metal +0 -25
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genmsl/stdlib_genmsl_impl.mtlx +0 -160
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/include/color4.h +0 -332
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/include/matrix33.h +0 -161
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/include/mx_funcs.h +0 -673
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/include/vector2.h +0 -333
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/include/vector4.h +0 -424
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/lib/mx_sampling.osl +0 -150
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/lib/mx_transform_uv.osl +0 -4
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/lib/mx_transform_uv_vflip.osl +0 -4
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_burn_color3.osl +0 -8
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_burn_color4.osl +0 -9
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_burn_float.osl +0 -9
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_cellnoise2d_float.osl +0 -4
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_cellnoise3d_float.osl +0 -4
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_creatematrix.osl +0 -23
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_disjointover_color4.osl +0 -25
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_dodge_color3.osl +0 -8
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_dodge_color4.osl +0 -9
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_dodge_float.osl +0 -9
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_fractal3d_float.osl +0 -5
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_fractal3d_vector2.osl +0 -5
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_fractal3d_vector3.osl +0 -5
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_fractal3d_vector4.osl +0 -5
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_frame_float.osl +0 -4
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_geomcolor_color3.osl +0 -4
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_geomcolor_color4.osl +0 -9
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_geomcolor_float.osl +0 -4
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_geompropvalue_boolean.osl +0 -5
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_geompropvalue_color3.osl +0 -5
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_geompropvalue_color4.osl +0 -16
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_geompropvalue_float.osl +0 -7
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_geompropvalue_integer.osl +0 -5
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_geompropvalue_string.osl +0 -5
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_geompropvalue_vector2.osl +0 -13
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_geompropvalue_vector3.osl +0 -5
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_geompropvalue_vector4.osl +0 -15
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_heighttonormal_vector3.osl +0 -8
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_hsvtorgb_color3.osl +0 -4
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_hsvtorgb_color4.osl +0 -4
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_image_color3.osl +0 -20
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_image_color4.osl +0 -24
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_image_float.osl +0 -20
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_image_vector2.osl +0 -21
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_image_vector3.osl +0 -19
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_image_vector4.osl +0 -23
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_luminance_color3.osl +0 -4
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_luminance_color4.osl +0 -4
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_mix_surfaceshader.osl +0 -6
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_noise2d_float.osl +0 -5
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_noise2d_vector2.osl +0 -5
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_noise2d_vector3.osl +0 -5
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_noise2d_vector4.osl +0 -5
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_noise3d_float.osl +0 -5
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_noise3d_vector2.osl +0 -5
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_noise3d_vector3.osl +0 -5
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_noise3d_vector4.osl +0 -5
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_normalmap.osl +0 -24
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_premult_color4.osl +0 -4
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_rgbtohsv_color3.osl +0 -4
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_rgbtohsv_color4.osl +0 -4
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_rotate_vector2.osl +0 -7
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_rotate_vector3.osl +0 -20
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_surface_unlit.osl +0 -7
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_time_float.osl +0 -6
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_transformmatrix_vector2M3.osl +0 -6
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_unpremult_color4.osl +0 -4
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_worleynoise2d_float.osl +0 -4
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_worleynoise2d_vector2.osl +0 -4
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_worleynoise2d_vector3.osl +0 -4
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_worleynoise3d_float.osl +0 -4
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_worleynoise3d_vector2.osl +0 -4
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/mx_worleynoise3d_vector3.osl +0 -4
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/genosl/stdlib_genosl_impl.mtlx +0 -752
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/stdlib_defs.mtlx +0 -4942
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/stdlib/stdlib_ng.mtlx +0 -6232
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/targets/essl.mtlx +0 -14
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/targets/genglsl.mtlx +0 -14
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/targets/genmdl.mtlx +0 -14
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/targets/genmsl.mtlx +0 -14
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/libraries/targets/genosl.mtlx +0 -14
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/plugInfo.json +0 -58
- package/staging_area/Blender/blender.shared/usd/usdMtlx/resources/usdMtlx/schema.usda +0 -42
- package/staging_area/Blender/blender.shared/usd/usdPhysics/resources/generatedSchema.usda +0 -926
- package/staging_area/Blender/blender.shared/usd/usdPhysics/resources/plugInfo.json +0 -215
- package/staging_area/Blender/blender.shared/usd/usdPhysics/resources/usdPhysics/schema.usda +0 -879
- package/staging_area/Blender/blender.shared/usd/usdPhysicsValidators/resources/plugInfo.json +0 -54
- package/staging_area/Blender/blender.shared/usd/usdProc/resources/generatedSchema.usda +0 -57
- package/staging_area/Blender/blender.shared/usd/usdProc/resources/plugInfo.json +0 -29
- package/staging_area/Blender/blender.shared/usd/usdProc/resources/usdProc/schema.usda +0 -45
- package/staging_area/Blender/blender.shared/usd/usdProcImaging/resources/plugInfo.json +0 -22
- package/staging_area/Blender/blender.shared/usd/usdRender/resources/generatedSchema.usda +0 -335
- package/staging_area/Blender/blender.shared/usd/usdRender/resources/plugInfo.json +0 -80
- package/staging_area/Blender/blender.shared/usd/usdRender/resources/usdRender/schema.usda +0 -436
- package/staging_area/Blender/blender.shared/usd/usdRi/resources/generatedSchema.usda +0 -38
- package/staging_area/Blender/blender.shared/usd/usdRi/resources/plugInfo.json +0 -51
- package/staging_area/Blender/blender.shared/usd/usdRi/resources/usdRi/schema.usda +0 -157
- package/staging_area/Blender/blender.shared/usd/usdRiPxrImaging/resources/plugInfo.json +0 -53
- package/staging_area/Blender/blender.shared/usd/usdSemantics/resources/generatedSchema.usda +0 -19
- package/staging_area/Blender/blender.shared/usd/usdSemantics/resources/plugInfo.json +0 -29
- package/staging_area/Blender/blender.shared/usd/usdSemantics/resources/usdSemantics/schema.usda +0 -36
- package/staging_area/Blender/blender.shared/usd/usdShade/resources/generatedSchema.usda +0 -112
- package/staging_area/Blender/blender.shared/usd/usdShade/resources/plugInfo.json +0 -145
- package/staging_area/Blender/blender.shared/usd/usdShade/resources/usdShade/schema.usda +0 -595
- package/staging_area/Blender/blender.shared/usd/usdShadeValidators/resources/plugInfo.json +0 -63
- package/staging_area/Blender/blender.shared/usd/usdShaders/resources/plugInfo.json +0 -22
- package/staging_area/Blender/blender.shared/usd/usdShaders/resources/shaders/previewSurface.glslfx +0 -498
- package/staging_area/Blender/blender.shared/usd/usdShaders/resources/shaders/primvarReader.glslfx +0 -18
- package/staging_area/Blender/blender.shared/usd/usdShaders/resources/shaders/shaderDefs.usda +0 -475
- package/staging_area/Blender/blender.shared/usd/usdShaders/resources/shaders/transform2d.glslfx +0 -18
- package/staging_area/Blender/blender.shared/usd/usdShaders/resources/shaders/uvTexture.glslfx +0 -18
- package/staging_area/Blender/blender.shared/usd/usdSkel/resources/generatedSchema.usda +0 -249
- package/staging_area/Blender/blender.shared/usd/usdSkel/resources/plugInfo.json +0 -86
- package/staging_area/Blender/blender.shared/usd/usdSkel/resources/usdSkel/schema.usda +0 -289
- package/staging_area/Blender/blender.shared/usd/usdSkelImaging/resources/plugInfo.json +0 -57
- package/staging_area/Blender/blender.shared/usd/usdSkelImaging/resources/shaders/skinning.glslfx +0 -265
- package/staging_area/Blender/blender.shared/usd/usdSkelValidators/resources/plugInfo.json +0 -27
- package/staging_area/Blender/blender.shared/usd/usdUI/resources/generatedSchema.usda +0 -123
- package/staging_area/Blender/blender.shared/usd/usdUI/resources/plugInfo.json +0 -62
- package/staging_area/Blender/blender.shared/usd/usdUI/resources/usdUI/schema.usda +0 -288
- package/staging_area/Blender/blender.shared/usd/usdUtilsValidators/resources/plugInfo.json +0 -45
- package/staging_area/Blender/blender.shared/usd/usdValidation/resources/plugInfo.json +0 -24
- package/staging_area/Blender/blender.shared/usd/usdVol/resources/generatedSchema.usda +0 -340
- package/staging_area/Blender/blender.shared/usd/usdVol/resources/plugInfo.json +0 -73
- package/staging_area/Blender/blender.shared/usd/usdVol/resources/usdVol/schema.usda +0 -144
- package/staging_area/Blender/blender.shared/usd/usdVolImaging/resources/plugInfo.json +0 -29
|
@@ -1,1083 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2020, NVIDIA CORPORATION. All rights reserved.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
// MDL implementation of all types and nodes of
|
|
18
|
-
// MaterialX Physically-Based Shading Nodes
|
|
19
|
-
// Document v1.37 REV2, July 16, 2019 (Revised October 17, 2019)
|
|
20
|
-
// see www.materialx.org
|
|
21
|
-
// in
|
|
22
|
-
// NVIDIA Material Definition Language 1.6
|
|
23
|
-
// Language Specification
|
|
24
|
-
// Document version 1.6.1, December 16, 2019
|
|
25
|
-
// www.nvidia.com/mdl
|
|
26
|
-
|
|
27
|
-
mdl 1.6;
|
|
28
|
-
|
|
29
|
-
import ::anno::*;
|
|
30
|
-
import ::df::*;
|
|
31
|
-
import ::math::*;
|
|
32
|
-
import ::state::*;
|
|
33
|
-
|
|
34
|
-
import .::core::*;
|
|
35
|
-
|
|
36
|
-
// NOTE: We use the MDL material type to represent all PBS nodes of
|
|
37
|
-
// BSDF, EDF, VDF and other MaterialX material related types.
|
|
38
|
-
// To document, and possibly also support tool diagnostics, we
|
|
39
|
-
// use the ::anno::usage(string) annotation to document the
|
|
40
|
-
// true MaterialX type, only connections with equal usage
|
|
41
|
-
// annotations are correct MaterialX connections.
|
|
42
|
-
|
|
43
|
-
// NOTE: Geometric parameters like surface normal are specified in MDL internal
|
|
44
|
-
// space, which is the efficient and natural way for MDL.
|
|
45
|
-
// TODO: Check that the generator emits proper space transform conversion
|
|
46
|
-
// calls where needed
|
|
47
|
-
// TODO: Check how MaterialX unit handling works with this
|
|
48
|
-
// TODO: Check if scene_units_per_meter() is applicable as well, like for displacement
|
|
49
|
-
|
|
50
|
-
// NOTE: Some PBR nodes require multiple implementations with different
|
|
51
|
-
// parameter types. If those require a material type as result, we
|
|
52
|
-
// cannot use overlaods and must use different names. Examples are
|
|
53
|
-
// mix, add, multiply, and we include displacement for orthogonality.
|
|
54
|
-
|
|
55
|
-
// NOTE: Because of the BTDFs and the VDF below them, we have to take care
|
|
56
|
-
// of volumetric properties in the BSDF components as well. Since IOR
|
|
57
|
-
// is uniform in MDL, some nodes have a limitation on how IOR works.
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
// Enum selecting scatter mode, instead of string
|
|
61
|
-
export enum mx_scatter_mode {
|
|
62
|
-
mx_scatter_mode_R,
|
|
63
|
-
mx_scatter_mode_T,
|
|
64
|
-
mx_scatter_mode_RT
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
// Helper function mapping MaterialX scatter mode to MDL scatter_mode enum
|
|
68
|
-
export df::scatter_mode mx_map_scatter_mode(
|
|
69
|
-
mx_scatter_mode mode
|
|
70
|
-
) {
|
|
71
|
-
switch (mode) {
|
|
72
|
-
case mx_scatter_mode_R:
|
|
73
|
-
return df::scatter_reflect;
|
|
74
|
-
case mx_scatter_mode_T:
|
|
75
|
-
return df::scatter_transmit;
|
|
76
|
-
default:
|
|
77
|
-
return df::scatter_reflect_transmit;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
export enum mx_sheen_mode {
|
|
82
|
-
mx_sheen_mode_conty_kulla,
|
|
83
|
-
mx_sheen_mode_zeltner
|
|
84
|
-
};
|
|
85
|
-
|
|
86
|
-
export material mx_oren_nayar_diffuse_bsdf(
|
|
87
|
-
float mxp_weight = 1.0,
|
|
88
|
-
color mxp_color = color(0.18),
|
|
89
|
-
float mxp_roughness = 0.0,
|
|
90
|
-
float3 mxp_normal = state::normal(),
|
|
91
|
-
uniform bool mxp_energy_compensation = false [[ anno::unused() ]] // MDL 1.10
|
|
92
|
-
) [[
|
|
93
|
-
anno::usage( "materialx:bsdf")
|
|
94
|
-
]]
|
|
95
|
-
= material(
|
|
96
|
-
surface: material_surface(
|
|
97
|
-
scattering: df::weighted_layer(
|
|
98
|
-
weight: mxp_weight,
|
|
99
|
-
layer: df::diffuse_reflection_bsdf(
|
|
100
|
-
tint: mxp_color,
|
|
101
|
-
roughness: mxp_roughness
|
|
102
|
-
),
|
|
103
|
-
normal: mxp_normal
|
|
104
|
-
)
|
|
105
|
-
)
|
|
106
|
-
);
|
|
107
|
-
|
|
108
|
-
// NOTE: Approximate Burley with df::diffuse_reflection_bsdf, the difference isn't big
|
|
109
|
-
export material mx_burley_diffuse_bsdf(
|
|
110
|
-
float mxp_weight = 1.0,
|
|
111
|
-
color mxp_color = color(0.18),
|
|
112
|
-
float mxp_roughness = 0.0,
|
|
113
|
-
float3 mxp_normal = state::normal()
|
|
114
|
-
) [[
|
|
115
|
-
anno::usage( "materialx:bsdf")
|
|
116
|
-
]]
|
|
117
|
-
= material(
|
|
118
|
-
surface: material_surface(
|
|
119
|
-
scattering: df::weighted_layer(
|
|
120
|
-
weight: mxp_weight,
|
|
121
|
-
layer: df::diffuse_reflection_bsdf(
|
|
122
|
-
tint: mxp_color,
|
|
123
|
-
roughness: mxp_roughness
|
|
124
|
-
),
|
|
125
|
-
normal: mxp_normal
|
|
126
|
-
)
|
|
127
|
-
)
|
|
128
|
-
);
|
|
129
|
-
|
|
130
|
-
export material mx_translucent_bsdf(
|
|
131
|
-
float mxp_weight = 1.0,
|
|
132
|
-
color mxp_color = color(1.0),
|
|
133
|
-
float3 mxp_normal = state::normal()
|
|
134
|
-
) [[
|
|
135
|
-
anno::usage( "materialx:bsdf")
|
|
136
|
-
]]
|
|
137
|
-
= material(
|
|
138
|
-
surface: material_surface(
|
|
139
|
-
scattering: df::weighted_layer(
|
|
140
|
-
weight: mxp_weight,
|
|
141
|
-
layer: df::diffuse_transmission_bsdf(
|
|
142
|
-
tint: mxp_color
|
|
143
|
-
),
|
|
144
|
-
normal: mxp_normal
|
|
145
|
-
)
|
|
146
|
-
)
|
|
147
|
-
);
|
|
148
|
-
|
|
149
|
-
// TODO MDL 1.8
|
|
150
|
-
// * will add support for thin film above a color_custom_curve_layer node until then, thin_film will have no effect
|
|
151
|
-
// * thin_film(thickness: 0.0, ior: < 1.0) will be handled properly
|
|
152
|
-
export material mx_dielectric_bsdf(
|
|
153
|
-
float mxp_weight = 1.0,
|
|
154
|
-
color mxp_tint = color(1.0),
|
|
155
|
-
float mxp_ior = 1.5,
|
|
156
|
-
float2 mxp_roughness = float2(0.0),
|
|
157
|
-
float3 mxp_normal = state::normal(),
|
|
158
|
-
float3 mxp_tangent = state::texture_tangent_u(0),
|
|
159
|
-
uniform core::mx_distribution_type mxp_distribution = core::mx_distribution_type_ggx [[ anno::unused() ]],
|
|
160
|
-
uniform mx_scatter_mode mxp_scatter_mode = mx_scatter_mode_R,
|
|
161
|
-
material mxp_base = material() [[ anno::usage( "materialx:bsdf") ]], // layering
|
|
162
|
-
float mxp_top_weight = 1.0, // layering for cases where top is scaled using a mix
|
|
163
|
-
float mxp_thinfilm_thickness = 0.0,
|
|
164
|
-
float mxp_thinfilm_ior = 1.0
|
|
165
|
-
) [[
|
|
166
|
-
anno::usage( "materialx:bsdf")
|
|
167
|
-
]]
|
|
168
|
-
= let {
|
|
169
|
-
float coatIor = mxp_thinfilm_ior <= 0.0 ? 1.0 : mxp_thinfilm_ior;
|
|
170
|
-
float grazing_refl = math::max((1.0 - math::average(mxp_roughness)), 0.0);
|
|
171
|
-
float root_r = (mxp_ior-1)/(mxp_ior+1);
|
|
172
|
-
bsdf bsdf_R = df::thin_film(
|
|
173
|
-
thickness: mxp_thinfilm_thickness,
|
|
174
|
-
ior: color(coatIor),
|
|
175
|
-
// fresnel layer has issues if base is a diffuse transmission, use custom curve for now
|
|
176
|
-
// this will break thin_film but improves standard_surface with diffuse transmission
|
|
177
|
-
base: df::custom_curve_layer(
|
|
178
|
-
normal_reflectivity: root_r*root_r,
|
|
179
|
-
grazing_reflectivity: grazing_refl,
|
|
180
|
-
weight: mxp_weight,
|
|
181
|
-
layer: df::microfacet_ggx_smith_bsdf(
|
|
182
|
-
roughness_u: mxp_roughness.x,
|
|
183
|
-
roughness_v: mxp_roughness.y,
|
|
184
|
-
tint: mxp_tint * mxp_top_weight,
|
|
185
|
-
multiscatter_tint: mxp_tint * mxp_top_weight,
|
|
186
|
-
tangent_u: mxp_tangent,
|
|
187
|
-
mode: df::scatter_reflect),
|
|
188
|
-
base: mxp_base.surface.scattering,
|
|
189
|
-
normal: mxp_normal));
|
|
190
|
-
|
|
191
|
-
bsdf bsdf_T = df::weighted_layer(
|
|
192
|
-
weight: mxp_weight,
|
|
193
|
-
layer: df::microfacet_ggx_smith_bsdf(
|
|
194
|
-
roughness_u: mxp_roughness.x,
|
|
195
|
-
roughness_v: mxp_roughness.y,
|
|
196
|
-
tint: mxp_tint * mxp_top_weight,
|
|
197
|
-
multiscatter_tint: mxp_tint * mxp_top_weight,
|
|
198
|
-
tangent_u: mxp_tangent,
|
|
199
|
-
mode: df::scatter_transmit),
|
|
200
|
-
normal: mxp_normal);
|
|
201
|
-
|
|
202
|
-
bsdf bsdf_RT = df::weighted_layer(
|
|
203
|
-
weight: mxp_weight,
|
|
204
|
-
layer: df::thin_film(
|
|
205
|
-
thickness: mxp_thinfilm_thickness,
|
|
206
|
-
ior: color(coatIor),
|
|
207
|
-
base: df::microfacet_ggx_smith_bsdf(
|
|
208
|
-
roughness_u: mxp_roughness.x,
|
|
209
|
-
roughness_v: mxp_roughness.y,
|
|
210
|
-
tint: mxp_tint * mxp_top_weight,
|
|
211
|
-
multiscatter_tint: mxp_tint * mxp_top_weight,
|
|
212
|
-
tangent_u: mxp_tangent,
|
|
213
|
-
mode: df::scatter_reflect_transmit)),
|
|
214
|
-
normal: mxp_normal);
|
|
215
|
-
|
|
216
|
-
bsdf bsdf_selected = (mxp_scatter_mode == mx_scatter_mode_R) ? bsdf_R :
|
|
217
|
-
((mxp_scatter_mode == mx_scatter_mode_T) ? bsdf_T : bsdf_RT);
|
|
218
|
-
} in material(
|
|
219
|
-
surface: material_surface(
|
|
220
|
-
scattering: bsdf_selected
|
|
221
|
-
),
|
|
222
|
-
// we need to carry volume properties along for SSS
|
|
223
|
-
ior: mxp_base.ior,
|
|
224
|
-
volume: mxp_base.volume
|
|
225
|
-
);
|
|
226
|
-
|
|
227
|
-
// TODO MDL 1.8
|
|
228
|
-
// * thin_film(thickness: 0.0, ior: < 1.0) will be handled properly
|
|
229
|
-
export material mx_conductor_bsdf(
|
|
230
|
-
float mxp_weight = 1.0,
|
|
231
|
-
color mxp_ior = color(0.18, 0.42, 1.37),
|
|
232
|
-
color mxp_extinction = color(3.42, 2.35, 1.77),
|
|
233
|
-
float2 mxp_roughness = float2(0.0),
|
|
234
|
-
float3 mxp_normal = state::normal(),
|
|
235
|
-
float3 mxp_tangent = state::texture_tangent_u(0),
|
|
236
|
-
uniform core::mx_distribution_type mxp_distribution = core::mx_distribution_type_ggx [[ anno::unused() ]],
|
|
237
|
-
float mxp_thinfilm_thickness = 0.0,
|
|
238
|
-
float mxp_thinfilm_ior = 1.0
|
|
239
|
-
) [[
|
|
240
|
-
anno::usage( "materialx:bsdf")
|
|
241
|
-
]]
|
|
242
|
-
= let {
|
|
243
|
-
float coatIor = mxp_thinfilm_ior <= 0.0 ? 1.0 : mxp_thinfilm_ior;
|
|
244
|
-
bsdf ggx_model = df::microfacet_ggx_smith_bsdf(
|
|
245
|
-
roughness_u: mxp_roughness.x,
|
|
246
|
-
roughness_v: mxp_roughness.y,
|
|
247
|
-
tint: color(1.0),
|
|
248
|
-
multiscatter_tint: color(1.0),
|
|
249
|
-
tangent_u: mxp_tangent);
|
|
250
|
-
bsdf conductor = df::fresnel_factor(
|
|
251
|
-
ior: mxp_ior,
|
|
252
|
-
extinction_coefficient: mxp_extinction,
|
|
253
|
-
base: ggx_model);
|
|
254
|
-
bsdf thin_film_conductor = df::thin_film(
|
|
255
|
-
thickness: mxp_thinfilm_thickness,
|
|
256
|
-
ior: color(coatIor),
|
|
257
|
-
base: conductor);
|
|
258
|
-
} in material(
|
|
259
|
-
surface: material_surface(
|
|
260
|
-
scattering: df::weighted_layer(
|
|
261
|
-
weight: mxp_weight,
|
|
262
|
-
layer: thin_film_conductor,
|
|
263
|
-
normal: mxp_normal
|
|
264
|
-
)
|
|
265
|
-
)
|
|
266
|
-
);
|
|
267
|
-
|
|
268
|
-
// MDL 1.8
|
|
269
|
-
// * will add support for thin film above a color_custom_curve_layer node until then, thin_film will have no effect
|
|
270
|
-
// * thin_film(thickness: 0.0, ior: < 1.0) will be handled properly
|
|
271
|
-
export material mx_generalized_schlick_bsdf(
|
|
272
|
-
float mxp_weight = 1.0,
|
|
273
|
-
color mxp_color0 = color(1.0),
|
|
274
|
-
color mxp_color82 = color(1.0), // MDL 1.10
|
|
275
|
-
color mxp_color90 = color(1.0),
|
|
276
|
-
float mxp_exponent = 5.0,
|
|
277
|
-
float2 mxp_roughness = float2(0.05),
|
|
278
|
-
float3 mxp_normal = state::normal(),
|
|
279
|
-
float3 mxp_tangent = state::texture_tangent_u(0),
|
|
280
|
-
uniform core::mx_distribution_type mxp_distribution = core::mx_distribution_type_ggx [[ anno::unused() ]],
|
|
281
|
-
uniform mx_scatter_mode mxp_scatter_mode = mx_scatter_mode_R,
|
|
282
|
-
material mxp_base = material() [[ anno::usage( "materialx:bsdf") ]], // layering
|
|
283
|
-
float mxp_top_weight = 1.0, // layering for cases where top is scaled using a mix
|
|
284
|
-
float mxp_thinfilm_thickness = 0.0,
|
|
285
|
-
float mxp_thinfilm_ior = 1.0
|
|
286
|
-
) [[
|
|
287
|
-
anno::usage( "materialx:bsdf")
|
|
288
|
-
]]
|
|
289
|
-
= let {
|
|
290
|
-
float coatIor = mxp_thinfilm_ior <= 0.0 ? 1.0 : mxp_thinfilm_ior;
|
|
291
|
-
// float avgF0 = math::average(float3(mxp_color0));
|
|
292
|
-
bsdf ggx_model_R = df::microfacet_ggx_smith_bsdf(
|
|
293
|
-
roughness_u: mxp_roughness.x,
|
|
294
|
-
roughness_v: mxp_roughness.y,
|
|
295
|
-
tint: color(1.0) * mxp_top_weight,
|
|
296
|
-
multiscatter_tint: color(1.0) * mxp_top_weight,
|
|
297
|
-
tangent_u: mxp_tangent,
|
|
298
|
-
mode: df::scatter_reflect);
|
|
299
|
-
|
|
300
|
-
bsdf ggx_model_T = df::microfacet_ggx_smith_bsdf(
|
|
301
|
-
roughness_u: mxp_roughness.x,
|
|
302
|
-
roughness_v: mxp_roughness.y,
|
|
303
|
-
tint: color(1.0),
|
|
304
|
-
multiscatter_tint: color(1.0),
|
|
305
|
-
tangent_u: mxp_tangent,
|
|
306
|
-
mode: df::scatter_transmit);
|
|
307
|
-
} in material(
|
|
308
|
-
surface: material_surface(
|
|
309
|
-
scattering: df::weighted_layer(
|
|
310
|
-
weight: mxp_weight,
|
|
311
|
-
layer: mxp_scatter_mode == mx_scatter_mode_T
|
|
312
|
-
? df::color_custom_curve_layer(
|
|
313
|
-
normal_reflectivity: mxp_color0,
|
|
314
|
-
grazing_reflectivity: mxp_color82 * mxp_color90,
|
|
315
|
-
exponent: mxp_exponent,
|
|
316
|
-
layer: bsdf(),
|
|
317
|
-
base: ggx_model_T,
|
|
318
|
-
normal: mxp_normal)
|
|
319
|
-
: df::thin_film(
|
|
320
|
-
thickness: mxp_thinfilm_thickness,
|
|
321
|
-
ior: color(coatIor),
|
|
322
|
-
base: df::color_custom_curve_layer(
|
|
323
|
-
normal_reflectivity: mxp_color0,
|
|
324
|
-
grazing_reflectivity: mxp_color82 * mxp_color90,
|
|
325
|
-
exponent: mxp_exponent,
|
|
326
|
-
layer: ggx_model_R,
|
|
327
|
-
base: mxp_scatter_mode == mx_scatter_mode_R
|
|
328
|
-
? mxp_base.surface.scattering
|
|
329
|
-
: ggx_model_T,
|
|
330
|
-
normal: mxp_normal)),
|
|
331
|
-
base: mxp_base.surface.scattering
|
|
332
|
-
)
|
|
333
|
-
),
|
|
334
|
-
// we can't use the computed ior here because it's varying
|
|
335
|
-
// assuming that we have something glass like when transmission is used
|
|
336
|
-
ior: color(1.5), // color(mx_f0_to_ior(avgF0))
|
|
337
|
-
|
|
338
|
-
// we need to carry volume properties along for SSS
|
|
339
|
-
volume: mxp_base.volume
|
|
340
|
-
);
|
|
341
|
-
|
|
342
|
-
export material mx_subsurface_bsdf(
|
|
343
|
-
float mxp_weight = 1.0 [[ anno::unused() ]],
|
|
344
|
-
color mxp_color = color(0.18),
|
|
345
|
-
color mxp_radius = color(1.0),
|
|
346
|
-
float mxp_anisotropy = 0.0,
|
|
347
|
-
float3 mxp_normal = state::normal() [[ anno::unused() ]]
|
|
348
|
-
) [[
|
|
349
|
-
anno::usage( "materialx:bsdf")
|
|
350
|
-
]]
|
|
351
|
-
= let {
|
|
352
|
-
// https://blog.selfshadow.com/publications/s2017-shading-course/imageworks/s2017_pbs_imageworks_slides_v2.pdf
|
|
353
|
-
// Phase function eccentricity 'g' has been omitted here since we pass that directly
|
|
354
|
-
// to anisotropic_vdf(directional_bias: g).
|
|
355
|
-
color albedo = color(4.09712) +
|
|
356
|
-
(4.20863f * mxp_color) -
|
|
357
|
-
math::sqrt(
|
|
358
|
-
9.59217f +
|
|
359
|
-
41.6808f * mxp_color +
|
|
360
|
-
17.7126f * mxp_color * mxp_color);
|
|
361
|
-
|
|
362
|
-
color albedo_sq = albedo * albedo;
|
|
363
|
-
|
|
364
|
-
color white = color(1.0, 1.0, 1.0);
|
|
365
|
-
|
|
366
|
-
color alpha =
|
|
367
|
-
(white - albedo_sq) / (white - mxp_anisotropy * albedo_sq);
|
|
368
|
-
|
|
369
|
-
color radius_inv = white / mxp_radius;
|
|
370
|
-
|
|
371
|
-
color sigma_s = alpha * radius_inv;
|
|
372
|
-
color sigma_a = radius_inv - sigma_s;
|
|
373
|
-
|
|
374
|
-
} in material(
|
|
375
|
-
volume: material_volume(
|
|
376
|
-
scattering: df::anisotropic_vdf (
|
|
377
|
-
directional_bias: mxp_anisotropy
|
|
378
|
-
),
|
|
379
|
-
scattering_coefficient: sigma_s,
|
|
380
|
-
absorption_coefficient: sigma_a
|
|
381
|
-
),
|
|
382
|
-
|
|
383
|
-
surface: material_surface(
|
|
384
|
-
scattering: df::diffuse_transmission_bsdf(tint: white)
|
|
385
|
-
)
|
|
386
|
-
);
|
|
387
|
-
|
|
388
|
-
// TODO: MDL's sheen BSDF has no possibility to configure the base BSDF, it is
|
|
389
|
-
// always a diffuse BSDF. Its color is configurable through the multiscatter
|
|
390
|
-
// tint and can be fed through the extra mxp_diffuse_tint input. A context
|
|
391
|
-
// analysis in the generator can map the color of the base to this input.
|
|
392
|
-
export material mx_sheen_bsdf(
|
|
393
|
-
float mxp_weight = 1.0,
|
|
394
|
-
color mxp_color = color(1.0),
|
|
395
|
-
float mxp_roughness = 0.2,
|
|
396
|
-
float3 mxp_normal = state::normal(),
|
|
397
|
-
uniform mx_sheen_mode mxp_mode = mx_sheen_mode_conty_kulla [[ anno::unused() ]],
|
|
398
|
-
material mxp_base = material() [[ anno::usage( "materialx:bsdf") ]],
|
|
399
|
-
color mxp_diffuse_color = color(1.0) // color of the base layer, MDL supports only diffuse
|
|
400
|
-
) [[
|
|
401
|
-
anno::usage( "materialx:bsdf")
|
|
402
|
-
]]
|
|
403
|
-
= material(
|
|
404
|
-
surface: material_surface(
|
|
405
|
-
scattering: df::weighted_layer(
|
|
406
|
-
weight: mxp_weight,
|
|
407
|
-
layer: df::sheen_bsdf(
|
|
408
|
-
roughness: mxp_roughness,
|
|
409
|
-
tint: mxp_color,
|
|
410
|
-
multiscatter_tint: mxp_diffuse_color
|
|
411
|
-
),
|
|
412
|
-
base: mxp_base.surface.scattering,
|
|
413
|
-
normal: mxp_normal
|
|
414
|
-
)
|
|
415
|
-
),
|
|
416
|
-
// we need to carry volume properties along for SSS
|
|
417
|
-
ior: mxp_base.ior,
|
|
418
|
-
volume: mxp_base.volume
|
|
419
|
-
);
|
|
420
|
-
|
|
421
|
-
export material mx_thin_film_bsdf(
|
|
422
|
-
float mxp_thickness = 1000.0,
|
|
423
|
-
float mxp_ior = 1.5,
|
|
424
|
-
material mxp_base = material() [[ anno::usage( "materialx:bsdf") ]]
|
|
425
|
-
) [[
|
|
426
|
-
anno::usage( "materialx:bsdf")
|
|
427
|
-
]]
|
|
428
|
-
= material(
|
|
429
|
-
surface: material_surface(
|
|
430
|
-
scattering: df::thin_film(
|
|
431
|
-
thickness: mxp_thickness,
|
|
432
|
-
ior: color(mxp_ior),
|
|
433
|
-
base: mxp_base.surface.scattering
|
|
434
|
-
)
|
|
435
|
-
),
|
|
436
|
-
// we need to carry volume properties along for SSS
|
|
437
|
-
ior: mxp_base.ior,
|
|
438
|
-
volume: mxp_base.volume
|
|
439
|
-
);
|
|
440
|
-
|
|
441
|
-
export material mx_chiang_hair_bsdf(
|
|
442
|
-
// TODO: MDL's chiang_hair BSDF has no support tinting each lobes
|
|
443
|
-
color mxp_tint_R = color(1.0) [[ anno::unused() ]],
|
|
444
|
-
color mxp_tint_TT = color(1.0) [[ anno::unused() ]],
|
|
445
|
-
color mxp_tint_TRT = color(1.0) [[ anno::unused() ]],
|
|
446
|
-
float mxp_ior = 1.55,
|
|
447
|
-
float2 mxp_roughness_R = float2(0.1, 0.1),
|
|
448
|
-
float2 mxp_roughness_TT = float2(0.05, 0.05),
|
|
449
|
-
float2 mxp_roughness_TRT = float2(0.2, 0.2),
|
|
450
|
-
float mxp_cuticle_angle = 0.5,
|
|
451
|
-
float3 mxp_absorption_coefficient = float3(0.0),
|
|
452
|
-
// TODO: MDL's chiang_hair BSDF has no support user tangent vector
|
|
453
|
-
float3 mxp_curve_direction = state::texture_tangent_u(0) [[ anno::unused() ]]
|
|
454
|
-
) [[
|
|
455
|
-
anno::usage( "materialx:bsdf")
|
|
456
|
-
]]
|
|
457
|
-
= material(
|
|
458
|
-
hair: df::chiang_hair_bsdf(
|
|
459
|
-
diffuse_reflection_weight: 0.0,
|
|
460
|
-
diffuse_reflection_tint: color(0.0),
|
|
461
|
-
roughness_R: mxp_roughness_R,
|
|
462
|
-
roughness_TT: mxp_roughness_TT,
|
|
463
|
-
roughness_TRT: mxp_roughness_TRT,
|
|
464
|
-
cuticle_angle: mxp_cuticle_angle,
|
|
465
|
-
absorption_coefficient: color(mxp_absorption_coefficient),
|
|
466
|
-
ior: mxp_ior
|
|
467
|
-
)
|
|
468
|
-
);
|
|
469
|
-
|
|
470
|
-
// EDF Nodes
|
|
471
|
-
|
|
472
|
-
export material mx_uniform_edf(
|
|
473
|
-
color mxp_color = color(1.0)
|
|
474
|
-
) [[
|
|
475
|
-
anno::usage( "materialx:edf")
|
|
476
|
-
]]
|
|
477
|
-
= material(
|
|
478
|
-
surface: material_surface(
|
|
479
|
-
emission: material_emission( emission: df::diffuse_edf(), intensity: mxp_color * math::PI)
|
|
480
|
-
)
|
|
481
|
-
);
|
|
482
|
-
|
|
483
|
-
export material mx_conical_edf(
|
|
484
|
-
color mxp_color = color(1.0),
|
|
485
|
-
float3 mxp_normal = state::normal()
|
|
486
|
-
[[
|
|
487
|
-
anno::unused()
|
|
488
|
-
]],
|
|
489
|
-
uniform float mxp_inner_angle = 60.0,
|
|
490
|
-
uniform float mxp_outer_angle = 0.0
|
|
491
|
-
) [[
|
|
492
|
-
anno::usage( "materialx:edf")
|
|
493
|
-
]]
|
|
494
|
-
= material(
|
|
495
|
-
surface: material_surface(
|
|
496
|
-
emission: material_emission(
|
|
497
|
-
emission: df::spot_edf( // TODO: refine exact math of the mapping here
|
|
498
|
-
spread: math::radians( math::max(mxp_inner_angle, mxp_outer_angle)),
|
|
499
|
-
exponent: (mxp_outer_angle <= mxp_inner_angle) ? 0.0 : 1.0
|
|
500
|
-
),
|
|
501
|
-
intensity: mxp_color * math::PI
|
|
502
|
-
)
|
|
503
|
-
)
|
|
504
|
-
);
|
|
505
|
-
|
|
506
|
-
export material mx_measured_edf(
|
|
507
|
-
color mxp_color = color(1.0),
|
|
508
|
-
float3 mxp_normal = state::normal()
|
|
509
|
-
[[
|
|
510
|
-
anno::unused()
|
|
511
|
-
]],
|
|
512
|
-
uniform light_profile mxp_file = light_profile()
|
|
513
|
-
) [[
|
|
514
|
-
anno::usage( "materialx:edf")
|
|
515
|
-
]]
|
|
516
|
-
= material(
|
|
517
|
-
surface: material_surface(
|
|
518
|
-
emission: material_emission(
|
|
519
|
-
emission: df::measured_edf( profile: mxp_file),
|
|
520
|
-
intensity: mxp_color * math::PI
|
|
521
|
-
)
|
|
522
|
-
)
|
|
523
|
-
);
|
|
524
|
-
|
|
525
|
-
// no directional factor for EDFs in MDL 1.6
|
|
526
|
-
export material mx_generalized_schlick_edf(
|
|
527
|
-
color mxp_color0 = color(1.0) [[anno::unused()]],
|
|
528
|
-
color mxp_color90 = color(1.0) [[anno::unused()]],
|
|
529
|
-
float mxp_exponent = 5.0 [[anno::unused()]],
|
|
530
|
-
material mxp_base = material() [[ anno::usage( "materialx:bsdf") ]]
|
|
531
|
-
) [[
|
|
532
|
-
anno::usage( "materialx:edf")
|
|
533
|
-
]]
|
|
534
|
-
= material(
|
|
535
|
-
thin_walled: mxp_base.thin_walled,
|
|
536
|
-
surface: material_surface(
|
|
537
|
-
scattering: mxp_base.surface.scattering,
|
|
538
|
-
emission: mxp_base.surface.emission
|
|
539
|
-
),
|
|
540
|
-
backface: mxp_base.backface,
|
|
541
|
-
ior: mxp_base.ior,
|
|
542
|
-
volume: mxp_base.volume,
|
|
543
|
-
geometry: mxp_base.geometry,
|
|
544
|
-
hair: mxp_base.hair
|
|
545
|
-
);
|
|
546
|
-
|
|
547
|
-
// VDF Nodes
|
|
548
|
-
|
|
549
|
-
export material mx_absorption_vdf(
|
|
550
|
-
// TODO: should probably become color3 in the MaterialX spec
|
|
551
|
-
float3 mxp_absorption = float3(0.0)
|
|
552
|
-
) [[
|
|
553
|
-
anno::usage( "materialx:vdf")
|
|
554
|
-
]]
|
|
555
|
-
= material(
|
|
556
|
-
volume: material_volume(
|
|
557
|
-
absorption_coefficient: color( mxp_absorption)
|
|
558
|
-
)
|
|
559
|
-
);
|
|
560
|
-
|
|
561
|
-
export material mx_anisotropic_vdf(
|
|
562
|
-
// TODO: should probably become color3 in the MaterialX spec
|
|
563
|
-
float3 mxp_absorption = float3(0.0),
|
|
564
|
-
// TODO: should probably become color3 in the MaterialX spec
|
|
565
|
-
float3 mxp_scattering = float3(0.0),
|
|
566
|
-
float mxp_anisotropy = 0.0
|
|
567
|
-
) [[
|
|
568
|
-
anno::usage( "materialx:vdf")
|
|
569
|
-
]]
|
|
570
|
-
= material(
|
|
571
|
-
volume: material_volume(
|
|
572
|
-
scattering: df::anisotropic_vdf( directional_bias: mxp_anisotropy),
|
|
573
|
-
absorption_coefficient: color( mxp_absorption),
|
|
574
|
-
scattering_coefficient: color( mxp_scattering)
|
|
575
|
-
)
|
|
576
|
-
);
|
|
577
|
-
|
|
578
|
-
// Shader Nodes
|
|
579
|
-
|
|
580
|
-
// NOTE: The MDL material with thin_walled == false uses the same material_surface
|
|
581
|
-
// properties for the front- and backface, the material will not be black
|
|
582
|
-
// from the backside as mandated by the MaterialX spec.
|
|
583
|
-
export material mx_surface(
|
|
584
|
-
material mxp_bsdf = material() [[ anno::usage( "materialx:bsdf") ]],
|
|
585
|
-
material mxp_edf = material() [[ anno::usage( "materialx:edf") ]],
|
|
586
|
-
float mxp_opacity = 1.0,
|
|
587
|
-
uniform bool mxp_thin_walled = false,
|
|
588
|
-
uniform float mxp_transmission_ior = 0.0 // extra parameter for setting transmission IOR
|
|
589
|
-
) [[
|
|
590
|
-
anno::usage( "materialx:surfaceshader")
|
|
591
|
-
]]
|
|
592
|
-
= let {
|
|
593
|
-
bsdf bsdf_node = mxp_bsdf.surface.scattering;
|
|
594
|
-
material_emission edf_node = mxp_edf.surface.emission;
|
|
595
|
-
// we need to carry volume properties along for SSS
|
|
596
|
-
material_volume bsdf_volume = mxp_bsdf.volume;
|
|
597
|
-
} in material(
|
|
598
|
-
thin_walled: mxp_thin_walled,
|
|
599
|
-
surface: material_surface(
|
|
600
|
-
scattering: bsdf_node,
|
|
601
|
-
emission: edf_node
|
|
602
|
-
),
|
|
603
|
-
hair: mxp_bsdf.hair,
|
|
604
|
-
ior: mxp_transmission_ior > 0.0 ? color(mxp_transmission_ior) : mxp_bsdf.ior,
|
|
605
|
-
volume: bsdf_volume,
|
|
606
|
-
geometry: material_geometry(
|
|
607
|
-
cutout_opacity: mxp_opacity
|
|
608
|
-
)
|
|
609
|
-
);
|
|
610
|
-
|
|
611
|
-
// MDL 1.6, Volumes do not support emission.
|
|
612
|
-
export material mx_volume(
|
|
613
|
-
material mxp_vdf = material() [[ anno::usage( "materialx:vdf") ]],
|
|
614
|
-
material mxp_edf = material() [[ anno::usage( "materialx:edf"), anno::unused() ]]
|
|
615
|
-
) [[
|
|
616
|
-
anno::usage( "materialx:volumeshader")
|
|
617
|
-
]]
|
|
618
|
-
= material(
|
|
619
|
-
volume: material_volume(
|
|
620
|
-
absorption_coefficient: mxp_vdf.volume.absorption_coefficient,
|
|
621
|
-
scattering_coefficient: mxp_vdf.volume.scattering_coefficient
|
|
622
|
-
)
|
|
623
|
-
);
|
|
624
|
-
|
|
625
|
-
export material mx_light(
|
|
626
|
-
material mxp_edf = material() [[ anno::usage( "materialx:edf") ]],
|
|
627
|
-
color mxp_intensity = color(1.0),
|
|
628
|
-
float mxp_exposure = 0.0
|
|
629
|
-
) [[
|
|
630
|
-
anno::usage( "materialx:lightshader")
|
|
631
|
-
]]
|
|
632
|
-
= let {
|
|
633
|
-
edf emission = mxp_edf.surface.emission.emission;
|
|
634
|
-
color intensity = mxp_edf.surface.emission.intensity;
|
|
635
|
-
color scale = (mxp_exposure == 0.0)
|
|
636
|
-
? mxp_intensity
|
|
637
|
-
: mxp_intensity * math::pow(2, mxp_exposure);
|
|
638
|
-
} in material(
|
|
639
|
-
// TODO: check MTLX spec if we need emission on front- end backface
|
|
640
|
-
surface: material_surface(
|
|
641
|
-
emission: material_emission(
|
|
642
|
-
emission: emission,
|
|
643
|
-
intensity: intensity * scale
|
|
644
|
-
)
|
|
645
|
-
)
|
|
646
|
-
);
|
|
647
|
-
|
|
648
|
-
// NOTE: MDL provides function overloading, but not material definition
|
|
649
|
-
// overlaoding. We thus try to use float3 as MDL type matching
|
|
650
|
-
// the MaterialX displacementshader and allow thus for an overloaded
|
|
651
|
-
// implementation of mxp_displacement.
|
|
652
|
-
// TODO: Check if this works in the translator and higher level nodes, like
|
|
653
|
-
// mxp_material, if not, we have to switch to the material type and
|
|
654
|
-
// use two different names for mxp_displacemnnt.
|
|
655
|
-
export material mx_displacement_float(
|
|
656
|
-
float mxp_displacement = 0.0,
|
|
657
|
-
float mxp_scale = 1.0
|
|
658
|
-
) [[
|
|
659
|
-
anno::usage( "materialx:displacementshader")
|
|
660
|
-
]] = material(
|
|
661
|
-
geometry: material_geometry(
|
|
662
|
-
displacement: mxp_displacement * mxp_scale * state::scene_units_per_meter() * state::normal()
|
|
663
|
-
)
|
|
664
|
-
);
|
|
665
|
-
|
|
666
|
-
export material mx_displacement_vector3(
|
|
667
|
-
float3 mxp_displacement = float3(0.0),
|
|
668
|
-
float mxp_scale = 1.0
|
|
669
|
-
) [[
|
|
670
|
-
anno::usage( "materialx:displacementshader")
|
|
671
|
-
]] = let
|
|
672
|
-
{
|
|
673
|
-
float3 vec = (mxp_displacement.x * state::texture_tangent_u(0)
|
|
674
|
-
+ mxp_displacement.y * state::texture_tangent_v(0)
|
|
675
|
-
+ mxp_displacement.z * state::normal());
|
|
676
|
-
} in material(
|
|
677
|
-
geometry: material_geometry(
|
|
678
|
-
displacement: vec * mxp_scale * state::scene_units_per_meter()
|
|
679
|
-
)
|
|
680
|
-
);
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
// helper function to mix two scattering volumes:
|
|
684
|
-
// - combined scattering coefficient is just the sum of the two
|
|
685
|
-
// - VDF mixer weight is the relative probability of encountering the corresponding
|
|
686
|
-
// particle type
|
|
687
|
-
// NOTE: mixer weight should be a color, but due to a bug in current MDL compilers
|
|
688
|
-
// the color mixers don't accept non-uniform weights yet
|
|
689
|
-
export struct volume_mix_return {
|
|
690
|
-
color scattering_coefficient;
|
|
691
|
-
float mix_weight1; // mix_weight2 = 1.0 - mix_weight1, can use any mixer
|
|
692
|
-
};
|
|
693
|
-
export volume_mix_return volume_mix(
|
|
694
|
-
color scattering_coefficient1,
|
|
695
|
-
float weight1,
|
|
696
|
-
color scattering_coefficient2,
|
|
697
|
-
float weight2)
|
|
698
|
-
{
|
|
699
|
-
color s1 = weight1 * scattering_coefficient1;
|
|
700
|
-
color s = s1 + weight2 * scattering_coefficient2;
|
|
701
|
-
return volume_mix_return(scattering_coefficient: s, mix_weight1: math::average(s1 / s));
|
|
702
|
-
}
|
|
703
|
-
|
|
704
|
-
export material mx_mix_bsdf(
|
|
705
|
-
material mxp_fg = material() [[ anno::usage( "materialx:bsdf") ]],
|
|
706
|
-
material mxp_bg = material() [[ anno::usage( "materialx:bsdf") ]],
|
|
707
|
-
float mxp_mix = 0.0
|
|
708
|
-
) [[
|
|
709
|
-
anno::usage( "materialx:bsdf")
|
|
710
|
-
]]
|
|
711
|
-
= let {
|
|
712
|
-
float mix = math::saturate(mxp_mix);
|
|
713
|
-
volume_mix_return v = volume_mix(
|
|
714
|
-
mxp_fg.volume.scattering_coefficient, mix,
|
|
715
|
-
mxp_bg.volume.scattering_coefficient, (1.0f - mix));
|
|
716
|
-
} in material(
|
|
717
|
-
surface: material_surface(
|
|
718
|
-
scattering: df::weighted_layer(
|
|
719
|
-
weight: mix,
|
|
720
|
-
layer: mxp_fg.surface.scattering,
|
|
721
|
-
base: mxp_bg.surface.scattering
|
|
722
|
-
)
|
|
723
|
-
),
|
|
724
|
-
// we need to carry volume properties along for SSS
|
|
725
|
-
ior: mxp_fg.ior, // NOTE: IOR is uniform, cannot mix here
|
|
726
|
-
volume: material_volume(
|
|
727
|
-
scattering: df::clamped_mix(
|
|
728
|
-
df::vdf_component[](
|
|
729
|
-
df::vdf_component(v.mix_weight1, mxp_fg.volume.scattering),
|
|
730
|
-
df::vdf_component(1.0 - v.mix_weight1, mxp_bg.volume.scattering))
|
|
731
|
-
),
|
|
732
|
-
absorption_coefficient: mix * mxp_fg.volume.absorption_coefficient +
|
|
733
|
-
(1.0 - mix) * mxp_bg.volume.absorption_coefficient,
|
|
734
|
-
scattering_coefficient: v.scattering_coefficient
|
|
735
|
-
)
|
|
736
|
-
);
|
|
737
|
-
|
|
738
|
-
// NOTE: mixing two EDFs fails with the df::clamped_mix since the weights are uniform in MDL 1.6
|
|
739
|
-
export material mx_mix_edf(
|
|
740
|
-
material mxp_fg = material() [[ anno::usage( "materialx:edf") ]],
|
|
741
|
-
material mxp_bg = material() [[ anno::usage( "materialx:edf") ]],
|
|
742
|
-
float mxp_mix = 0.0
|
|
743
|
-
) [[
|
|
744
|
-
anno::usage( "materialx:edf")
|
|
745
|
-
]]
|
|
746
|
-
= let {
|
|
747
|
-
float mix = math::saturate(mxp_mix);
|
|
748
|
-
} in material(
|
|
749
|
-
surface: material_surface(
|
|
750
|
-
emission: material_emission(
|
|
751
|
-
emission: mxp_fg.surface.emission.emission,
|
|
752
|
-
intensity: mix * mxp_fg.surface.emission.intensity +
|
|
753
|
-
(1.0 - mix) * mxp_bg.surface.emission.intensity
|
|
754
|
-
)
|
|
755
|
-
)
|
|
756
|
-
);
|
|
757
|
-
|
|
758
|
-
export material mx_mix_vdf(
|
|
759
|
-
material mxp_fg = material() [[ anno::usage( "materialx:vdf") ]],
|
|
760
|
-
material mxp_bg = material() [[ anno::usage( "materialx:vdf") ]],
|
|
761
|
-
float mxp_mix = 0.0
|
|
762
|
-
) [[
|
|
763
|
-
anno::usage( "materialx:vdf")
|
|
764
|
-
]]
|
|
765
|
-
= let {
|
|
766
|
-
float mix = math::saturate(mxp_mix);
|
|
767
|
-
volume_mix_return v = volume_mix(
|
|
768
|
-
mxp_fg.volume.scattering_coefficient, mix,
|
|
769
|
-
mxp_bg.volume.scattering_coefficient, (1.0f - mix));
|
|
770
|
-
} in material(
|
|
771
|
-
ior: mxp_fg.ior, // NOTE: IOR is uniform, cannot mix here
|
|
772
|
-
volume: material_volume(
|
|
773
|
-
scattering: df::clamped_mix(
|
|
774
|
-
df::vdf_component[](
|
|
775
|
-
df::vdf_component( v.mix_weight1, mxp_fg.volume.scattering),
|
|
776
|
-
df::vdf_component( 1.0 - v.mix_weight1, mxp_bg.volume.scattering))
|
|
777
|
-
),
|
|
778
|
-
absorption_coefficient: mix * mxp_fg.volume.absorption_coefficient +
|
|
779
|
-
(1.0 - mix) * mxp_bg.volume.absorption_coefficient,
|
|
780
|
-
scattering_coefficient: v.scattering_coefficient
|
|
781
|
-
)
|
|
782
|
-
);
|
|
783
|
-
|
|
784
|
-
// NOTE: Adding two BSDFs is not supported in MDL, the generator would best
|
|
785
|
-
// analyze the context for mixing weights and replace the add with a mix.
|
|
786
|
-
// The provided implementation just mixes the BSDFs with equal weight.
|
|
787
|
-
export material mx_add_bsdf(
|
|
788
|
-
material mxp_in1 = material() [[ anno::usage( "materialx:bsdf") ]],
|
|
789
|
-
material mxp_in2 = material() [[ anno::usage( "materialx:bsdf") ]]
|
|
790
|
-
) [[
|
|
791
|
-
anno::usage( "materialx:bsdf")
|
|
792
|
-
]]
|
|
793
|
-
= let {
|
|
794
|
-
volume_mix_return v = volume_mix(
|
|
795
|
-
mxp_in1.volume.scattering_coefficient, 1.0f,
|
|
796
|
-
mxp_in2.volume.scattering_coefficient, 1.0f);
|
|
797
|
-
} in material(
|
|
798
|
-
surface: material_surface(
|
|
799
|
-
scattering: df::clamped_mix(
|
|
800
|
-
df::bsdf_component[](
|
|
801
|
-
df::bsdf_component( 0.5, mxp_in1.surface.scattering),
|
|
802
|
-
df::bsdf_component( 0.5, mxp_in2.surface.scattering)
|
|
803
|
-
)
|
|
804
|
-
)
|
|
805
|
-
),
|
|
806
|
-
// we need to carry volume properties along for SSS
|
|
807
|
-
volume: material_volume(
|
|
808
|
-
scattering: df::clamped_mix(
|
|
809
|
-
df::vdf_component[](
|
|
810
|
-
df::vdf_component( v.mix_weight1, mxp_in1.volume.scattering),
|
|
811
|
-
df::vdf_component( 1.0 - v.mix_weight1, mxp_in2.volume.scattering))
|
|
812
|
-
),
|
|
813
|
-
absorption_coefficient: mxp_in1.volume.absorption_coefficient +
|
|
814
|
-
mxp_in2.volume.absorption_coefficient,
|
|
815
|
-
scattering_coefficient: v.scattering_coefficient
|
|
816
|
-
)
|
|
817
|
-
);
|
|
818
|
-
|
|
819
|
-
// NOTE: Adding two EDFs is not supported in MDL, the generator would best
|
|
820
|
-
// analyze the context for mixing weights and replace the add with a mix.
|
|
821
|
-
// The provided implementation just mixes the EDFs with equal weight
|
|
822
|
-
// and adds the intensities.
|
|
823
|
-
export material mx_add_edf(
|
|
824
|
-
material mxp_in1 = material() [[ anno::usage( "materialx:edf") ]],
|
|
825
|
-
material mxp_in2 = material() [[ anno::usage( "materialx:edf") ]]
|
|
826
|
-
) [[
|
|
827
|
-
anno::usage( "materialx:edf")
|
|
828
|
-
]]
|
|
829
|
-
= material(
|
|
830
|
-
surface: material_surface(
|
|
831
|
-
emission: material_emission(
|
|
832
|
-
emission: df::clamped_mix(
|
|
833
|
-
df::edf_component[](
|
|
834
|
-
df::edf_component( 0.5, mxp_in1.surface.emission.emission),
|
|
835
|
-
df::edf_component( 0.5, mxp_in2.surface.emission.emission))
|
|
836
|
-
),
|
|
837
|
-
intensity: mxp_in1.surface.emission.intensity + mxp_in2.surface.emission.intensity
|
|
838
|
-
)
|
|
839
|
-
)
|
|
840
|
-
);
|
|
841
|
-
|
|
842
|
-
// NOTE: Adding two VDFs is not supported in MDL, the generator would best
|
|
843
|
-
// analyze the context for mixing weights and replace the add with a mix.
|
|
844
|
-
// The provided implementation just mixes the VDFs with equal weight.
|
|
845
|
-
export material mx_add_vdf(
|
|
846
|
-
material mxp_in1 = material() [[ anno::usage( "materialx:vdf") ]],
|
|
847
|
-
material mxp_in2 = material() [[ anno::usage( "materialx:vdf") ]]
|
|
848
|
-
) [[
|
|
849
|
-
anno::usage( "materialx:vdf")
|
|
850
|
-
]]
|
|
851
|
-
= let {
|
|
852
|
-
volume_mix_return v = volume_mix(
|
|
853
|
-
mxp_in1.volume.scattering_coefficient, 1.0f,
|
|
854
|
-
mxp_in2.volume.scattering_coefficient, 1.0f);
|
|
855
|
-
} in material(
|
|
856
|
-
// assuming mixing the IOR is the best we can do here
|
|
857
|
-
ior: 0.5 * mxp_in1.ior + 0.5 * mxp_in2.ior,
|
|
858
|
-
volume: material_volume(
|
|
859
|
-
scattering: df::clamped_mix(
|
|
860
|
-
df::vdf_component[](
|
|
861
|
-
df::vdf_component( v.mix_weight1, mxp_in1.volume.scattering),
|
|
862
|
-
df::vdf_component( 1.0 - v.mix_weight1, mxp_in2.volume.scattering))
|
|
863
|
-
),
|
|
864
|
-
absorption_coefficient: mxp_in1.volume.absorption_coefficient +
|
|
865
|
-
mxp_in2.volume.absorption_coefficient,
|
|
866
|
-
scattering_coefficient: v.scattering_coefficient
|
|
867
|
-
)
|
|
868
|
-
);
|
|
869
|
-
|
|
870
|
-
export material mx_multiply_bsdf_color3(
|
|
871
|
-
material mxp_in1 = material() [[ anno::usage( "materialx:bsdf") ]],
|
|
872
|
-
color mxp_in2 = color(1.0)
|
|
873
|
-
) [[
|
|
874
|
-
anno::usage( "materialx:bsdf")
|
|
875
|
-
]]
|
|
876
|
-
= material(
|
|
877
|
-
surface: material_surface(
|
|
878
|
-
scattering: df::tint(
|
|
879
|
-
tint: mxp_in2,
|
|
880
|
-
base: mxp_in1.surface.scattering
|
|
881
|
-
)
|
|
882
|
-
),
|
|
883
|
-
// we need to carry volume properties along for SSS
|
|
884
|
-
ior: mxp_in1.ior,
|
|
885
|
-
volume: mxp_in1.volume
|
|
886
|
-
);
|
|
887
|
-
|
|
888
|
-
export material mx_multiply_bsdf_float(
|
|
889
|
-
material mxp_in1 = material() [[ anno::usage( "materialx:bsdf") ]],
|
|
890
|
-
float mxp_in2 = 1.0
|
|
891
|
-
) [[
|
|
892
|
-
anno::usage( "materialx:bsdf")
|
|
893
|
-
]]
|
|
894
|
-
= material(
|
|
895
|
-
surface: material_surface(
|
|
896
|
-
scattering: df::tint(
|
|
897
|
-
tint: color(mxp_in2),
|
|
898
|
-
base: mxp_in1.surface.scattering
|
|
899
|
-
)
|
|
900
|
-
),
|
|
901
|
-
// we need to carry volume properties along for SSS
|
|
902
|
-
ior: mxp_in1.ior,
|
|
903
|
-
volume: mxp_in1.volume
|
|
904
|
-
);
|
|
905
|
-
|
|
906
|
-
export material mx_multiply_edf_color3(
|
|
907
|
-
material mxp_in1 = material() [[ anno::usage( "materialx:edf") ]],
|
|
908
|
-
color mxp_in2 = color(1.0)
|
|
909
|
-
) [[
|
|
910
|
-
anno::usage( "materialx:edf")
|
|
911
|
-
]]
|
|
912
|
-
= material(
|
|
913
|
-
surface: material_surface(
|
|
914
|
-
emission: material_emission(
|
|
915
|
-
emission: mxp_in1.surface.emission.emission,
|
|
916
|
-
intensity: mxp_in2 * mxp_in1.surface.emission.intensity
|
|
917
|
-
)
|
|
918
|
-
)
|
|
919
|
-
);
|
|
920
|
-
|
|
921
|
-
export material mx_multiply_edf_float(
|
|
922
|
-
material mxp_in1 = material() [[ anno::usage( "materialx:edf") ]],
|
|
923
|
-
float mxp_in2 = 1.0
|
|
924
|
-
) [[
|
|
925
|
-
anno::usage( "materialx:edf")
|
|
926
|
-
]]
|
|
927
|
-
= material(
|
|
928
|
-
surface: material_surface(
|
|
929
|
-
emission: material_emission(
|
|
930
|
-
emission: mxp_in1.surface.emission.emission,
|
|
931
|
-
intensity: mxp_in2 * mxp_in1.surface.emission.intensity
|
|
932
|
-
)
|
|
933
|
-
)
|
|
934
|
-
);
|
|
935
|
-
|
|
936
|
-
export material mx_multiply_vdf_color3(
|
|
937
|
-
material mxp_in1 = material() [[ anno::usage( "materialx:vdf") ]],
|
|
938
|
-
color mxp_in2 = color(1.0)
|
|
939
|
-
) [[
|
|
940
|
-
anno::usage( "materialx:vdf")
|
|
941
|
-
]]
|
|
942
|
-
= material(
|
|
943
|
-
ior: mxp_in1.ior,
|
|
944
|
-
volume: material_volume(
|
|
945
|
-
scattering: mxp_in1.volume.scattering,
|
|
946
|
-
absorption_coefficient: color(1.0)
|
|
947
|
-
- mxp_in2 * (color(1.0) - mxp_in1.volume.absorption_coefficient),
|
|
948
|
-
scattering_coefficient: mxp_in2 * mxp_in1.volume.scattering_coefficient
|
|
949
|
-
)
|
|
950
|
-
);
|
|
951
|
-
|
|
952
|
-
export material mx_multiply_vdf_float(
|
|
953
|
-
material mxp_in1 = material() [[ anno::usage( "materialx:vdf") ]],
|
|
954
|
-
float mxp_in2 = 1.0
|
|
955
|
-
) [[
|
|
956
|
-
anno::usage( "materialx:vdf")
|
|
957
|
-
]]
|
|
958
|
-
= material(
|
|
959
|
-
ior: mxp_in1.ior,
|
|
960
|
-
volume: material_volume(
|
|
961
|
-
scattering: mxp_in1.volume.scattering,
|
|
962
|
-
absorption_coefficient: color(1.0)
|
|
963
|
-
- mxp_in2 * (color(1.0) - mxp_in1.volume.absorption_coefficient),
|
|
964
|
-
scattering_coefficient: mxp_in2 * mxp_in1.volume.scattering_coefficient
|
|
965
|
-
)
|
|
966
|
-
);
|
|
967
|
-
|
|
968
|
-
export float2 mx_roughness_anisotropy(
|
|
969
|
-
float mxp_roughness = 0.0,
|
|
970
|
-
float mxp_anisotropy = 0.0
|
|
971
|
-
) {
|
|
972
|
-
float roughness_sqr = math::clamp(mxp_roughness*mxp_roughness, core::FLOAT_EPS, 1.0);
|
|
973
|
-
if (mxp_anisotropy > 0.0)
|
|
974
|
-
{
|
|
975
|
-
float aspect = math::sqrt(1.0 - math::clamp(mxp_anisotropy, 0.0, 0.98));
|
|
976
|
-
return float2(
|
|
977
|
-
math::min(roughness_sqr / aspect, 1.0),
|
|
978
|
-
roughness_sqr * aspect);
|
|
979
|
-
}
|
|
980
|
-
return float2(roughness_sqr);
|
|
981
|
-
}
|
|
982
|
-
|
|
983
|
-
export float2 mx_roughness_dual(
|
|
984
|
-
float2 mxp_roughness = float2(0.0)
|
|
985
|
-
) {
|
|
986
|
-
if (mxp_roughness.y < 0.0)
|
|
987
|
-
mxp_roughness.y = mxp_roughness.x;
|
|
988
|
-
return float2(
|
|
989
|
-
math::clamp(mxp_roughness.x * mxp_roughness.x, core::FLOAT_EPS, 1.0),
|
|
990
|
-
math::clamp(mxp_roughness.y * mxp_roughness.y, core::FLOAT_EPS, 1.0));
|
|
991
|
-
}
|
|
992
|
-
|
|
993
|
-
export color mx_blackbody(
|
|
994
|
-
float mxp_temperature = 5000
|
|
995
|
-
) {
|
|
996
|
-
return math::blackbody( mxp_temperature);
|
|
997
|
-
}
|
|
998
|
-
|
|
999
|
-
// Supportive struct type for the two outputs of mx_artistic_ior
|
|
1000
|
-
export struct mx_artistic_ior__result {
|
|
1001
|
-
color mxp_ior;
|
|
1002
|
-
color mxp_extinction;
|
|
1003
|
-
};
|
|
1004
|
-
|
|
1005
|
-
// Converts the artistic parameterization reflectivity and edgecolor
|
|
1006
|
-
// to complex IOR values; this is the inverse of the complex_ior node.
|
|
1007
|
-
export mx_artistic_ior__result mx_artistic_ior(
|
|
1008
|
-
color mxp_reflectivity = color(0.947, 0.776, 0.371),
|
|
1009
|
-
color mxp_edge_color = color(1.0, 0.982, 0.753)
|
|
1010
|
-
) {
|
|
1011
|
-
color r = math::clamp( mxp_reflectivity, color(0.0), color(0.99));
|
|
1012
|
-
color r_sqrt = math::sqrt(r);
|
|
1013
|
-
color n_min = (1.0 - r) / (1.0 + r);
|
|
1014
|
-
color n_max = (1.0 + r_sqrt) / (1.0 - r_sqrt);
|
|
1015
|
-
color n = math::lerp(n_max, n_min, mxp_edge_color);
|
|
1016
|
-
color np1 = n + 1.0;
|
|
1017
|
-
color nm1 = n - 1.0;
|
|
1018
|
-
color k2 = (np1*np1 * r - nm1*nm1) / (1.0 - r);
|
|
1019
|
-
k2 = math::max(k2, 0.0);
|
|
1020
|
-
color k = math::sqrt(k2);
|
|
1021
|
-
return mx_artistic_ior__result(n,k);
|
|
1022
|
-
}
|
|
1023
|
-
|
|
1024
|
-
export float3 mx_deon_hair_absorption_from_melanin(
|
|
1025
|
-
float mxp_melanin_concentration = 0.25,
|
|
1026
|
-
float mxp_melanin_redness = 0.5,
|
|
1027
|
-
color mxp_eumelanin_color = color(0.657704, 0.498077, 0.254107),
|
|
1028
|
-
color mxp_pheomelanin_color = color(0.829444, 0.67032, 0.349938)
|
|
1029
|
-
) {
|
|
1030
|
-
float melanin = -math::log(math::max(1.0 - mxp_melanin_concentration, 0.0001));
|
|
1031
|
-
float eumelanin = melanin * (1.0 - mxp_melanin_redness);
|
|
1032
|
-
float pheomelanin = melanin * mxp_melanin_redness;
|
|
1033
|
-
return math::max(
|
|
1034
|
-
eumelanin * -math::log(float3(mxp_eumelanin_color)) + pheomelanin * -math::log(float3(mxp_pheomelanin_color)),
|
|
1035
|
-
float3(0.0)
|
|
1036
|
-
);
|
|
1037
|
-
}
|
|
1038
|
-
|
|
1039
|
-
export float3 mx_chiang_hair_absorption_from_color(
|
|
1040
|
-
color mxp_color = color(1.0, 1.0, 1.0),
|
|
1041
|
-
float mxp_azimuthal_roughness = 0.2
|
|
1042
|
-
) {
|
|
1043
|
-
float r2 = mxp_azimuthal_roughness * mxp_azimuthal_roughness;
|
|
1044
|
-
float r4 = r2 * r2;
|
|
1045
|
-
float r_fac =
|
|
1046
|
-
5.969 -
|
|
1047
|
-
(0.215 * mxp_azimuthal_roughness) +
|
|
1048
|
-
(2.532 * r2) -
|
|
1049
|
-
(10.73 * r2 * mxp_azimuthal_roughness) +
|
|
1050
|
-
(5.574 * r4) +
|
|
1051
|
-
(0.245 * r4 * mxp_azimuthal_roughness);
|
|
1052
|
-
float3 sigma = math::log(math::min(math::max(float3(mxp_color), 0.001), float3(1.0))) / r_fac;
|
|
1053
|
-
return (sigma * sigma);
|
|
1054
|
-
}
|
|
1055
|
-
|
|
1056
|
-
// Supportive struct type for the three outputs of mx_chiang_hair_roughness
|
|
1057
|
-
export struct mx_chiang_hair_roughness__result {
|
|
1058
|
-
float2 mxp_roughness_R;
|
|
1059
|
-
float2 mxp_roughness_TT;
|
|
1060
|
-
float2 mxp_roughness_TRT;
|
|
1061
|
-
};
|
|
1062
|
-
|
|
1063
|
-
export mx_chiang_hair_roughness__result mx_chiang_hair_roughness(
|
|
1064
|
-
float mxp_longitudinal = 0.1,
|
|
1065
|
-
float mxp_azimuthal = 0.2,
|
|
1066
|
-
float mxp_scale_TT = 0.5,
|
|
1067
|
-
float mxp_scale_TRT = 2.0
|
|
1068
|
-
) {
|
|
1069
|
-
float lr = math::clamp(mxp_longitudinal, 0.001, 1.0);
|
|
1070
|
-
float ar = math::clamp(mxp_azimuthal, 0.001, 1.0);
|
|
1071
|
-
|
|
1072
|
-
// longitudinal variance
|
|
1073
|
-
float v = 0.726 * lr + 0.812 * lr * lr + 3.7 * math::pow(lr, 20);
|
|
1074
|
-
v = v * v;
|
|
1075
|
-
|
|
1076
|
-
float s = 0.265 * ar + 1.194 * ar * ar + 5.372 * math::pow(ar, 22);
|
|
1077
|
-
|
|
1078
|
-
float2 roughness_R = float2(v, s);
|
|
1079
|
-
float2 roughness_TT = float2(v * mxp_scale_TT * mxp_scale_TT, s);
|
|
1080
|
-
float2 roughness_TRT = float2(v * mxp_scale_TRT * mxp_scale_TRT, s);
|
|
1081
|
-
|
|
1082
|
-
return mx_chiang_hair_roughness__result(roughness_R, roughness_TT, roughness_TRT);
|
|
1083
|
-
}
|