@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,1365 +0,0 @@
|
|
|
1
|
-
-- glslfx version 0.1
|
|
2
|
-
|
|
3
|
-
//
|
|
4
|
-
// Copyright 2016 Pixar
|
|
5
|
-
//
|
|
6
|
-
// Licensed under the terms set forth in the LICENSE.txt file available at
|
|
7
|
-
// https://openusd.org/license.
|
|
8
|
-
//
|
|
9
|
-
|
|
10
|
-
--- This is what an import might look like.
|
|
11
|
-
--- #import $TOOLS/hdSt/shaders/basisCurves.glslfx
|
|
12
|
-
|
|
13
|
-
#import $TOOLS/hdSt/shaders/instancing.glslfx
|
|
14
|
-
#import $TOOLS/hdSt/shaders/terminals.glslfx
|
|
15
|
-
#import $TOOLS/hdSt/shaders/pointId.glslfx
|
|
16
|
-
#import $TOOLS/hdSt/shaders/pointDisk.glslfx
|
|
17
|
-
#import $TOOLS/hdSt/shaders/visibility.glslfx
|
|
18
|
-
|
|
19
|
-
// Known issues:
|
|
20
|
-
// * The direction of the 'v' post tessellation is inconsistent between
|
|
21
|
-
// curve representations with regards to whether it increases from left to right
|
|
22
|
-
// or right to left. If we start using materials that require 'v', we should fix
|
|
23
|
-
// this to be both consistent and match the RenderMan default orientation.
|
|
24
|
-
//
|
|
25
|
-
// * RenderMan uses 'u' describe the parameter along curve profile and 'v' to
|
|
26
|
-
// describe the curve length. It's opposite here. It would be good to align
|
|
27
|
-
// these once we start to use 'u' and 'v' in curve materials.
|
|
28
|
-
//
|
|
29
|
-
// * We might want to explore using fractional_even_spacing to better preserve
|
|
30
|
-
// the shape of cubic curves.
|
|
31
|
-
//
|
|
32
|
-
// * We've realized that u appears to be 'backwards' in many cases, and so we
|
|
33
|
-
// have updated many of the functions to use
|
|
34
|
-
// mix(endPointValue, startPointValue, u) when intuitively it should be
|
|
35
|
-
// the other way around.
|
|
36
|
-
|
|
37
|
-
--- --------------------------------------------------------------------------
|
|
38
|
-
-- glsl Curves.CommonData
|
|
39
|
-
|
|
40
|
-
struct Coeffs
|
|
41
|
-
{
|
|
42
|
-
vec4 basis;
|
|
43
|
-
vec4 tangent_basis;
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
struct CurveData
|
|
47
|
-
{
|
|
48
|
-
vec4 Peye[4];
|
|
49
|
-
vec3 Neye[4];
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
float WorldToPixelWidth(MAT4 projMat, float posZ)
|
|
53
|
-
{
|
|
54
|
-
// If any screen space width operations are required, compute the
|
|
55
|
-
// conversion factor from world units to screen pixels at this curve tess
|
|
56
|
-
// position. Critically, this procedure does not rely on the thickening
|
|
57
|
-
// 'direction' vector, which may point out of the image plane and have
|
|
58
|
-
// zero apparent screen-space length in some circumstances.
|
|
59
|
-
//
|
|
60
|
-
// This procedure is correct for both perspective and ortho cameras. It is a
|
|
61
|
-
// boiled-down x-only expression of the projected pixel length of a
|
|
62
|
-
// hypothetical unit X vector in eye space, and can be derived by writing a
|
|
63
|
-
// projection matrix transforming (1,0,0,1) and performing the usual
|
|
64
|
-
// division by w. Since the viewport is 2 NDC units across, we take half the
|
|
65
|
-
// viewportSizeX. The division is by -position.z for perspective projections
|
|
66
|
-
// and by 1 for ortho projections, using entries 2,3 and 3,3 to select
|
|
67
|
-
// which. See articles on the forms of these projection matrices for more
|
|
68
|
-
// info.
|
|
69
|
-
float x = projMat[0][0];
|
|
70
|
-
float w = posZ * projMat[2][3] + projMat[3][3];
|
|
71
|
-
float viewportSizeX = GetViewport().z;
|
|
72
|
-
return abs((viewportSizeX * 0.5) * (x / w));
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
--- --------------------------------------------------------------------------
|
|
76
|
-
-- glsl Curves.PostTess.CurveData
|
|
77
|
-
|
|
78
|
-
CurveData PopulatePeyeAndNeye()
|
|
79
|
-
{
|
|
80
|
-
MAT4 transform = ApplyInstanceTransform(HdGet_transform());
|
|
81
|
-
MAT4 transformInv = ApplyInstanceTransformInverse(HdGet_transformInverse());
|
|
82
|
-
|
|
83
|
-
CurveData vertexData;
|
|
84
|
-
for (int i = 0; i < HD_NUM_PATCH_VERTS; i++) {
|
|
85
|
-
vertexData.Peye[i] = vec4(GetWorldToViewMatrix() * transform *
|
|
86
|
-
vec4(HdGet_points(i), 1.0));
|
|
87
|
-
vertexData.Neye[i] = getNormal(transpose(transformInv *
|
|
88
|
-
GetWorldToViewInverseMatrix()), i);
|
|
89
|
-
}
|
|
90
|
-
return vertexData;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
--- --------------------------------------------------------------------------
|
|
94
|
-
-- glsl Curves.Tess.CurveData.Patch
|
|
95
|
-
|
|
96
|
-
CurveData PopulatePeyeAndNeye()
|
|
97
|
-
{
|
|
98
|
-
CurveData vertexData;
|
|
99
|
-
for (int i = 0; i < gl_MaxPatchVertices; i++) {
|
|
100
|
-
vertexData.Peye[i] = inData[i].Peye;
|
|
101
|
-
vertexData.Neye[i] = inData[i].Neye;
|
|
102
|
-
}
|
|
103
|
-
return vertexData;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
--- --------------------------------------------------------------------------
|
|
107
|
-
-- glsl Curves.Tess.CurveData.Wire
|
|
108
|
-
|
|
109
|
-
CurveData PopulatePeye()
|
|
110
|
-
{
|
|
111
|
-
CurveData vertexData;
|
|
112
|
-
for (int i = 0; i < gl_MaxPatchVertices; i++) {
|
|
113
|
-
vertexData.Peye[i] = inData[i].Peye;
|
|
114
|
-
}
|
|
115
|
-
return vertexData;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
--- --------------------------------------------------------------------------
|
|
119
|
-
-- glsl Curves.TessFactorsGLSL
|
|
120
|
-
|
|
121
|
-
void SetTessFactors(float out0, float out1, float out2, float out3,
|
|
122
|
-
float in0, float in1)
|
|
123
|
-
{
|
|
124
|
-
gl_TessLevelOuter[0] = out0;
|
|
125
|
-
gl_TessLevelOuter[1] = out1;
|
|
126
|
-
gl_TessLevelOuter[2] = out2;
|
|
127
|
-
gl_TessLevelOuter[3] = out3;
|
|
128
|
-
|
|
129
|
-
gl_TessLevelInner[0] = in0;
|
|
130
|
-
gl_TessLevelInner[1] = in1;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
--- --------------------------------------------------------------------------
|
|
134
|
-
-- glsl Curves.TessFactorsMSL
|
|
135
|
-
|
|
136
|
-
void SetTessFactors(float out0, float out1, float out2, float out3,
|
|
137
|
-
float in0, float in1)
|
|
138
|
-
{
|
|
139
|
-
device half *tessAsHalf = (device half *)tessFactors + patch_id * 6;
|
|
140
|
-
|
|
141
|
-
tessAsHalf[0] = half(out0);
|
|
142
|
-
tessAsHalf[1] = half(out1);
|
|
143
|
-
tessAsHalf[2] = half(out2);
|
|
144
|
-
tessAsHalf[3] = half(out3);
|
|
145
|
-
|
|
146
|
-
tessAsHalf[4] = half(in0);
|
|
147
|
-
tessAsHalf[5] = half(in1);
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
--- --------------------------------------------------------------------------
|
|
151
|
-
-- layout Curves.Vertex.Patch
|
|
152
|
-
|
|
153
|
-
[
|
|
154
|
-
["out block", "CurveVertexData", "outData",
|
|
155
|
-
["vec4", "Peye"],
|
|
156
|
-
["vec3", "Neye"]
|
|
157
|
-
]
|
|
158
|
-
]
|
|
159
|
-
|
|
160
|
-
--- --------------------------------------------------------------------------
|
|
161
|
-
-- glsl Curves.Vertex.Patch
|
|
162
|
-
|
|
163
|
-
// We will either generate a camera facing normal or use the authored normal.
|
|
164
|
-
FORWARD_DECL(vec3 getNormal(MAT4 transform));
|
|
165
|
-
// Fwd declare methods defined in pointId.glslfx and pointDisk.glslfx
|
|
166
|
-
// that are used below.
|
|
167
|
-
FORWARD_DECL(int GetPointId());
|
|
168
|
-
FORWARD_DECL(float GetPointRasterSize(int));
|
|
169
|
-
FORWARD_DECL(void ProcessPointId(int));
|
|
170
|
-
FORWARD_DECL(float ApplyPointSizeBias(float));
|
|
171
|
-
|
|
172
|
-
void main(void)
|
|
173
|
-
{
|
|
174
|
-
MAT4 transform = ApplyInstanceTransform(HdGet_transform());
|
|
175
|
-
MAT4 transformInv = ApplyInstanceTransformInverse(HdGet_transformInverse());
|
|
176
|
-
|
|
177
|
-
outData.Peye = vec4(GetWorldToViewMatrix() * transform *
|
|
178
|
-
vec4(HdGet_points(), 1));
|
|
179
|
-
outData.Neye = getNormal(transpose(transformInv *
|
|
180
|
-
GetWorldToViewInverseMatrix()));
|
|
181
|
-
|
|
182
|
-
ProcessPrimvarsIn();
|
|
183
|
-
|
|
184
|
-
gl_Position = vec4(GetProjectionMatrix() * outData.Peye);
|
|
185
|
-
ApplyClipPlanes(outData.Peye);
|
|
186
|
-
|
|
187
|
-
int pointId = GetPointId();
|
|
188
|
-
#if defined(HD_HAS_pointSizeScale)
|
|
189
|
-
float scale = HdGet_pointSizeScale();
|
|
190
|
-
#else
|
|
191
|
-
float scale = 1;
|
|
192
|
-
#endif
|
|
193
|
-
gl_PointSize = ApplyPointSizeBias(
|
|
194
|
-
GetPointRasterSize(pointId) * scale);
|
|
195
|
-
ProcessPointId(pointId);
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
--- --------------------------------------------------------------------------
|
|
199
|
-
-- glsl Curves.Vertex.Normal.Implicit
|
|
200
|
-
|
|
201
|
-
vec3 getNormal(MAT4 transform)
|
|
202
|
-
{
|
|
203
|
-
// Generate a camera-facing normal in camera/eye space, designed to match
|
|
204
|
-
// RenderMan.
|
|
205
|
-
return vec3(0, 0, 1);
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
--- --------------------------------------------------------------------------
|
|
209
|
-
-- glsl Curves.Vertex.Normal.Oriented
|
|
210
|
-
|
|
211
|
-
vec3 getNormal(MAT4 transform)
|
|
212
|
-
{
|
|
213
|
-
return (transform * vec4(HdGet_normals(), 0)).xyz;
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
--- --------------------------------------------------------------------------
|
|
217
|
-
-- glsl Curves.PostTess.Normal.Implicit
|
|
218
|
-
|
|
219
|
-
vec3 getNormal(MAT4 transform, int index)
|
|
220
|
-
{
|
|
221
|
-
// Generate a camera-facing normal in camera/eye space, designed to match
|
|
222
|
-
// RenderMan.
|
|
223
|
-
return vec3(0, 0, 1);
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
--- --------------------------------------------------------------------------
|
|
227
|
-
-- glsl Curves.PostTess.Normal.Oriented
|
|
228
|
-
|
|
229
|
-
vec3 getNormal(MAT4 transform, int index)
|
|
230
|
-
{
|
|
231
|
-
return (transform * vec4(HdGet_normals(index), 0)).xyz;
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
--- --------------------------------------------------------------------------
|
|
235
|
-
-- layout Curves.Vertex.Wire
|
|
236
|
-
|
|
237
|
-
[
|
|
238
|
-
["out block", "CurveVertexData", "outData",
|
|
239
|
-
["vec4", "Peye"]
|
|
240
|
-
]
|
|
241
|
-
]
|
|
242
|
-
|
|
243
|
-
--- --------------------------------------------------------------------------
|
|
244
|
-
-- glsl Curves.Vertex.Wire
|
|
245
|
-
|
|
246
|
-
// Fwd declare methods defined in pointId.glslfx and pointDisk.glslfx
|
|
247
|
-
// that are used below.
|
|
248
|
-
FORWARD_DECL(int GetPointId());
|
|
249
|
-
FORWARD_DECL(float GetPointRasterSize(int));
|
|
250
|
-
FORWARD_DECL(void ProcessPointId(int));
|
|
251
|
-
FORWARD_DECL(float ApplyPointSizeBias(float));
|
|
252
|
-
|
|
253
|
-
void main(void)
|
|
254
|
-
{
|
|
255
|
-
MAT4 transform = ApplyInstanceTransform(HdGet_transform());
|
|
256
|
-
|
|
257
|
-
outData.Peye = vec4(GetWorldToViewMatrix() * transform *
|
|
258
|
-
vec4(HdGet_points(), 1));
|
|
259
|
-
|
|
260
|
-
ProcessPrimvarsIn();
|
|
261
|
-
|
|
262
|
-
gl_Position = vec4(GetProjectionMatrix() * outData.Peye);
|
|
263
|
-
ApplyClipPlanes(outData.Peye);
|
|
264
|
-
|
|
265
|
-
int pointId = GetPointId();
|
|
266
|
-
#if defined(HD_HAS_pointSizeScale)
|
|
267
|
-
float scale = HdGet_pointSizeScale();
|
|
268
|
-
#else
|
|
269
|
-
float scale = 1;
|
|
270
|
-
#endif
|
|
271
|
-
gl_PointSize = ApplyPointSizeBias(
|
|
272
|
-
GetPointRasterSize(pointId) * scale);
|
|
273
|
-
ProcessPointId(pointId);
|
|
274
|
-
}
|
|
275
|
-
|
|
276
|
-
--- --------------------------------------------------------------------------
|
|
277
|
-
-- glsl Curves.CommonControl
|
|
278
|
-
|
|
279
|
-
float GetMaxTess()
|
|
280
|
-
{
|
|
281
|
-
// Should be replaced with a uniform
|
|
282
|
-
return 40;
|
|
283
|
-
}
|
|
284
|
-
|
|
285
|
-
float GetPixelToTessRatio()
|
|
286
|
-
{
|
|
287
|
-
// Should be replaced with a uniform
|
|
288
|
-
return 20.0;
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
float TessWidthFromScreenSize(float screenSpaceSize)
|
|
292
|
-
{
|
|
293
|
-
return clamp(screenSpaceSize / GetPixelToTessRatio(), 1.0, GetMaxTess());
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
float TessLengthFromScreenSize(float screenSpaceSize)
|
|
297
|
-
{
|
|
298
|
-
return clamp(screenSpaceSize / GetPixelToTessRatio(), 0.0, GetMaxTess());
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
vec2 projectToScreen(MAT4 projMat, vec4 P, vec2 screen_size)
|
|
302
|
-
{
|
|
303
|
-
vec4 res = vec4(projMat * P);
|
|
304
|
-
res /= res.w;
|
|
305
|
-
return (clamp(res.xy, -1.3f, 1.3f) + 1.0f) * (screen_size * 0.5f);
|
|
306
|
-
}
|
|
307
|
-
|
|
308
|
-
#ifdef HD_HAS_widths
|
|
309
|
-
float GetScreenSpaceWidth(int index, CurveData vertexData, MAT4 projMat)
|
|
310
|
-
{
|
|
311
|
-
float width = HdGet_widths(index);
|
|
312
|
-
|
|
313
|
-
#ifdef HD_HAS_screenSpaceWidths
|
|
314
|
-
bool screenSpaceWidths = HdGet_screenSpaceWidths(index);
|
|
315
|
-
#else
|
|
316
|
-
bool screenSpaceWidths = false;
|
|
317
|
-
#endif
|
|
318
|
-
if (!screenSpaceWidths) {
|
|
319
|
-
width = WorldToPixelWidth(projMat, vertexData.Peye[index].z) * width;
|
|
320
|
-
}
|
|
321
|
-
|
|
322
|
-
#ifdef HD_HAS_minScreenSpaceWidths
|
|
323
|
-
width = max(width, HdGet_minScreenSpaceWidths(index));
|
|
324
|
-
#endif
|
|
325
|
-
|
|
326
|
-
return width;
|
|
327
|
-
}
|
|
328
|
-
#endif
|
|
329
|
-
|
|
330
|
-
--- --------------------------------------------------------------------------
|
|
331
|
-
-- glsl Curves.PostTessControl.Linear.Patch
|
|
332
|
-
|
|
333
|
-
void main(void)
|
|
334
|
-
{
|
|
335
|
-
CurveData vertexData = PopulatePeyeAndNeye();
|
|
336
|
-
determineLODSettings(vertexData);
|
|
337
|
-
}
|
|
338
|
-
|
|
339
|
-
--- --------------------------------------------------------------------------
|
|
340
|
-
-- layout Curves.TessControl.Linear.Patch
|
|
341
|
-
|
|
342
|
-
[
|
|
343
|
-
["out", "HD_NUM_PATCH_EVAL_VERTS"],
|
|
344
|
-
["in block array", "CurveVertexData", "inData", "gl_MaxPatchVertices",
|
|
345
|
-
["vec4", "Peye"],
|
|
346
|
-
["vec3", "Neye"]
|
|
347
|
-
],
|
|
348
|
-
["out block array", "CurveVertexData", "outData", "HD_NUM_PATCH_EVAL_VERTS",
|
|
349
|
-
["vec4", "Peye"],
|
|
350
|
-
["vec3", "Neye"]
|
|
351
|
-
]
|
|
352
|
-
]
|
|
353
|
-
|
|
354
|
-
--- --------------------------------------------------------------------------
|
|
355
|
-
-- glsl Curves.TessControl.Linear.Patch
|
|
356
|
-
|
|
357
|
-
void determineLODSettings(CurveData vertexData);
|
|
358
|
-
void main(void)
|
|
359
|
-
{
|
|
360
|
-
if (gl_InvocationID == 0) {
|
|
361
|
-
CurveData vertexData = PopulatePeyeAndNeye();
|
|
362
|
-
determineLODSettings(vertexData);
|
|
363
|
-
}
|
|
364
|
-
|
|
365
|
-
outData[gl_InvocationID].Peye = inData[gl_InvocationID].Peye;
|
|
366
|
-
outData[gl_InvocationID].Neye = inData[gl_InvocationID].Neye;
|
|
367
|
-
|
|
368
|
-
ProcessPrimvarsOut();
|
|
369
|
-
}
|
|
370
|
-
|
|
371
|
-
--- --------------------------------------------------------------------------
|
|
372
|
-
-- glsl Curves.CommonControl.Linear.Ribbon
|
|
373
|
-
|
|
374
|
-
// Use the length of the control points in screen space to determine how many
|
|
375
|
-
// times to subdivide the curve.
|
|
376
|
-
void determineLODSettings(CurveData vertexData)
|
|
377
|
-
{
|
|
378
|
-
SetTessFactors(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f);
|
|
379
|
-
}
|
|
380
|
-
|
|
381
|
-
--- --------------------------------------------------------------------------
|
|
382
|
-
-- glsl Curves.CommonControl.Linear.HalfTube
|
|
383
|
-
|
|
384
|
-
// Use the width of the control points in screen space to determine how
|
|
385
|
-
// many times to subdivide the curve.
|
|
386
|
-
void determineLODSettings(CurveData vertexData)
|
|
387
|
-
{
|
|
388
|
-
MAT4 projMat = GetProjectionMatrix();
|
|
389
|
-
|
|
390
|
-
// Length-wise factors
|
|
391
|
-
float w0 = GetScreenSpaceWidth(0, vertexData, projMat);
|
|
392
|
-
float w1 = GetScreenSpaceWidth(1, vertexData, projMat);
|
|
393
|
-
|
|
394
|
-
// increase detail in width by this value so tube geometry is better
|
|
395
|
-
// captured
|
|
396
|
-
const float widthMultiplier = 2.0;
|
|
397
|
-
|
|
398
|
-
float maxWidthScreenSpace = max(w0, w1);
|
|
399
|
-
|
|
400
|
-
float level_w = TessWidthFromScreenSize(maxWidthScreenSpace * widthMultiplier);
|
|
401
|
-
|
|
402
|
-
// tessfactors for vert 0 and 1 seperate to match neighbor and avoid seams
|
|
403
|
-
float level_w0 = TessWidthFromScreenSize(w0 * widthMultiplier);
|
|
404
|
-
float level_w1 = TessWidthFromScreenSize(w1 * widthMultiplier);
|
|
405
|
-
|
|
406
|
-
// Note: using level_w for both inner levels, if we use 1.0 for the
|
|
407
|
-
// lengthwise inner factor we can produce inner vertices at the quad's edge
|
|
408
|
-
// https://docs.vulkan.org/spec/latest/chapters/tessellation.html#tessellation-quad-tessellation
|
|
409
|
-
SetTessFactors(1.0f, level_w1, 1.0f, level_w0, level_w, level_w);
|
|
410
|
-
}
|
|
411
|
-
|
|
412
|
-
--- --------------------------------------------------------------------------
|
|
413
|
-
-- glsl Curves.PostTessControl.Cubic.Wire
|
|
414
|
-
void main(void)
|
|
415
|
-
{
|
|
416
|
-
MAT4 projMat = HdGet_projectionMatrix();
|
|
417
|
-
vec4 viewport = HdGet_viewport();
|
|
418
|
-
vec2 screen_size = vec2(viewport.z, viewport.w);
|
|
419
|
-
|
|
420
|
-
CurveData vertexData = PopulatePeyeAndNeye(Peye, Neye);
|
|
421
|
-
vec2 v0 = projectToScreen(projMat, vertexData.Peye[0], screen_size);
|
|
422
|
-
vec2 v1 = projectToScreen(projMat, vertexData.Peye[1], screen_size);
|
|
423
|
-
vec2 v2 = projectToScreen(projMat, vertexData.Peye[2], screen_size);
|
|
424
|
-
vec2 v3 = projectToScreen(projMat, vertexData.Peye[3], screen_size);
|
|
425
|
-
|
|
426
|
-
// Need to handle off screen
|
|
427
|
-
float dist = distance(v0, v1) + distance(v1, v2) + distance(v2, v3);
|
|
428
|
-
float level = TessLengthFromScreenSize(dist);
|
|
429
|
-
|
|
430
|
-
SetTessFactors(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, level);
|
|
431
|
-
}
|
|
432
|
-
|
|
433
|
-
--- --------------------------------------------------------------------------
|
|
434
|
-
-- layout Curves.TessControl.Cubic.Wire
|
|
435
|
-
|
|
436
|
-
[
|
|
437
|
-
["out", "HD_NUM_PATCH_EVAL_VERTS"],
|
|
438
|
-
["in block array", "CurveVertexData", "inData", "gl_MaxPatchVertices",
|
|
439
|
-
["vec4", "Peye"]
|
|
440
|
-
],
|
|
441
|
-
["out block array", "CurveVertexData", "outData", "HD_NUM_PATCH_EVAL_VERTS",
|
|
442
|
-
["vec4", "Peye"]
|
|
443
|
-
]
|
|
444
|
-
]
|
|
445
|
-
|
|
446
|
-
--- --------------------------------------------------------------------------
|
|
447
|
-
-- glsl Curves.TessControl.Cubic.Wire
|
|
448
|
-
|
|
449
|
-
void determineLODSettings(CurveData vertexData);
|
|
450
|
-
void main(void)
|
|
451
|
-
{
|
|
452
|
-
if (gl_InvocationID == 0) {
|
|
453
|
-
CurveData vertexData = PopulatePeye();
|
|
454
|
-
determineLODSettings(vertexData);
|
|
455
|
-
}
|
|
456
|
-
|
|
457
|
-
outData[gl_InvocationID].Peye = inData[gl_InvocationID].Peye;
|
|
458
|
-
|
|
459
|
-
ProcessPrimvarsOut();
|
|
460
|
-
}
|
|
461
|
-
|
|
462
|
-
// Use the length of the control points in screen space to determine how many
|
|
463
|
-
// times to subdivide the curve.
|
|
464
|
-
void determineLODSettings(CurveData vertexData)
|
|
465
|
-
{
|
|
466
|
-
MAT4 projMat = GetProjectionMatrix();
|
|
467
|
-
vec4 viewport = GetViewport();
|
|
468
|
-
vec2 screen_size = vec2(viewport.z, viewport.w);
|
|
469
|
-
vec2 v0 = projectToScreen(projMat, vertexData.Peye[0], screen_size);
|
|
470
|
-
vec2 v1 = projectToScreen(projMat, vertexData.Peye[1], screen_size);
|
|
471
|
-
vec2 v2 = projectToScreen(projMat, vertexData.Peye[2], screen_size);
|
|
472
|
-
vec2 v3 = projectToScreen(projMat, vertexData.Peye[3], screen_size);
|
|
473
|
-
|
|
474
|
-
// Need to handle off screen
|
|
475
|
-
float dist = distance(v0, v1) + distance(v1, v2) + distance(v2, v3);
|
|
476
|
-
float level = TessLengthFromScreenSize(dist);
|
|
477
|
-
|
|
478
|
-
SetTessFactors(1.0f, level, 0.0f, 0.0f, 0.0f, 0.0f);
|
|
479
|
-
}
|
|
480
|
-
|
|
481
|
-
--- --------------------------------------------------------------------------
|
|
482
|
-
-- glsl Curves.PostTessControl.Cubic.Patch
|
|
483
|
-
|
|
484
|
-
void main(void)
|
|
485
|
-
{
|
|
486
|
-
CurveData vertexData = PopulatePeyeAndNeye();
|
|
487
|
-
determineLODSettings(vertexData);
|
|
488
|
-
}
|
|
489
|
-
|
|
490
|
-
--- --------------------------------------------------------------------------
|
|
491
|
-
-- layout Curves.TessControl.Cubic.Patch
|
|
492
|
-
|
|
493
|
-
[
|
|
494
|
-
["out", "HD_NUM_PATCH_EVAL_VERTS"],
|
|
495
|
-
["in block array", "CurveVertexData", "inData", "gl_MaxPatchVertices",
|
|
496
|
-
["vec4", "Peye"],
|
|
497
|
-
["vec3", "Neye"]
|
|
498
|
-
],
|
|
499
|
-
["out block array", "CurveVertexData", "outData", "HD_NUM_PATCH_EVAL_VERTS",
|
|
500
|
-
["vec4", "Peye"],
|
|
501
|
-
["vec3", "Neye"]
|
|
502
|
-
]
|
|
503
|
-
]
|
|
504
|
-
|
|
505
|
-
--- --------------------------------------------------------------------------
|
|
506
|
-
-- glsl Curves.TessControl.Cubic.Patch
|
|
507
|
-
|
|
508
|
-
void determineLODSettings(CurveData vertexData);
|
|
509
|
-
void main(void)
|
|
510
|
-
{
|
|
511
|
-
if (gl_InvocationID == 0) {
|
|
512
|
-
CurveData vertexData = PopulatePeyeAndNeye();
|
|
513
|
-
determineLODSettings(vertexData);
|
|
514
|
-
}
|
|
515
|
-
|
|
516
|
-
outData[gl_InvocationID].Peye = inData[gl_InvocationID].Peye;
|
|
517
|
-
outData[gl_InvocationID].Neye = inData[gl_InvocationID].Neye;
|
|
518
|
-
|
|
519
|
-
ProcessPrimvarsOut();
|
|
520
|
-
}
|
|
521
|
-
|
|
522
|
-
--- --------------------------------------------------------------------------
|
|
523
|
-
-- glsl Curves.CommonControl.Cubic.Ribbon
|
|
524
|
-
|
|
525
|
-
// Use the length of the control points in screen space to determine how many
|
|
526
|
-
// times to subdivide the curve.
|
|
527
|
-
void determineLODSettings(CurveData vertexData)
|
|
528
|
-
{
|
|
529
|
-
MAT4 projMat = GetProjectionMatrix();
|
|
530
|
-
vec4 viewport = GetViewport();
|
|
531
|
-
vec2 screen_size = vec2(viewport.z, viewport.w);
|
|
532
|
-
vec2 v0 = projectToScreen(projMat, vertexData.Peye[0], screen_size);
|
|
533
|
-
vec2 v1 = projectToScreen(projMat, vertexData.Peye[1], screen_size);
|
|
534
|
-
vec2 v2 = projectToScreen(projMat, vertexData.Peye[2], screen_size);
|
|
535
|
-
vec2 v3 = projectToScreen(projMat, vertexData.Peye[3], screen_size);
|
|
536
|
-
|
|
537
|
-
// Need to handle off screen
|
|
538
|
-
float dist = distance(v0, v1) + distance(v1, v2) + distance(v2, v3);
|
|
539
|
-
float level = TessLengthFromScreenSize(dist);
|
|
540
|
-
|
|
541
|
-
SetTessFactors(level, 1.0f, level, 1.0f, 1.0f, level);
|
|
542
|
-
}
|
|
543
|
-
|
|
544
|
-
--- --------------------------------------------------------------------------
|
|
545
|
-
-- glsl Curves.CommonControl.Cubic.HalfTube
|
|
546
|
-
|
|
547
|
-
float evaluateBasisWidth(float u,
|
|
548
|
-
CurveData vertexData, float screenSpaceWidthsArr[4])
|
|
549
|
-
{
|
|
550
|
-
vec4 basis = evaluateBasis(u, vertexData.Peye).basis;
|
|
551
|
-
|
|
552
|
-
float screenSpaceWidth = basis[0] * screenSpaceWidthsArr[0]
|
|
553
|
-
+ basis[1] * screenSpaceWidthsArr[1]
|
|
554
|
-
+ basis[2] * screenSpaceWidthsArr[2]
|
|
555
|
-
+ basis[3] * screenSpaceWidthsArr[3];
|
|
556
|
-
|
|
557
|
-
// increase detail in width by this value so tube curvature is better
|
|
558
|
-
// captured
|
|
559
|
-
const float widthMultiplier = 2.0;
|
|
560
|
-
return TessWidthFromScreenSize(screenSpaceWidth * widthMultiplier);
|
|
561
|
-
}
|
|
562
|
-
|
|
563
|
-
// Use the length of the control points in screen space to determine how many
|
|
564
|
-
// times to subdivide the curve.
|
|
565
|
-
// Use the width of the evaluated points in screen space to determine
|
|
566
|
-
// width-wise subdivision.
|
|
567
|
-
void determineLODSettings(CurveData vertexData)
|
|
568
|
-
{
|
|
569
|
-
MAT4 projMat = GetProjectionMatrix();
|
|
570
|
-
vec4 viewport = GetViewport();
|
|
571
|
-
vec2 screen_size = vec2(viewport.z, viewport.w);
|
|
572
|
-
|
|
573
|
-
// Length-wise factors
|
|
574
|
-
vec2 v0 = projectToScreen(projMat, vertexData.Peye[0], screen_size);
|
|
575
|
-
vec2 v1 = projectToScreen(projMat, vertexData.Peye[1], screen_size);
|
|
576
|
-
vec2 v2 = projectToScreen(projMat, vertexData.Peye[2], screen_size);
|
|
577
|
-
vec2 v3 = projectToScreen(projMat, vertexData.Peye[3], screen_size);
|
|
578
|
-
|
|
579
|
-
// Need to handle off screen
|
|
580
|
-
float dist = distance(v0, v1) + distance(v1, v2) + distance(v2, v3);
|
|
581
|
-
float level = TessLengthFromScreenSize(dist);
|
|
582
|
-
|
|
583
|
-
// Width-wise factors
|
|
584
|
-
float widths[4];
|
|
585
|
-
widths[0] = GetScreenSpaceWidth(0, vertexData, projMat);
|
|
586
|
-
widths[1] = GetScreenSpaceWidth(1, vertexData, projMat);
|
|
587
|
-
widths[2] = GetScreenSpaceWidth(2, vertexData, projMat);
|
|
588
|
-
widths[3] = GetScreenSpaceWidth(3, vertexData, projMat);
|
|
589
|
-
|
|
590
|
-
// Convert control point relative width to evaluated
|
|
591
|
-
// width based tessellation level
|
|
592
|
-
float level_u0_00 = evaluateBasisWidth(0.00, vertexData, widths);
|
|
593
|
-
float level_u0_33 = evaluateBasisWidth(0.33, vertexData, widths);
|
|
594
|
-
float level_u0_66 = evaluateBasisWidth(0.66, vertexData, widths);
|
|
595
|
-
float level_u1_00 = evaluateBasisWidth(1.00, vertexData, widths);
|
|
596
|
-
|
|
597
|
-
float level_uAvg = (level_u0_00 + level_u0_33
|
|
598
|
-
+ level_u0_66 + level_u1_00) / 4.0;
|
|
599
|
-
|
|
600
|
-
// using level_u0_00 and level_u1_00 on edges to avoid discontinuities
|
|
601
|
-
SetTessFactors(level, level_u0_00, level, level_u1_00, level_uAvg, level);
|
|
602
|
-
}
|
|
603
|
-
|
|
604
|
-
--- --------------------------------------------------------------------------
|
|
605
|
-
-- layout Curves.PostTessVertex.Cubic.Wire
|
|
606
|
-
|
|
607
|
-
[
|
|
608
|
-
["in", "quads"],
|
|
609
|
-
["in", "fractional_odd_spacing"],
|
|
610
|
-
["in", "ccw"],
|
|
611
|
-
["out block", "CurveVertexData", "outData",
|
|
612
|
-
["vec4", "Peye"]
|
|
613
|
-
]
|
|
614
|
-
]
|
|
615
|
-
|
|
616
|
-
--- --------------------------------------------------------------------------
|
|
617
|
-
-- glsl Curves.PostTessVertex.Cubic.Wire
|
|
618
|
-
|
|
619
|
-
void main(void)
|
|
620
|
-
{
|
|
621
|
-
float u = gl_TessCoord.x;
|
|
622
|
-
float v = .5;
|
|
623
|
-
|
|
624
|
-
CurveData vertexData = PopulatePeyeAndNeye();
|
|
625
|
-
|
|
626
|
-
Coeffs coeffs = evaluateBasis(u, vertexData.Peye);
|
|
627
|
-
vec4 basis = coeffs.basis;
|
|
628
|
-
vec4 pos = basis[0] * vertexData.Peye[0] +
|
|
629
|
-
basis[1] * vertexData.Peye[1] +
|
|
630
|
-
basis[2] * vertexData.Peye[2] +
|
|
631
|
-
basis[3] * vertexData.Peye[3];
|
|
632
|
-
|
|
633
|
-
outData.Peye = pos;
|
|
634
|
-
gl_Position = vec4(GetProjectionMatrix() * outData.Peye);
|
|
635
|
-
|
|
636
|
-
ApplyClipPlanes(outData.Peye);
|
|
637
|
-
|
|
638
|
-
ProcessPrimvarsOut(basis, 0, 1, 2, 3, vec2(u, v)); // interpolate varying primvars
|
|
639
|
-
}
|
|
640
|
-
|
|
641
|
-
--- --------------------------------------------------------------------------
|
|
642
|
-
-- layout Curves.TessEval.Cubic.Wire
|
|
643
|
-
|
|
644
|
-
[
|
|
645
|
-
["in", "isolines"],
|
|
646
|
-
["in", "fractional_odd_spacing"],
|
|
647
|
-
["in block array", "CurveVertexData", "inData", "gl_MaxPatchVertices",
|
|
648
|
-
["vec4", "Peye"]
|
|
649
|
-
],
|
|
650
|
-
["out block", "CurveVertexData", "outData",
|
|
651
|
-
["vec4", "Peye"]
|
|
652
|
-
]
|
|
653
|
-
]
|
|
654
|
-
|
|
655
|
-
--- --------------------------------------------------------------------------
|
|
656
|
-
-- glsl Curves.TessEval.Cubic.Wire
|
|
657
|
-
|
|
658
|
-
FORWARD_DECL(Coeffs evaluateBasis(float u, const vec4 cv[4]));
|
|
659
|
-
|
|
660
|
-
void main()
|
|
661
|
-
{
|
|
662
|
-
float u = gl_TessCoord.x;
|
|
663
|
-
float v = .5;
|
|
664
|
-
|
|
665
|
-
const vec4 cv[4] = {
|
|
666
|
-
inData[0].Peye,
|
|
667
|
-
inData[1].Peye,
|
|
668
|
-
inData[2].Peye,
|
|
669
|
-
inData[3].Peye,
|
|
670
|
-
};
|
|
671
|
-
|
|
672
|
-
Coeffs coeffs = evaluateBasis(u, cv);
|
|
673
|
-
vec4 basis = coeffs.basis;
|
|
674
|
-
vec4 pos =
|
|
675
|
-
basis[0] * cv[0] +
|
|
676
|
-
basis[1] * cv[1] +
|
|
677
|
-
basis[2] * cv[2] +
|
|
678
|
-
basis[3] * cv[3];
|
|
679
|
-
|
|
680
|
-
outData.Peye = pos;
|
|
681
|
-
gl_Position = vec4(GetProjectionMatrix() * outData.Peye);
|
|
682
|
-
|
|
683
|
-
ApplyClipPlanes(outData.Peye);
|
|
684
|
-
|
|
685
|
-
ProcessPrimvarsOut(basis, 0, 1, 2, 3, vec2(u, v)); // interpolate varying primvars
|
|
686
|
-
}
|
|
687
|
-
|
|
688
|
-
--- --------------------------------------------------------------------------
|
|
689
|
-
-- layout Curves.PostTessVertex.Patch
|
|
690
|
-
|
|
691
|
-
[
|
|
692
|
-
["in", "quads"],
|
|
693
|
-
["in", "fractional_odd_spacing"],
|
|
694
|
-
["in", "ccw"],
|
|
695
|
-
["out block", "CurveVertexData", "outData",
|
|
696
|
-
["vec4", "Peye"],
|
|
697
|
-
["vec3", "Neye"]
|
|
698
|
-
],
|
|
699
|
-
["out", "float", "u"],
|
|
700
|
-
["out", "float", "v"]
|
|
701
|
-
]
|
|
702
|
-
|
|
703
|
-
--- --------------------------------------------------------------------------
|
|
704
|
-
-- glsl Curves.PostTessVertex.Patch
|
|
705
|
-
|
|
706
|
-
--- --------------------------------------------------------------------------
|
|
707
|
-
-- layout Curves.TessEval.Patch
|
|
708
|
-
|
|
709
|
-
[
|
|
710
|
-
["in", "quads"],
|
|
711
|
-
["in", "fractional_odd_spacing"],
|
|
712
|
-
["in", "ccw"],
|
|
713
|
-
["in block array", "CurveVertexData", "inData", "gl_MaxPatchVertices",
|
|
714
|
-
["vec4", "Peye"],
|
|
715
|
-
["vec3", "Neye"]
|
|
716
|
-
],
|
|
717
|
-
["out block", "CurveVertexData", "outData",
|
|
718
|
-
["vec4", "Peye"],
|
|
719
|
-
["vec3", "Neye"]
|
|
720
|
-
],
|
|
721
|
-
["out", "float", "u"],
|
|
722
|
-
["out", "float", "v"]
|
|
723
|
-
]
|
|
724
|
-
|
|
725
|
-
--- --------------------------------------------------------------------------
|
|
726
|
-
-- glsl Curves.TessEval.Patch
|
|
727
|
-
|
|
728
|
-
--- --------------------------------------------------------------------------
|
|
729
|
-
-- glsl Curves.CommonEval.Patch
|
|
730
|
-
|
|
731
|
-
// Predefine so that we can later swap in the correct one depending
|
|
732
|
-
// on what type of curve we have
|
|
733
|
-
|
|
734
|
-
FORWARD_DECL(
|
|
735
|
-
void evaluate(float u, float v, REF(thread, vec4) position,
|
|
736
|
-
REF(thread, vec4) tangent, REF(thread, float) width,
|
|
737
|
-
REF(thread, vec3) normal, CurveData vertexData));
|
|
738
|
-
FORWARD_DECL(Coeffs evaluateBasis(float u, const vec4 cv[4]));
|
|
739
|
-
|
|
740
|
-
// it's the responsibility of orient to store Neye, usually with either
|
|
741
|
-
// the computed normal or the tangent (from which the normal will be computed
|
|
742
|
-
// in the fragment shader.)
|
|
743
|
-
FORWARD_DECL(vec3 orient(float v, vec4 position, vec4 tangent, vec3 normal));
|
|
744
|
-
|
|
745
|
-
void main()
|
|
746
|
-
{
|
|
747
|
-
u = gl_TessCoord.y;
|
|
748
|
-
v = gl_TessCoord.x;
|
|
749
|
-
|
|
750
|
-
CurveData vertexData = PopulatePeyeAndNeye();
|
|
751
|
-
|
|
752
|
-
Coeffs coeffs = evaluateBasis(u, vertexData.Peye);
|
|
753
|
-
vec4 basis = coeffs.basis;
|
|
754
|
-
|
|
755
|
-
vec4 position;
|
|
756
|
-
vec4 tangent;
|
|
757
|
-
float rawWidth;
|
|
758
|
-
vec3 normal;
|
|
759
|
-
|
|
760
|
-
evaluate(u, v, position, tangent, rawWidth, normal, vertexData);
|
|
761
|
-
vec3 direction = orient(v, position, tangent, normal);
|
|
762
|
-
MAT4 transform = ApplyInstanceTransform(HdGet_transform());
|
|
763
|
-
|
|
764
|
-
float worldSpaceWidth = rawWidth * length(
|
|
765
|
-
GetWorldToViewMatrix() * transform * vec4(direction, 0));
|
|
766
|
-
|
|
767
|
-
MAT4 projMat = GetProjectionMatrix();
|
|
768
|
-
|
|
769
|
-
#if defined(HD_HAS_screenSpaceWidths) || defined(HD_HAS_minScreenSpaceWidths)
|
|
770
|
-
float worldToPixelWidth = WorldToPixelWidth(projMat, position.z);
|
|
771
|
-
|
|
772
|
-
#ifdef HD_HAS_screenSpaceWidths
|
|
773
|
-
if (HdGet_screenSpaceWidths()) {
|
|
774
|
-
// Compute a world space width that yields the given width interpreted
|
|
775
|
-
// in screen space pixels.
|
|
776
|
-
worldSpaceWidth = rawWidth / worldToPixelWidth;
|
|
777
|
-
}
|
|
778
|
-
#endif
|
|
779
|
-
|
|
780
|
-
#ifdef HD_HAS_minScreenSpaceWidths
|
|
781
|
-
// Compute a world space width that yields, at minimum, the given
|
|
782
|
-
// minScreenSpaceWidth interpreted in screen space pixels.
|
|
783
|
-
float minScreenSpaceWidth = HdGet_minScreenSpaceWidths();
|
|
784
|
-
float screenSpaceWidth = worldSpaceWidth * worldToPixelWidth;
|
|
785
|
-
if (screenSpaceWidth < minScreenSpaceWidth) {
|
|
786
|
-
worldSpaceWidth *= minScreenSpaceWidth / screenSpaceWidth;
|
|
787
|
-
}
|
|
788
|
-
#endif
|
|
789
|
-
|
|
790
|
-
#endif // end screen space operations
|
|
791
|
-
|
|
792
|
-
vec3 offset = direction * worldSpaceWidth * 0.5;
|
|
793
|
-
position.xyz = position.xyz + offset;
|
|
794
|
-
position.w = 1;
|
|
795
|
-
|
|
796
|
-
outData.Peye = position;
|
|
797
|
-
|
|
798
|
-
gl_Position = vec4(projMat * outData.Peye);
|
|
799
|
-
ApplyClipPlanes(outData.Peye);
|
|
800
|
-
|
|
801
|
-
ProcessPrimvarsOut(basis, 0, 1, 2, 3, vec2(u, v)); // interpolate varying primvars
|
|
802
|
-
}
|
|
803
|
-
|
|
804
|
-
--- --------------------------------------------------------------------------
|
|
805
|
-
-- glsl Curves.CommonEval.Linear.Patch
|
|
806
|
-
|
|
807
|
-
vec3 evaluateNormal(float u, CurveData vertexData)
|
|
808
|
-
{
|
|
809
|
-
// XXX: This clamp is a hack to mask some odd orientation flipping issues
|
|
810
|
-
u = clamp(u, 1e-3f, 1.0f - 1e-3f);
|
|
811
|
-
return mix(vertexData.Neye[1], vertexData.Neye[0], u);
|
|
812
|
-
}
|
|
813
|
-
|
|
814
|
-
void evaluate(float u, float v, REF(thread, vec4) position,
|
|
815
|
-
REF(thread, vec4) tangent, REF(thread, float) width,
|
|
816
|
-
REF(thread, vec3) normal, CurveData vertexData) {
|
|
817
|
-
vec4 p0 = vertexData.Peye[0];
|
|
818
|
-
vec4 p1 = vertexData.Peye[1];
|
|
819
|
-
|
|
820
|
-
float w0 = HdGet_widths(0);
|
|
821
|
-
float w1 = HdGet_widths(1);
|
|
822
|
-
|
|
823
|
-
position = mix(p1, p0, u);
|
|
824
|
-
tangent = normalize(p1 - p0);
|
|
825
|
-
width = mix(w1, w0, u);
|
|
826
|
-
normal = normalize(evaluateNormal(u, vertexData));
|
|
827
|
-
}
|
|
828
|
-
|
|
829
|
-
--- --------------------------------------------------------------------------
|
|
830
|
-
-- glsl Curves.CommonEval.Cubic.Patch
|
|
831
|
-
|
|
832
|
-
FORWARD_DECL(Coeffs evaluateBasis(float u, const vec4 cv[4]));
|
|
833
|
-
FORWARD_DECL(float evaluateWidths(vec4 basis, float u));
|
|
834
|
-
FORWARD_DECL(vec3 evaluateNormal(vec4 basis, float u, CurveData vertexData));
|
|
835
|
-
|
|
836
|
-
void evaluate(float u, float v, REF(thread, vec4) position,
|
|
837
|
-
REF(thread, vec4) tangent, REF(thread, float) width,
|
|
838
|
-
REF(thread, vec3) normal, CurveData vertexData) {
|
|
839
|
-
Coeffs coeffs = evaluateBasis(u, vertexData.Peye);
|
|
840
|
-
|
|
841
|
-
position = coeffs.basis[0] * vertexData.Peye[0] +
|
|
842
|
-
coeffs.basis[1] * vertexData.Peye[1] +
|
|
843
|
-
coeffs.basis[2] * vertexData.Peye[2] +
|
|
844
|
-
coeffs.basis[3] * vertexData.Peye[3];
|
|
845
|
-
|
|
846
|
-
tangent = coeffs.tangent_basis[0] * vertexData.Peye[0] +
|
|
847
|
-
coeffs.tangent_basis[1] * vertexData.Peye[1] +
|
|
848
|
-
coeffs.tangent_basis[2] * vertexData.Peye[2] +
|
|
849
|
-
coeffs.tangent_basis[3] * vertexData.Peye[3];
|
|
850
|
-
|
|
851
|
-
width = evaluateWidths(coeffs.basis, u);
|
|
852
|
-
normal = normalize(evaluateNormal(coeffs.basis, u, vertexData));
|
|
853
|
-
const float tanLength = length(tangent);
|
|
854
|
-
if (tanLength > 1e-5) {
|
|
855
|
-
tangent /= tanLength;
|
|
856
|
-
} else {
|
|
857
|
-
// Flipped from what you expect.
|
|
858
|
-
tangent = normalize(vertexData.Peye[0] - vertexData.Peye[3]);
|
|
859
|
-
}
|
|
860
|
-
}
|
|
861
|
-
|
|
862
|
-
--- --------------------------------------------------------------------------
|
|
863
|
-
-- glsl Curves.CommonEval.HalfTube
|
|
864
|
-
|
|
865
|
-
vec3 orient(float v, vec4 position, vec4 tangent, vec3 normal){
|
|
866
|
-
outData.Neye = tangent.xyz;
|
|
867
|
-
vec3 d = normalize(cross(position.xyz, tangent.xyz));
|
|
868
|
-
vec3 n = normalize(cross(d, tangent.xyz));
|
|
869
|
-
|
|
870
|
-
vec3 norm_pos = mix(n, d, (2.0*v) - 1.0);
|
|
871
|
-
vec3 norm_neg = mix(-d, n, (2.0*v));
|
|
872
|
-
normal = normalize(mix(norm_neg, norm_pos, step(0.5, v)));
|
|
873
|
-
return normal;
|
|
874
|
-
}
|
|
875
|
-
|
|
876
|
-
--- --------------------------------------------------------------------------
|
|
877
|
-
-- glsl Curves.CommonEval.Ribbon.Oriented
|
|
878
|
-
|
|
879
|
-
vec3 orient(float v, vec4 position, vec4 tangent, vec3 normal){
|
|
880
|
-
outData.Neye = normal;
|
|
881
|
-
return normalize(cross(tangent.xyz, normal) * (v - 0.5));
|
|
882
|
-
}
|
|
883
|
-
|
|
884
|
-
--- --------------------------------------------------------------------------
|
|
885
|
-
-- glsl Curves.CommonEval.Ribbon.Implicit
|
|
886
|
-
|
|
887
|
-
vec3 orient(float v, vec4 position, vec4 tangent, vec3 normal){
|
|
888
|
-
outData.Neye = tangent.xyz;
|
|
889
|
-
// NOTE: lava/lib/basisCurves currently uses tangent X position instead of
|
|
890
|
-
// tangent X normal. We should do a more thorough evaluation to see which
|
|
891
|
-
// is better but to minimize regressions, we're going to keep this as
|
|
892
|
-
// tangent X normal for now.
|
|
893
|
-
return normalize(cross(tangent.xyz, normal) * (v - 0.5));
|
|
894
|
-
}
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
--- --------------------------------------------------------------------------
|
|
898
|
-
-- glsl Curves.Cubic.Normals.Basis
|
|
899
|
-
|
|
900
|
-
vec3 evaluateNormal(vec4 basis, float u, CurveData vertexData)
|
|
901
|
-
{
|
|
902
|
-
vec3 n0 = vertexData.Neye[0];
|
|
903
|
-
vec3 n1 = vertexData.Neye[1];
|
|
904
|
-
vec3 n2 = vertexData.Neye[2];
|
|
905
|
-
vec3 n3 = vertexData.Neye[3];
|
|
906
|
-
return n0 * basis.x
|
|
907
|
-
+ n1 * basis.y
|
|
908
|
-
+ n2 * basis.z
|
|
909
|
-
+ n3 * basis.w;
|
|
910
|
-
}
|
|
911
|
-
|
|
912
|
-
--- --------------------------------------------------------------------------
|
|
913
|
-
-- glsl Curves.Cubic.Normals.Linear
|
|
914
|
-
|
|
915
|
-
// HdSt only supports vertex (cubic) primvar indexes and expands varying
|
|
916
|
-
// (linear) primvars so we pull the data out of only the two interior indices.
|
|
917
|
-
// This may not be valid for all potential basis, but works well for curves with
|
|
918
|
-
// vstep = 1 and bezier, the only supported cubic curves in HdSt.
|
|
919
|
-
|
|
920
|
-
vec3 evaluateNormal(vec4 basis, float u, CurveData vertexData)
|
|
921
|
-
{
|
|
922
|
-
// XXX: This clamp is a hack to mask some odd orientation flipping issues
|
|
923
|
-
// for oriented bezier curves.
|
|
924
|
-
u = clamp(u, 1e-3f, 1.0f - 1e-3f);
|
|
925
|
-
return mix(vertexData.Neye[2], vertexData.Neye[1], u);
|
|
926
|
-
}
|
|
927
|
-
|
|
928
|
-
--- --------------------------------------------------------------------------
|
|
929
|
-
-- glsl Curves.Cubic.Widths.Basis
|
|
930
|
-
|
|
931
|
-
float evaluateWidths(vec4 basis, float u)
|
|
932
|
-
{
|
|
933
|
-
float w0 = HdGet_widths(0);
|
|
934
|
-
float w1 = HdGet_widths(1);
|
|
935
|
-
float w2 = HdGet_widths(2);
|
|
936
|
-
float w3 = HdGet_widths(3);
|
|
937
|
-
return w0 * basis.x
|
|
938
|
-
+ w1 * basis.y
|
|
939
|
-
+ w2 * basis.z
|
|
940
|
-
+ w3 * basis.w;
|
|
941
|
-
}
|
|
942
|
-
|
|
943
|
-
--- --------------------------------------------------------------------------
|
|
944
|
-
-- glsl Curves.Cubic.Widths.Linear
|
|
945
|
-
|
|
946
|
-
// HdSt only supports vertex (cubic) primvar indexes and expands varying
|
|
947
|
-
// (linear) primvars so we pull the data out of only the two interior indices.
|
|
948
|
-
// (ie. w0 -> widths[1], w1 -> widths[2])
|
|
949
|
-
// This may not be valid for all potential basis, but works well for curves with
|
|
950
|
-
// vstep = 1 and bezier, the only supported cubic curves in HdSt.
|
|
951
|
-
float evaluateWidths(vec4 basis, float u)
|
|
952
|
-
{
|
|
953
|
-
float w0 = HdGet_widths(1);
|
|
954
|
-
float w1 = HdGet_widths(2);
|
|
955
|
-
return mix(w1, w0, u);
|
|
956
|
-
}
|
|
957
|
-
|
|
958
|
-
--- --------------------------------------------------------------------------
|
|
959
|
-
-- glsl Curves.Linear.VaryingInterpolation
|
|
960
|
-
|
|
961
|
-
float InterpolatePrimvar(float inPv0, float inPv1, float inPv2, float inPv3,
|
|
962
|
-
vec4 basis, vec2 uv)
|
|
963
|
-
{
|
|
964
|
-
return inPv0 * basis.x +
|
|
965
|
-
inPv1 * basis.y +
|
|
966
|
-
inPv2 * basis.z +
|
|
967
|
-
inPv3 * basis.w;
|
|
968
|
-
}
|
|
969
|
-
|
|
970
|
-
vec2 InterpolatePrimvar(vec2 inPv0, vec2 inPv1, vec2 inPv2, vec2 inPv3,
|
|
971
|
-
vec4 basis, vec2 uv)
|
|
972
|
-
{
|
|
973
|
-
return inPv0 * basis.x +
|
|
974
|
-
inPv1 * basis.y +
|
|
975
|
-
inPv2 * basis.z +
|
|
976
|
-
inPv3 * basis.w;
|
|
977
|
-
}
|
|
978
|
-
|
|
979
|
-
vec3 InterpolatePrimvar(vec3 inPv0, vec3 inPv1, vec3 inPv2, vec3 inPv3,
|
|
980
|
-
vec4 basis, vec2 uv)
|
|
981
|
-
{
|
|
982
|
-
return inPv0 * basis.x +
|
|
983
|
-
inPv1 * basis.y +
|
|
984
|
-
inPv2 * basis.z +
|
|
985
|
-
inPv3 * basis.w;
|
|
986
|
-
}
|
|
987
|
-
|
|
988
|
-
vec4 InterpolatePrimvar(vec4 inPv0, vec4 inPv1, vec4 inPv2, vec4 inPv3,
|
|
989
|
-
vec4 basis, vec2 uv)
|
|
990
|
-
{
|
|
991
|
-
return inPv0 * basis.x +
|
|
992
|
-
inPv1 * basis.y +
|
|
993
|
-
inPv2 * basis.z +
|
|
994
|
-
inPv3 * basis.w;
|
|
995
|
-
}
|
|
996
|
-
|
|
997
|
-
--- --------------------------------------------------------------------------
|
|
998
|
-
-- glsl Curves.Cubic.VaryingInterpolation
|
|
999
|
-
|
|
1000
|
-
float InterpolatePrimvar(float inPv0, float inPv1, float inPv2, float inPv3,
|
|
1001
|
-
vec4 basis, vec2 uv)
|
|
1002
|
-
{
|
|
1003
|
-
return mix(inPv2, inPv1, uv.x);
|
|
1004
|
-
}
|
|
1005
|
-
|
|
1006
|
-
vec2 InterpolatePrimvar(vec2 inPv0, vec2 inPv1, vec2 inPv2, vec2 inPv3,
|
|
1007
|
-
vec4 basis, vec2 uv)
|
|
1008
|
-
{
|
|
1009
|
-
return mix(inPv2, inPv1, uv.x);
|
|
1010
|
-
}
|
|
1011
|
-
|
|
1012
|
-
vec3 InterpolatePrimvar(vec3 inPv0, vec3 inPv1, vec3 inPv2, vec3 inPv3,
|
|
1013
|
-
vec4 basis, vec2 uv)
|
|
1014
|
-
{
|
|
1015
|
-
return mix(inPv2, inPv1, uv.x);
|
|
1016
|
-
}
|
|
1017
|
-
|
|
1018
|
-
vec4 InterpolatePrimvar(vec4 inPv0, vec4 inPv1, vec4 inPv2, vec4 inPv3,
|
|
1019
|
-
vec4 basis, vec2 uv)
|
|
1020
|
-
{
|
|
1021
|
-
return mix(inPv2, inPv1, uv.x);
|
|
1022
|
-
}
|
|
1023
|
-
|
|
1024
|
-
--- --------------------------------------------------------------------------
|
|
1025
|
-
-- glsl Curves.BezierBasis
|
|
1026
|
-
|
|
1027
|
-
Coeffs evaluateBasis(float u, const vec4 cv[4])
|
|
1028
|
-
{
|
|
1029
|
-
const float u2 = u*u;
|
|
1030
|
-
const float u3 = u2*u;
|
|
1031
|
-
|
|
1032
|
-
vec4 basis; vec4 tangent_basis;
|
|
1033
|
-
basis[0] = u3;
|
|
1034
|
-
basis[1] = -3.0*u3 + 3.0*u2;
|
|
1035
|
-
basis[2] = 3.0*u3 - 6.0*u2 + 3.0*u;
|
|
1036
|
-
basis[3] = -1.0*u3 + 3.0*u2 - 3.0*u + 1.0;
|
|
1037
|
-
|
|
1038
|
-
tangent_basis[0] = 3.0*u2;
|
|
1039
|
-
tangent_basis[1] = -9.0*u2 + 6.0*u;
|
|
1040
|
-
tangent_basis[2] = 9.0*u2 - 12.0*u + 3.0;
|
|
1041
|
-
tangent_basis[3] = -3.0*u2 + 6.0*u - 3.0;
|
|
1042
|
-
|
|
1043
|
-
Coeffs coeffs = { basis, tangent_basis };
|
|
1044
|
-
return coeffs;
|
|
1045
|
-
}
|
|
1046
|
-
|
|
1047
|
-
--- --------------------------------------------------------------------------
|
|
1048
|
-
-- glsl Curves.LinearBasis
|
|
1049
|
-
|
|
1050
|
-
Coeffs evaluateBasis(float u, const vec4 cv[4])
|
|
1051
|
-
{
|
|
1052
|
-
const float u2 = u*u;
|
|
1053
|
-
const float u3 = u2*u;
|
|
1054
|
-
|
|
1055
|
-
vec4 basis; vec4 tangent_basis;
|
|
1056
|
-
basis[0] = u;
|
|
1057
|
-
basis[1] = 1.0 - u;
|
|
1058
|
-
basis[2] = 0;
|
|
1059
|
-
basis[3] = 0.0;
|
|
1060
|
-
|
|
1061
|
-
tangent_basis[0] = 1;
|
|
1062
|
-
tangent_basis[1] = -1;
|
|
1063
|
-
tangent_basis[2] = 0;
|
|
1064
|
-
tangent_basis[3] = 0;
|
|
1065
|
-
|
|
1066
|
-
Coeffs coeffs = { basis, tangent_basis };
|
|
1067
|
-
return coeffs;
|
|
1068
|
-
}
|
|
1069
|
-
|
|
1070
|
-
--- --------------------------------------------------------------------------
|
|
1071
|
-
-- glsl Curves.CatmullRomBasis
|
|
1072
|
-
|
|
1073
|
-
Coeffs evaluateBasis(float u, const vec4 cv[4])
|
|
1074
|
-
{
|
|
1075
|
-
const float u2 = u*u;
|
|
1076
|
-
const float u3 = u2*u;
|
|
1077
|
-
|
|
1078
|
-
vec4 basis; vec4 tangent_basis;
|
|
1079
|
-
basis[0] = 0.5*u3 - 0.5*u2;
|
|
1080
|
-
basis[1] = -1.5*u3 + 2.0*u2 + 0.5*u;
|
|
1081
|
-
basis[2] = 1.5*u3 - 2.5*u2 + 1.0;
|
|
1082
|
-
basis[3] = -0.5*u3 + u2 - 0.5*u;
|
|
1083
|
-
|
|
1084
|
-
tangent_basis[0] = 1.5*u2 - u;
|
|
1085
|
-
tangent_basis[1] = -4.5*u2 + 4.0*u + 0.5;
|
|
1086
|
-
tangent_basis[2] = 4.5*u2 - 5.0*u;
|
|
1087
|
-
tangent_basis[3] = -1.5*u2 + 2.0*u - 0.5;
|
|
1088
|
-
|
|
1089
|
-
Coeffs coeffs = { basis, tangent_basis };
|
|
1090
|
-
return coeffs;
|
|
1091
|
-
}
|
|
1092
|
-
|
|
1093
|
-
--- --------------------------------------------------------------------------
|
|
1094
|
-
-- glsl Curves.CentripetalCatmullRomBasis
|
|
1095
|
-
|
|
1096
|
-
Coeffs evaluateBasis(float u, const vec4 cv[4])
|
|
1097
|
-
{
|
|
1098
|
-
// centripetal arc-length
|
|
1099
|
-
float d01 = sqrt(length(cv[1] - cv[0]));
|
|
1100
|
-
float d12 = sqrt(length(cv[2] - cv[1]));
|
|
1101
|
-
float d23 = sqrt(length(cv[3] - cv[2]));
|
|
1102
|
-
|
|
1103
|
-
// handling generate CVs.
|
|
1104
|
-
if (d12 < 1.e-4) d12 = 1.;
|
|
1105
|
-
if (d01 < 1.e-4) d01 = d12;
|
|
1106
|
-
if (d23 < 1.e-4) d23 = d12;
|
|
1107
|
-
|
|
1108
|
-
// centripetal reparametrization
|
|
1109
|
-
vec4 w;
|
|
1110
|
-
w[0] = 0.;
|
|
1111
|
-
w[1] = w[0] + d01;
|
|
1112
|
-
w[2] = w[1] + d12;
|
|
1113
|
-
w[3] = w[2] + d23;
|
|
1114
|
-
|
|
1115
|
-
// remap parameter value to reparametrized values.
|
|
1116
|
-
const float t = (1.-u)*w[1] + u*w[2];
|
|
1117
|
-
const float dtdu = w[2] - w[1];
|
|
1118
|
-
|
|
1119
|
-
// coefficients (and derivatives) for recursive evaluation.
|
|
1120
|
-
|
|
1121
|
-
vec2 P01, dP01;
|
|
1122
|
-
vec2 P12, dP12;
|
|
1123
|
-
vec2 P23, dP23;
|
|
1124
|
-
vec2 P012, dP012;
|
|
1125
|
-
vec2 P123, dP123;
|
|
1126
|
-
vec2 P0123, dP0123;
|
|
1127
|
-
|
|
1128
|
-
P01[0] = (w[1] - t) / (w[1] - w[0]);
|
|
1129
|
-
dP01[0] = - dtdu / (w[1] - w[0]);
|
|
1130
|
-
|
|
1131
|
-
P12[0] = (w[2] - t) / (w[2] - w[1]);
|
|
1132
|
-
dP12[0] = - dtdu / (w[2] - w[1]);
|
|
1133
|
-
|
|
1134
|
-
P23[0] = (w[3] - t) / (w[3] - w[2]);
|
|
1135
|
-
dP23[0] = - dtdu / (w[3] - w[2]);
|
|
1136
|
-
|
|
1137
|
-
P012[0] = (w[2] - t) / (w[2] - w[0]);
|
|
1138
|
-
dP012[0] = - dtdu / (w[2] - w[0]);
|
|
1139
|
-
|
|
1140
|
-
P123[0] = (w[3] - t) / (w[3] - w[1]);
|
|
1141
|
-
dP123[0] = - dtdu / (w[3] - w[1]);
|
|
1142
|
-
|
|
1143
|
-
P0123[0] = (w[2] - t) / (w[2] - w[1]);
|
|
1144
|
-
dP0123[0] = - dtdu / (w[2] - w[1]);
|
|
1145
|
-
|
|
1146
|
-
P01[1] = 1. - P01[0];
|
|
1147
|
-
P12[1] = 1. - P12[0];
|
|
1148
|
-
P23[1] = 1. - P23[0];
|
|
1149
|
-
P012[1] = 1. - P012[0];
|
|
1150
|
-
P123[1] = 1. - P123[0];
|
|
1151
|
-
P0123[1] = 1. - P0123[0];
|
|
1152
|
-
|
|
1153
|
-
dP01[1] = - dP01[0];
|
|
1154
|
-
dP12[1] = - dP12[0];
|
|
1155
|
-
dP23[1] = - dP23[0];
|
|
1156
|
-
dP012[1] = - dP012[0];
|
|
1157
|
-
dP123[1] = - dP123[0];
|
|
1158
|
-
dP0123[1] = - dP0123[0];
|
|
1159
|
-
|
|
1160
|
-
vec4 basis;
|
|
1161
|
-
basis[0] = P01[0]*P012[0]*P0123[0];
|
|
1162
|
-
basis[1] = P01[1]*P012[0]*P0123[0] +
|
|
1163
|
-
P12[0]*P012[1]*P0123[0] + P12[0]*P123[0]*P0123[1];
|
|
1164
|
-
basis[2] = P12[1]*P012[1]*P0123[0] +
|
|
1165
|
-
P12[1]*P123[0]*P0123[1] + P23[0]*P123[1]*P0123[1];
|
|
1166
|
-
basis[3] = P23[1]*P123[1]*P0123[1];
|
|
1167
|
-
|
|
1168
|
-
vec4 tangent_basis;
|
|
1169
|
-
tangent_basis[0] = dP01[0]*P012[0]*P0123[0] +
|
|
1170
|
-
P01[0]*dP012[0]*P0123[0] + P01[0]*P012[0]*dP0123[0];
|
|
1171
|
-
tangent_basis[1] = dP01[1]*P012[0]*P0123[0] +
|
|
1172
|
-
P01[1]*dP012[0]*P0123[0] + P01[1]*P012[0]*dP0123[0] +
|
|
1173
|
-
dP12[0]*P012[1]*P0123[0] + P12[0]*dP012[1]*P0123[0] +
|
|
1174
|
-
P12[0]*P012[1]*dP0123[0] + dP12[0]*P123[0]*P0123[1] +
|
|
1175
|
-
P12[0]*dP123[0]*P0123[1] + P12[0]*P123[0]*dP0123[1];
|
|
1176
|
-
tangent_basis[2] = dP12[1]*P012[1]*P0123[0] +
|
|
1177
|
-
P12[1]*dP012[1]*P0123[0] + P12[1]*P012[1]*dP0123[0] +
|
|
1178
|
-
dP12[1]*P123[0]*P0123[1] + P12[1]*dP123[0]*P0123[1] +
|
|
1179
|
-
P12[1]*P123[0]*dP0123[1] + dP23[0]*P123[1]*P0123[1] +
|
|
1180
|
-
P23[0]*dP123[1]*P0123[1] + P23[0]*P123[1]*dP0123[1];
|
|
1181
|
-
tangent_basis[3] = dP23[1]*P123[1]*P0123[1] +
|
|
1182
|
-
P23[1]*dP123[1]*P0123[1] + P23[1]*P123[1]*dP0123[1];
|
|
1183
|
-
|
|
1184
|
-
return Coeffs(basis, tangent_basis);
|
|
1185
|
-
}
|
|
1186
|
-
|
|
1187
|
-
--- --------------------------------------------------------------------------
|
|
1188
|
-
-- glsl Curves.BsplineBasis
|
|
1189
|
-
|
|
1190
|
-
Coeffs evaluateBasis(float u, const vec4 cv[4])
|
|
1191
|
-
{
|
|
1192
|
-
const float u2 = u*u;
|
|
1193
|
-
const float u3 = u2*u;
|
|
1194
|
-
|
|
1195
|
-
vec4 basis; vec4 tangent_basis;
|
|
1196
|
-
basis[0] = (1.0/6.0)*u3;
|
|
1197
|
-
basis[1] = -0.5*u3 + 0.5*u2 + 0.5*u + (1.0/6.0);
|
|
1198
|
-
basis[2] = 0.5*u3 - u2 + (2.0/3.0);
|
|
1199
|
-
basis[3] = -(1.0/6.0)*u3 + 0.5*u2 - 0.5*u + (1.0/6.0);
|
|
1200
|
-
|
|
1201
|
-
tangent_basis[0] = 0.5*u2;
|
|
1202
|
-
tangent_basis[1] = -1.5*u2 + u + 0.5;
|
|
1203
|
-
tangent_basis[2] = 1.5*u2 - 2.0*u;
|
|
1204
|
-
tangent_basis[3] = -0.5*u2 + u - 0.5;
|
|
1205
|
-
|
|
1206
|
-
Coeffs coeffs = { basis, tangent_basis };
|
|
1207
|
-
return coeffs;
|
|
1208
|
-
}
|
|
1209
|
-
|
|
1210
|
-
--- --------------------------------------------------------------------------
|
|
1211
|
-
-- layout Curves.Fragment.Wire
|
|
1212
|
-
|
|
1213
|
-
[
|
|
1214
|
-
["in block", "CurveVertexData", "inData",
|
|
1215
|
-
["vec4", "Peye"]
|
|
1216
|
-
]
|
|
1217
|
-
]
|
|
1218
|
-
|
|
1219
|
-
--- --------------------------------------------------------------------------
|
|
1220
|
-
-- glsl Curves.Fragment.Wire
|
|
1221
|
-
|
|
1222
|
-
void main(void)
|
|
1223
|
-
{
|
|
1224
|
-
ApplyDiskSampleMask();
|
|
1225
|
-
|
|
1226
|
-
DiscardBasedOnTopologicalVisibility();
|
|
1227
|
-
|
|
1228
|
-
vec4 color = vec4(0.5, 0.5, 0.5, 1);
|
|
1229
|
-
#ifdef HD_HAS_displayColor
|
|
1230
|
-
color.rgb = HdGet_displayColor().rgb;
|
|
1231
|
-
#endif
|
|
1232
|
-
#ifdef HD_HAS_displayOpacity
|
|
1233
|
-
color.a = HdGet_displayOpacity();
|
|
1234
|
-
#endif
|
|
1235
|
-
vec3 Peye = inData.Peye.xyz / inData.Peye.w;
|
|
1236
|
-
|
|
1237
|
-
// We would like to have a better oriented normal here, however to keep the
|
|
1238
|
-
// shader fast, we use this camera-facing approximation.
|
|
1239
|
-
vec3 Neye = vec3(0,0,1);
|
|
1240
|
-
|
|
1241
|
-
// y = 0.5 to approximate the wire shading the midpoint
|
|
1242
|
-
// of the curve width-wise
|
|
1243
|
-
vec4 patchCoord = vec4(0, 0.5, 0, 0);
|
|
1244
|
-
|
|
1245
|
-
color = ShadingTerminal(vec4(Peye, 1), Neye, color, patchCoord);
|
|
1246
|
-
|
|
1247
|
-
#ifdef HD_MATERIAL_TAG_MASKED
|
|
1248
|
-
if (ShouldDiscardByAlpha(color)) {
|
|
1249
|
-
discard;
|
|
1250
|
-
}
|
|
1251
|
-
#endif
|
|
1252
|
-
|
|
1253
|
-
RenderOutput(vec4(Peye, 1), Neye, color, patchCoord);
|
|
1254
|
-
}
|
|
1255
|
-
|
|
1256
|
-
--- --------------------------------------------------------------------------
|
|
1257
|
-
-- layout Curves.Fragment.Patch
|
|
1258
|
-
|
|
1259
|
-
[
|
|
1260
|
-
["in", "float", "u", "centroid"],
|
|
1261
|
-
["in", "float", "v", "centroid"],
|
|
1262
|
-
["in block", "CurveVertexData", "inData",
|
|
1263
|
-
["vec4", "Peye"],
|
|
1264
|
-
["vec3", "Neye"]
|
|
1265
|
-
]
|
|
1266
|
-
]
|
|
1267
|
-
|
|
1268
|
-
--- --------------------------------------------------------------------------
|
|
1269
|
-
-- glsl Curves.Fragment.Patch
|
|
1270
|
-
|
|
1271
|
-
/// In the previous stage, we may have stored the tangent in Neye from which
|
|
1272
|
-
/// we plan to compute a normal in the fragment shader.
|
|
1273
|
-
|
|
1274
|
-
FORWARD_DECL(vec3 fragmentNormal(vec3 position, vec3 normal, float v));
|
|
1275
|
-
void main(void)
|
|
1276
|
-
{
|
|
1277
|
-
ApplyDiskSampleMask();
|
|
1278
|
-
|
|
1279
|
-
DiscardBasedOnTopologicalVisibility();
|
|
1280
|
-
|
|
1281
|
-
vec4 color = vec4(0.5, 0.5, 0.5, 1);
|
|
1282
|
-
#ifdef HD_HAS_displayColor
|
|
1283
|
-
color.rgb = HdGet_displayColor().rgb;
|
|
1284
|
-
#endif
|
|
1285
|
-
#ifdef HD_HAS_displayOpacity
|
|
1286
|
-
color.a = HdGet_displayOpacity();
|
|
1287
|
-
#endif
|
|
1288
|
-
vec3 Peye = inData.Peye.xyz / inData.Peye.w;
|
|
1289
|
-
|
|
1290
|
-
vec3 Neye = fragmentNormal(Peye, inData.Neye, v);
|
|
1291
|
-
|
|
1292
|
-
vec4 patchCoord = vec4(0, v, 0, 0);
|
|
1293
|
-
color = ShadingTerminal(vec4(Peye, 1), Neye, color, patchCoord);
|
|
1294
|
-
|
|
1295
|
-
#ifdef HD_MATERIAL_TAG_MASKED
|
|
1296
|
-
if (ShouldDiscardByAlpha(color)) {
|
|
1297
|
-
discard;
|
|
1298
|
-
}
|
|
1299
|
-
#endif
|
|
1300
|
-
|
|
1301
|
-
RenderOutput(vec4(Peye, 1), Neye, color, patchCoord);
|
|
1302
|
-
}
|
|
1303
|
-
|
|
1304
|
-
--- --------------------------------------------------------------------------
|
|
1305
|
-
-- glsl Curves.Fragment.HalfTube
|
|
1306
|
-
|
|
1307
|
-
vec3 fragmentNormal(in vec3 position, in vec3 tangent, in float v)
|
|
1308
|
-
{
|
|
1309
|
-
vec3 d = normalize(cross(position, tangent));
|
|
1310
|
-
vec3 n = normalize(cross(d, tangent));
|
|
1311
|
-
vec3 norm_pos = mix(n, d, (2.0*v) - 1.0);
|
|
1312
|
-
vec3 norm_neg = mix(-d, n, (2.0*v));
|
|
1313
|
-
return normalize(mix(norm_neg, norm_pos, step(0.5, v)));
|
|
1314
|
-
}
|
|
1315
|
-
|
|
1316
|
-
--- --------------------------------------------------------------------------
|
|
1317
|
-
-- glsl Curves.Fragment.Ribbon.Round
|
|
1318
|
-
|
|
1319
|
-
float remapFragmentV(float v){
|
|
1320
|
-
// As we are using a plane to approximate a tube, we don't want to shade
|
|
1321
|
-
// based on v but rather the projection of the tube's v onto the plane
|
|
1322
|
-
return clamp((asin(v * 2.0 - 1.0) / (3.146 / 2.0) + 1.0) / 2.0, 0.0, 1.0);
|
|
1323
|
-
}
|
|
1324
|
-
|
|
1325
|
-
vec3 fragmentNormal(vec3 position, in vec3 tangent, float v)
|
|
1326
|
-
{
|
|
1327
|
-
|
|
1328
|
-
// we slightly bias v towards 0.5 based on filterwidth as a hack to
|
|
1329
|
-
// minimize aliasing
|
|
1330
|
-
v = mix(remapFragmentV(v), 0.5, min(fwidth(v), .2));
|
|
1331
|
-
|
|
1332
|
-
vec3 d = normalize(cross(position, tangent));
|
|
1333
|
-
vec3 n = normalize(cross(d, tangent));
|
|
1334
|
-
vec3 norm_pos = mix(n, d, (2.0*v) - 1.0);
|
|
1335
|
-
vec3 norm_neg = mix(-d, n, (2.0*v));
|
|
1336
|
-
|
|
1337
|
-
return normalize(mix(norm_neg, norm_pos, step(0.5, v)));
|
|
1338
|
-
}
|
|
1339
|
-
|
|
1340
|
-
--- --------------------------------------------------------------------------
|
|
1341
|
-
-- glsl Curves.Fragment.Ribbon.Oriented
|
|
1342
|
-
|
|
1343
|
-
vec3 fragmentNormal(vec3 position, in vec3 normal, float v)
|
|
1344
|
-
{
|
|
1345
|
-
normal = normalize(normal);
|
|
1346
|
-
if (gl_FrontFacing){
|
|
1347
|
-
return normal;
|
|
1348
|
-
}
|
|
1349
|
-
else{
|
|
1350
|
-
return -normal;
|
|
1351
|
-
}
|
|
1352
|
-
}
|
|
1353
|
-
|
|
1354
|
-
--- --------------------------------------------------------------------------
|
|
1355
|
-
-- glsl Curves.Fragment.Hair
|
|
1356
|
-
|
|
1357
|
-
// XXX: Neye is interpolated in from previous stages, however the
|
|
1358
|
-
// polarity is not stable due to instability in the cross-product in the
|
|
1359
|
-
// TessEval shader. Once that is fixed, we could use Neye directly here.
|
|
1360
|
-
// The normal computed here results in faceted shading.
|
|
1361
|
-
//
|
|
1362
|
-
vec3 fragmentNormal(vec3 position, in vec3 unused, float v)
|
|
1363
|
-
{
|
|
1364
|
-
return cross(dFdx(position), dFdy(position));
|
|
1365
|
-
}
|