@flighthq/scene3d-gl 0.3.0-next.906.07cea63 → 0.3.0
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/dist/anisotropyPbrGlExtension.d.ts +4 -0
- package/dist/anisotropyPbrGlExtension.d.ts.map +1 -0
- package/dist/anisotropyPbrGlExtension.js +57 -0
- package/dist/anisotropyPbrGlExtension.js.map +1 -0
- package/dist/blinnPhongGlMeshMaterialRenderer.d.ts +1 -1
- package/dist/blinnPhongGlMeshMaterialRenderer.d.ts.map +1 -1
- package/dist/blinnPhongGlMeshMaterialRenderer.js +24 -25
- package/dist/blinnPhongGlMeshMaterialRenderer.js.map +1 -1
- package/dist/clearcoatPbrGlExtension.d.ts +4 -0
- package/dist/clearcoatPbrGlExtension.d.ts.map +1 -0
- package/dist/clearcoatPbrGlExtension.js +81 -0
- package/dist/clearcoatPbrGlExtension.js.map +1 -0
- package/dist/contract.d.ts +17 -12
- package/dist/contract.d.ts.map +1 -1
- package/dist/contract.js +17 -12
- package/dist/contract.js.map +1 -1
- package/dist/customShaderGlMeshMaterialRenderer.d.ts +1 -1
- package/dist/customShaderGlMeshMaterialRenderer.d.ts.map +1 -1
- package/dist/customShaderGlMeshMaterialRenderer.js +18 -14
- package/dist/customShaderGlMeshMaterialRenderer.js.map +1 -1
- package/dist/depthGlMeshMaterialRenderer.d.ts +1 -1
- package/dist/depthGlMeshMaterialRenderer.d.ts.map +1 -1
- package/dist/depthGlMeshMaterialRenderer.js +3 -4
- package/dist/depthGlMeshMaterialRenderer.js.map +1 -1
- package/dist/drawGlScene3D.d.ts.map +1 -1
- package/dist/drawGlScene3D.js +21 -6
- package/dist/drawGlScene3D.js.map +1 -1
- package/dist/emissiveGlMeshMaterialRenderer.d.ts +1 -1
- package/dist/emissiveGlMeshMaterialRenderer.d.ts.map +1 -1
- package/dist/emissiveGlMeshMaterialRenderer.js +7 -6
- package/dist/emissiveGlMeshMaterialRenderer.js.map +1 -1
- package/dist/enableGlPbrExtensionGuards.d.ts +4 -0
- package/dist/enableGlPbrExtensionGuards.d.ts.map +1 -0
- package/dist/enableGlPbrExtensionGuards.js +34 -0
- package/dist/enableGlPbrExtensionGuards.js.map +1 -0
- package/dist/explainGlScene3DCoverage.d.ts +4 -0
- package/dist/explainGlScene3DCoverage.d.ts.map +1 -0
- package/dist/explainGlScene3DCoverage.js +92 -0
- package/dist/explainGlScene3DCoverage.js.map +1 -0
- package/dist/extendedPbrGlMeshMaterialRenderer.d.ts +4 -0
- package/dist/extendedPbrGlMeshMaterialRenderer.d.ts.map +1 -0
- package/dist/extendedPbrGlMeshMaterialRenderer.js +39 -0
- package/dist/extendedPbrGlMeshMaterialRenderer.js.map +1 -0
- package/dist/glClassicPrelude.d.ts.map +1 -1
- package/dist/glClassicPrelude.js +7 -12
- package/dist/glClassicPrelude.js.map +1 -1
- package/dist/glDebugPrelude.d.ts.map +1 -1
- package/dist/glDebugPrelude.js +7 -7
- package/dist/glDebugPrelude.js.map +1 -1
- package/dist/glEnvironmentCube.d.ts +2 -2
- package/dist/glEnvironmentCube.d.ts.map +1 -1
- package/dist/glEnvironmentCube.js +30 -13
- package/dist/glEnvironmentCube.js.map +1 -1
- package/dist/glEnvironmentIblBake.js +4 -7
- package/dist/glEnvironmentIblBake.js.map +1 -1
- package/dist/glEnvironmentSkybox.d.ts.map +1 -1
- package/dist/glEnvironmentSkybox.js +5 -10
- package/dist/glEnvironmentSkybox.js.map +1 -1
- package/dist/glLitProgram.d.ts +2 -1
- package/dist/glLitProgram.d.ts.map +1 -1
- package/dist/glLitProgram.js +57 -26
- package/dist/glLitProgram.js.map +1 -1
- package/dist/glMatcapPrelude.d.ts.map +1 -1
- package/dist/glMatcapPrelude.js +10 -16
- package/dist/glMatcapPrelude.js.map +1 -1
- package/dist/glMeshFragmentTail.d.ts +3 -0
- package/dist/glMeshFragmentTail.d.ts.map +1 -0
- package/dist/glMeshFragmentTail.js +25 -0
- package/dist/glMeshFragmentTail.js.map +1 -0
- package/dist/glMeshMaterialRegistry.js +1 -1
- package/dist/glMeshProgram.d.ts +3 -2
- package/dist/glMeshProgram.d.ts.map +1 -1
- package/dist/glMeshProgram.js +45 -24
- package/dist/glMeshProgram.js.map +1 -1
- package/dist/glParticleEmitter3D.d.ts.map +1 -1
- package/dist/glParticleEmitter3D.js +25 -27
- package/dist/glParticleEmitter3D.js.map +1 -1
- package/dist/glPbrExtensionRegistry.d.ts +7 -0
- package/dist/glPbrExtensionRegistry.d.ts.map +1 -0
- package/dist/glPbrExtensionRegistry.js +140 -0
- package/dist/glPbrExtensionRegistry.js.map +1 -0
- package/dist/glPbrPrelude.d.ts +2 -2
- package/dist/glPbrPrelude.d.ts.map +1 -1
- package/dist/glPbrPrelude.js +65 -205
- package/dist/glPbrPrelude.js.map +1 -1
- package/dist/glPbrProgramCache.d.ts +3 -3
- package/dist/glPbrProgramCache.d.ts.map +1 -1
- package/dist/glPbrProgramCache.js +6 -20
- package/dist/glPbrProgramCache.js.map +1 -1
- package/dist/glPbrStandardBlock.d.ts +2 -2
- package/dist/glPbrStandardBlock.d.ts.map +1 -1
- package/dist/glPbrStandardBlock.js +16 -23
- package/dist/glPbrStandardBlock.js.map +1 -1
- package/dist/glPbrTransmissionSceneColor.d.ts +3 -0
- package/dist/glPbrTransmissionSceneColor.d.ts.map +1 -0
- package/dist/glPbrTransmissionSceneColor.js +7 -0
- package/dist/glPbrTransmissionSceneColor.js.map +1 -0
- package/dist/glScene3DRuntime.d.ts.map +1 -1
- package/dist/glScene3DRuntime.js +5 -0
- package/dist/glScene3DRuntime.js.map +1 -1
- package/dist/glScene3DTestHelper.d.ts.map +1 -1
- package/dist/glScene3DTestHelper.js +12 -3
- package/dist/glScene3DTestHelper.js.map +1 -1
- package/dist/glShadedBuiltInModifiers.d.ts.map +1 -1
- package/dist/glShadedBuiltInModifiers.js +5 -9
- package/dist/glShadedBuiltInModifiers.js.map +1 -1
- package/dist/glShadedPrelude.d.ts.map +1 -1
- package/dist/glShadedPrelude.js +7 -12
- package/dist/glShadedPrelude.js.map +1 -1
- package/dist/glShadowMap.d.ts +2 -2
- package/dist/glShadowMap.d.ts.map +1 -1
- package/dist/glShadowMap.js +33 -9
- package/dist/glShadowMap.js.map +1 -1
- package/dist/glToonPrelude.d.ts.map +1 -1
- package/dist/glToonPrelude.js +6 -12
- package/dist/glToonPrelude.js.map +1 -1
- package/dist/glUnlitPrelude.d.ts.map +1 -1
- package/dist/glUnlitPrelude.js +6 -17
- package/dist/glUnlitPrelude.js.map +1 -1
- package/dist/glViewportAspect.d.ts +3 -0
- package/dist/glViewportAspect.d.ts.map +1 -0
- package/dist/glViewportAspect.js +8 -0
- package/dist/glViewportAspect.js.map +1 -0
- package/dist/glWireframePrelude.d.ts +3 -3
- package/dist/glWireframePrelude.d.ts.map +1 -1
- package/dist/glWireframePrelude.js +22 -13
- package/dist/glWireframePrelude.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/iridescencePbrGlExtension.d.ts +4 -0
- package/dist/iridescencePbrGlExtension.d.ts.map +1 -0
- package/dist/iridescencePbrGlExtension.js +54 -0
- package/dist/iridescencePbrGlExtension.js.map +1 -0
- package/dist/lambertGlMeshMaterialRenderer.d.ts +1 -1
- package/dist/lambertGlMeshMaterialRenderer.d.ts.map +1 -1
- package/dist/lambertGlMeshMaterialRenderer.js +10 -12
- package/dist/lambertGlMeshMaterialRenderer.js.map +1 -1
- package/dist/matcapGlMeshMaterialRenderer.d.ts +1 -1
- package/dist/matcapGlMeshMaterialRenderer.d.ts.map +1 -1
- package/dist/matcapGlMeshMaterialRenderer.js +7 -6
- package/dist/matcapGlMeshMaterialRenderer.js.map +1 -1
- package/dist/normalGlMeshMaterialRenderer.d.ts +1 -1
- package/dist/normalGlMeshMaterialRenderer.d.ts.map +1 -1
- package/dist/normalGlMeshMaterialRenderer.js +5 -5
- package/dist/normalGlMeshMaterialRenderer.js.map +1 -1
- package/dist/phongGlMeshMaterialRenderer.d.ts +1 -1
- package/dist/phongGlMeshMaterialRenderer.d.ts.map +1 -1
- package/dist/phongGlMeshMaterialRenderer.js +18 -19
- package/dist/phongGlMeshMaterialRenderer.js.map +1 -1
- package/dist/presentGlScene3D.d.ts.map +1 -1
- package/dist/presentGlScene3D.js +6 -2
- package/dist/presentGlScene3D.js.map +1 -1
- package/dist/registerGlStandardPbrMaterial.d.ts +3 -0
- package/dist/registerGlStandardPbrMaterial.d.ts.map +1 -0
- package/dist/{registerStandardPbrGlMaterial.js → registerGlStandardPbrMaterial.js} +2 -2
- package/dist/{registerStandardPbrGlMaterial.js.map → registerGlStandardPbrMaterial.js.map} +1 -1
- package/dist/shadedGlMeshMaterialRenderer.d.ts +1 -1
- package/dist/shadedGlMeshMaterialRenderer.d.ts.map +1 -1
- package/dist/shadedGlMeshMaterialRenderer.js +18 -19
- package/dist/shadedGlMeshMaterialRenderer.js.map +1 -1
- package/dist/sheenPbrGlExtension.d.ts +4 -0
- package/dist/sheenPbrGlExtension.d.ts.map +1 -0
- package/dist/sheenPbrGlExtension.js +53 -0
- package/dist/sheenPbrGlExtension.js.map +1 -0
- package/dist/specularGlossinessPbrGlMeshMaterialRenderer.d.ts +1 -1
- package/dist/specularGlossinessPbrGlMeshMaterialRenderer.js +5 -5
- package/dist/specularGlossinessPbrGlMeshMaterialRenderer.js.map +1 -1
- package/dist/specularPbrGlExtension.d.ts +4 -0
- package/dist/specularPbrGlExtension.d.ts.map +1 -0
- package/dist/specularPbrGlExtension.js +42 -0
- package/dist/specularPbrGlExtension.js.map +1 -0
- package/dist/standardPbrGlMeshMaterialRenderer.js +3 -3
- package/dist/standardPbrGlMeshMaterialRenderer.js.map +1 -1
- package/dist/toonGlMeshMaterialRenderer.d.ts +1 -1
- package/dist/toonGlMeshMaterialRenderer.d.ts.map +1 -1
- package/dist/toonGlMeshMaterialRenderer.js +14 -17
- package/dist/toonGlMeshMaterialRenderer.js.map +1 -1
- package/dist/transmissionVolumePbrGlExtension.d.ts +4 -0
- package/dist/transmissionVolumePbrGlExtension.d.ts.map +1 -0
- package/dist/transmissionVolumePbrGlExtension.js +69 -0
- package/dist/transmissionVolumePbrGlExtension.js.map +1 -0
- package/dist/unlitGlMeshMaterialRenderer.d.ts +1 -1
- package/dist/unlitGlMeshMaterialRenderer.d.ts.map +1 -1
- package/dist/unlitGlMeshMaterialRenderer.js +5 -17
- package/dist/unlitGlMeshMaterialRenderer.js.map +1 -1
- package/dist/vertexColorGlMeshMaterialRenderer.d.ts +1 -1
- package/dist/vertexColorGlMeshMaterialRenderer.js +3 -3
- package/dist/vertexColorGlMeshMaterialRenderer.js.map +1 -1
- package/dist/wireframeGlMeshMaterialRenderer.d.ts +1 -1
- package/dist/wireframeGlMeshMaterialRenderer.d.ts.map +1 -1
- package/dist/wireframeGlMeshMaterialRenderer.js +10 -5
- package/dist/wireframeGlMeshMaterialRenderer.js.map +1 -1
- package/dist/wrappedDiffusePbrGlExtension.d.ts +4 -0
- package/dist/wrappedDiffusePbrGlExtension.d.ts.map +1 -0
- package/dist/wrappedDiffusePbrGlExtension.js +54 -0
- package/dist/wrappedDiffusePbrGlExtension.js.map +1 -0
- package/package.json +18 -16
- package/src/anisotropyPbrGlExtension.test.ts +25 -0
- package/src/blinnPhongGlMeshMaterialRenderer.test.ts +3 -3
- package/src/clearcoatPbrGlExtension.test.ts +25 -0
- package/src/customShaderGlMeshMaterialRenderer.test.ts +9 -9
- package/src/depthGlMeshMaterialRenderer.test.ts +3 -3
- package/src/drawGlScene3D.test.ts +53 -16
- package/src/emissiveGlMeshMaterialRenderer.test.ts +3 -3
- package/src/enableGlPbrExtensionGuards.test.ts +96 -0
- package/src/enableGlScene3DColorSpaceGuards.test.ts +2 -2
- package/src/enableGlScene3DForwardLightSelectionGuards.test.ts +3 -3
- package/src/explainGlScene3DCoverage.test.ts +143 -0
- package/src/extendedPbrGlMeshMaterialRenderer.test.ts +40 -0
- package/src/glClassicPrelude.test.ts +3 -2
- package/src/glEnvironmentCube.test.ts +21 -5
- package/src/glEnvironmentSkybox.test.ts +32 -1
- package/src/glLitProgram.test.ts +58 -0
- package/src/glMeshFragmentTail.test.ts +16 -0
- package/src/glMeshProgram.test.ts +76 -7
- package/src/glMeshUpload.test.ts +3 -2
- package/src/glParticleEmitter3D.test.ts +18 -6
- package/src/glPbrExtensionRegistry.test.ts +75 -0
- package/src/glPbrPrelude.test.ts +33 -38
- package/src/glPbrProgramCache.test.ts +19 -31
- package/src/glPbrStandardBlock.test.ts +28 -19
- package/src/glPbrTransmissionSceneColor.test.ts +14 -0
- package/src/glScene3DRuntime.test.ts +8 -1
- package/src/glShadedBuiltInModifiers.test.ts +1 -1
- package/src/glShadedPrelude.test.ts +1 -0
- package/src/glShadowMap.test.ts +126 -9
- package/src/glToonPrelude.test.ts +3 -2
- package/src/glUnlitPrelude.test.ts +14 -18
- package/src/glViewportAspect.test.ts +13 -0
- package/src/glWireframePrelude.test.ts +7 -0
- package/src/iridescencePbrGlExtension.test.ts +24 -0
- package/src/lambertGlMeshMaterialRenderer.test.ts +3 -3
- package/src/matcapGlMeshMaterialRenderer.test.ts +3 -3
- package/src/normalGlMeshMaterialRenderer.test.ts +3 -3
- package/src/phongGlMeshMaterialRenderer.test.ts +3 -3
- package/src/presentGlScene3D.test.ts +33 -4
- package/src/{registerStandardPbrGlMaterial.test.ts → registerGlStandardPbrMaterial.test.ts} +10 -3
- package/src/shadedGlMeshMaterialRenderer.test.ts +3 -3
- package/src/sheenPbrGlExtension.test.ts +25 -0
- package/src/specularGlossinessPbrGlMeshMaterialRenderer.test.ts +6 -6
- package/src/specularPbrGlExtension.test.ts +24 -0
- package/src/toonGlMeshMaterialRenderer.test.ts +3 -3
- package/src/transmissionVolumePbrGlExtension.test.ts +31 -0
- package/src/unlitGlMeshMaterialRenderer.test.ts +14 -7
- package/src/vertexColorGlMeshMaterialRenderer.test.ts +3 -3
- package/src/wireframeGlMeshMaterialRenderer.test.ts +24 -3
- package/src/wrappedDiffusePbrGlExtension.test.ts +25 -0
- package/dist/anisotropyPbrGlMeshMaterialRenderer.d.ts +0 -4
- package/dist/anisotropyPbrGlMeshMaterialRenderer.d.ts.map +0 -1
- package/dist/anisotropyPbrGlMeshMaterialRenderer.js +0 -45
- package/dist/anisotropyPbrGlMeshMaterialRenderer.js.map +0 -1
- package/dist/clearcoatPbrGlMeshMaterialRenderer.d.ts +0 -4
- package/dist/clearcoatPbrGlMeshMaterialRenderer.d.ts.map +0 -1
- package/dist/clearcoatPbrGlMeshMaterialRenderer.js +0 -45
- package/dist/clearcoatPbrGlMeshMaterialRenderer.js.map +0 -1
- package/dist/iridescencePbrGlMeshMaterialRenderer.d.ts +0 -4
- package/dist/iridescencePbrGlMeshMaterialRenderer.d.ts.map +0 -1
- package/dist/iridescencePbrGlMeshMaterialRenderer.js +0 -54
- package/dist/iridescencePbrGlMeshMaterialRenderer.js.map +0 -1
- package/dist/registerStandardPbrGlMaterial.d.ts +0 -3
- package/dist/registerStandardPbrGlMaterial.d.ts.map +0 -1
- package/dist/sheenPbrGlMeshMaterialRenderer.d.ts +0 -4
- package/dist/sheenPbrGlMeshMaterialRenderer.d.ts.map +0 -1
- package/dist/sheenPbrGlMeshMaterialRenderer.js +0 -54
- package/dist/sheenPbrGlMeshMaterialRenderer.js.map +0 -1
- package/dist/specularPbrGlMeshMaterialRenderer.d.ts +0 -4
- package/dist/specularPbrGlMeshMaterialRenderer.d.ts.map +0 -1
- package/dist/specularPbrGlMeshMaterialRenderer.js +0 -55
- package/dist/specularPbrGlMeshMaterialRenderer.js.map +0 -1
- package/dist/subsurfacePbrGlMeshMaterialRenderer.d.ts +0 -4
- package/dist/subsurfacePbrGlMeshMaterialRenderer.d.ts.map +0 -1
- package/dist/subsurfacePbrGlMeshMaterialRenderer.js +0 -57
- package/dist/subsurfacePbrGlMeshMaterialRenderer.js.map +0 -1
- package/dist/transmissionVolumePbrGlMeshMaterialRenderer.d.ts +0 -4
- package/dist/transmissionVolumePbrGlMeshMaterialRenderer.d.ts.map +0 -1
- package/dist/transmissionVolumePbrGlMeshMaterialRenderer.js +0 -62
- package/dist/transmissionVolumePbrGlMeshMaterialRenderer.js.map +0 -1
- package/src/anisotropyPbrGlMeshMaterialRenderer.test.ts +0 -86
- package/src/clearcoatPbrGlMeshMaterialRenderer.test.ts +0 -81
- package/src/iridescencePbrGlMeshMaterialRenderer.test.ts +0 -86
- package/src/sheenPbrGlMeshMaterialRenderer.test.ts +0 -83
- package/src/specularPbrGlMeshMaterialRenderer.test.ts +0 -83
- package/src/subsurfacePbrGlMeshMaterialRenderer.test.ts +0 -86
- package/src/transmissionVolumePbrGlMeshMaterialRenderer.test.ts +0 -93
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { GlPbrExtensionRegistration, GlRenderState } from '@flighthq/types/contract';
|
|
2
|
+
export declare const anisotropyPbrGlExtension: GlPbrExtensionRegistration;
|
|
3
|
+
export declare function registerGlAnisotropyPbrExtension(state: GlRenderState): void;
|
|
4
|
+
//# sourceMappingURL=anisotropyPbrGlExtension.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anisotropyPbrGlExtension.d.ts","sourceRoot":"","sources":["../src/anisotropyPbrGlExtension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA0B,0BAA0B,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAKlH,eAAO,MAAM,wBAAwB,EAAE,0BAwDtC,CAAC;AAEF,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAE3E"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { AnisotropyPbrExtensionKind } from '@flighthq/types/contract';
|
|
2
|
+
import { registerGlPbrExtension } from './glPbrExtensionRegistry';
|
|
3
|
+
export const anisotropyPbrGlExtension = {
|
|
4
|
+
bind(context, value) {
|
|
5
|
+
const extension = value;
|
|
6
|
+
context.setFloat('u_flightAnisotropyStrength', extension.anisotropyStrength);
|
|
7
|
+
context.setFloat('u_flightAnisotropyRotation', extension.anisotropyRotation);
|
|
8
|
+
context.bindTexture('u_flightAnisotropyMap', 'u_flightAnisotropyMapUvSet', 'u_flightAnisotropyMapTransform', extension.anisotropyMap, extension.anisotropyMapUvSet);
|
|
9
|
+
},
|
|
10
|
+
createShaderContribution(context, value) {
|
|
11
|
+
const extension = value;
|
|
12
|
+
const hasMap = context.isTextureReady(extension.anisotropyMap);
|
|
13
|
+
return {
|
|
14
|
+
applySurface: '',
|
|
15
|
+
contributeIbl: `
|
|
16
|
+
float flightAnisotropyIblStrength = clamp(u_flightAnisotropyStrength * flightAnisotropySample().z, 0.0, 1.0);
|
|
17
|
+
float flightAnisotropyAngle = u_flightAnisotropyRotation + atan(flightAnisotropySample().y, flightAnisotropySample().x);
|
|
18
|
+
vec3 flightAnisotropyTangent = normalize(cos(flightAnisotropyAngle) * tangentDir + sin(flightAnisotropyAngle) * bitangentDir);
|
|
19
|
+
vec3 flightAnisotropyReflection = normalize(mix(reflect(-V, N), flightAnisotropyTangent, flightAnisotropyIblStrength * rough * 0.35));
|
|
20
|
+
vec3 flightAnisotropyPrefiltered = textureLod(u_iblPrefiltered, flightAnisotropyReflection, rough * u_iblMaxMip).rgb;
|
|
21
|
+
ambient += (flightAnisotropyPrefiltered - prefiltered) * (F * brdf.x + brdf.y) * flightAnisotropyIblStrength * occ * u_iblIntensity;`,
|
|
22
|
+
contributePunctual: `
|
|
23
|
+
vec3 flightAnisotropyData = flightAnisotropySample();
|
|
24
|
+
float flightAnisotropyStrength = clamp(u_flightAnisotropyStrength * flightAnisotropyData.z, 0.0, 1.0);
|
|
25
|
+
float flightAnisotropyAngle = u_flightAnisotropyRotation + atan(flightAnisotropyData.y, flightAnisotropyData.x);
|
|
26
|
+
vec3 flightAnisotropyTangent = normalize(cos(flightAnisotropyAngle) * tangentDir + sin(flightAnisotropyAngle) * bitangentDir);
|
|
27
|
+
vec3 flightAnisotropyBitangent = normalize(cross(N, flightAnisotropyTangent));
|
|
28
|
+
float flightAt = max(roughness * roughness * (1.0 + flightAnisotropyStrength), 1e-3);
|
|
29
|
+
float flightAb = max(roughness * roughness * (1.0 - flightAnisotropyStrength), 1e-3);
|
|
30
|
+
float flightAnisotropyD = flightDistributionGgxAnisotropic(
|
|
31
|
+
nDotH, dot(flightAnisotropyTangent, halfVec), dot(flightAnisotropyBitangent, halfVec), flightAt, flightAb);
|
|
32
|
+
direct += (flightAnisotropyD - d) * vis * fresnel * lightColor * nDotL;`,
|
|
33
|
+
finalize: '',
|
|
34
|
+
fragmentDeclarations: `
|
|
35
|
+
uniform float u_flightAnisotropyStrength;
|
|
36
|
+
uniform float u_flightAnisotropyRotation;
|
|
37
|
+
${hasMap ? 'uniform sampler2D u_flightAnisotropyMap;\nuniform int u_flightAnisotropyMapUvSet;\nuniform mat3 u_flightAnisotropyMapTransform;' : ''}`,
|
|
38
|
+
fragmentFunctions: `
|
|
39
|
+
vec3 flightAnisotropySample() {
|
|
40
|
+
${hasMap ? ' vec2 uv = u_flightAnisotropyMapUvSet == 1 ? v_pbrExtensionUv1 : v_pbrExtensionUv0;\n vec3 value = texture(u_flightAnisotropyMap, (u_flightAnisotropyMapTransform * vec3(uv, 1.0)).xy).rgb;\n return vec3(value.rg * 2.0 - 1.0, value.b);' : ' return vec3(1.0, 0.0, 1.0);'}
|
|
41
|
+
}
|
|
42
|
+
float flightDistributionGgxAnisotropic(float nDotH, float tDotH, float bDotH, float at, float ab) {
|
|
43
|
+
float value = tDotH * tDotH / (at * at) + bDotH * bDotH / (ab * ab) + nDotH * nDotH;
|
|
44
|
+
return 1.0 / max(PI * at * ab * value * value, 1e-7);
|
|
45
|
+
}`,
|
|
46
|
+
key: `anisotropy:${hasMap ? 'm' : '-'}`,
|
|
47
|
+
textureCount: hasMap ? 1 : 0,
|
|
48
|
+
};
|
|
49
|
+
},
|
|
50
|
+
isSupported() {
|
|
51
|
+
return true;
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
export function registerGlAnisotropyPbrExtension(state) {
|
|
55
|
+
registerGlPbrExtension(state, AnisotropyPbrExtensionKind, anisotropyPbrGlExtension);
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=anisotropyPbrGlExtension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anisotropyPbrGlExtension.js","sourceRoot":"","sources":["../src/anisotropyPbrGlExtension.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,MAAM,CAAC,MAAM,wBAAwB,GAA+B;IAClE,IAAI,CAAC,OAAO,EAAE,KAAK;QACjB,MAAM,SAAS,GAAG,KAAyC,CAAC;QAC5D,OAAO,CAAC,QAAQ,CAAC,4BAA4B,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAAC;QAC7E,OAAO,CAAC,QAAQ,CAAC,4BAA4B,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAAC;QAC7E,OAAO,CAAC,WAAW,CACjB,uBAAuB,EACvB,4BAA4B,EAC5B,gCAAgC,EAChC,SAAS,CAAC,aAAa,EACvB,SAAS,CAAC,kBAAkB,CAC7B,CAAC;IACJ,CAAC;IACD,wBAAwB,CAAC,OAAO,EAAE,KAAK;QACrC,MAAM,SAAS,GAAG,KAAyC,CAAC;QAC5D,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAC/D,OAAO;YACL,YAAY,EAAE,EAAE;YAChB,aAAa,EAAE;;;;;;uIAMkH;YACjI,kBAAkB,EAAE;;;;;;;;;;0EAUgD;YACpE,QAAQ,EAAE,EAAE;YACZ,oBAAoB,EAAE;;;EAG1B,MAAM,CAAC,CAAC,CAAC,iIAAiI,CAAC,CAAC,CAAC,EAAE,EAAE;YAC7I,iBAAiB,EAAE;;EAEvB,MAAM,CAAC,CAAC,CAAC,8OAA8O,CAAC,CAAC,CAAC,+BAA+B;;;;;EAKzR;YACI,GAAG,EAAE,cAAc,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE;YACvC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC7B,CAAC;IACJ,CAAC;IACD,WAAW;QACT,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC;AAEF,MAAM,UAAU,gCAAgC,CAAC,KAAoB;IACnE,sBAAsB,CAAC,KAAK,EAAE,0BAA0B,EAAE,wBAAwB,CAAC,CAAC;AACtF,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { GlMeshMaterialRenderer, GlRenderState } from '@flighthq/types/contract';
|
|
2
2
|
export declare const blinnPhongGlMeshMaterialRenderer: GlMeshMaterialRenderer;
|
|
3
|
-
export declare function
|
|
3
|
+
export declare function registerGlBlinnPhongMaterial(state: GlRenderState): void;
|
|
4
4
|
//# sourceMappingURL=blinnPhongGlMeshMaterialRenderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blinnPhongGlMeshMaterialRenderer.d.ts","sourceRoot":"","sources":["../src/blinnPhongGlMeshMaterialRenderer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"blinnPhongGlMeshMaterialRenderer.d.ts","sourceRoot":"","sources":["../src/blinnPhongGlMeshMaterialRenderer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAIV,sBAAsB,EACtB,aAAa,EAOd,MAAM,0BAA0B,CAAC;AAwBlC,eAAO,MAAM,gCAAgC,EAAE,sBAuB9C,CAAC;AAKF,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAEvE"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { unpackColorToLinear } from '@flighthq/color/contract';
|
|
2
|
-
import {
|
|
3
|
-
import { bindGlImageResourceTexture } from '@flighthq/render-gl/contract';
|
|
2
|
+
import { resolveGlTexture } from '@flighthq/render-gl/contract';
|
|
4
3
|
import { BlinnPhongMaterialKind } from '@flighthq/types/contract';
|
|
5
4
|
import { ensureGlClassicProgram } from './glClassicPrelude';
|
|
6
5
|
import { bindGlMeshLightBlock } from './glLitProgram';
|
|
@@ -14,14 +13,14 @@ import { getGlScene3DRuntime } from './glScene3DRuntime';
|
|
|
14
13
|
// variant for the material's diffuse / specular / normal maps and alpha mode, uploads the camera
|
|
15
14
|
// view-projection AND position (the specular term is view-dependent), the packed light block, and the
|
|
16
15
|
// material's linear diffuse + specular colors, shininess, and maps. draw issues the indexed draw. See
|
|
17
|
-
//
|
|
16
|
+
// registerGlBlinnPhongMaterial to install it.
|
|
18
17
|
export const blinnPhongGlMeshMaterialRenderer = {
|
|
19
18
|
bind(state, material, lights, camera) {
|
|
20
19
|
const gl = state.gl;
|
|
21
20
|
const blinnPhong = material;
|
|
22
|
-
const program = ensureGlClassicProgram(state, defineKeyForMaterial(blinnPhong));
|
|
21
|
+
const program = ensureGlClassicProgram(state, defineKeyForMaterial(state, blinnPhong));
|
|
23
22
|
beginGlMeshDraw(state, program, blinnPhong !== null && blinnPhong.doubleSided);
|
|
24
|
-
setGlMeshViewProjection(
|
|
23
|
+
setGlMeshViewProjection(state, program.locViewProjection, camera);
|
|
25
24
|
setGlMeshCameraPosition(gl, program.locCameraPosition, camera);
|
|
26
25
|
bindGlMeshLightBlock(state, program, lights);
|
|
27
26
|
bindGlBlinnPhongMaterialUniforms(state, program, blinnPhong);
|
|
@@ -36,7 +35,7 @@ export const blinnPhongGlMeshMaterialRenderer = {
|
|
|
36
35
|
// Registers the built-in BlinnPhong renderer for BlinnPhongMaterialKind on this state. Opt-in (no
|
|
37
36
|
// top-level side effect); call once per GlRenderState before drawScene3D so meshes with BlinnPhong
|
|
38
37
|
// materials draw.
|
|
39
|
-
export function
|
|
38
|
+
export function registerGlBlinnPhongMaterial(state) {
|
|
40
39
|
registerGlMeshMaterialRenderer(state, BlinnPhongMaterialKind, blinnPhongGlMeshMaterialRenderer);
|
|
41
40
|
}
|
|
42
41
|
function bindGlBlinnPhongMaterialUniforms(state, program, material) {
|
|
@@ -57,43 +56,43 @@ function bindGlBlinnPhongMaterialUniforms(state, program, material) {
|
|
|
57
56
|
gl.uniform1f(program.locNormalScale, material.normalScale);
|
|
58
57
|
gl.uniform1f(program.locAlphaCutoff, material.alphaCutoff);
|
|
59
58
|
const diffuseMap = material.diffuseMap;
|
|
60
|
-
if (diffuseMap !== null
|
|
59
|
+
if (diffuseMap !== null) {
|
|
61
60
|
gl.activeTexture(gl.TEXTURE0);
|
|
62
|
-
|
|
63
|
-
|
|
61
|
+
if (resolveGlTexture(state, diffuseMap) !== null)
|
|
62
|
+
gl.uniform1i(program.locDiffuseMap, 0);
|
|
64
63
|
}
|
|
65
64
|
const specularMap = material.specularMap;
|
|
66
|
-
if (specularMap !== null
|
|
65
|
+
if (specularMap !== null) {
|
|
67
66
|
gl.activeTexture(gl.TEXTURE1);
|
|
68
|
-
|
|
69
|
-
|
|
67
|
+
if (resolveGlTexture(state, specularMap) !== null)
|
|
68
|
+
gl.uniform1i(program.locSpecularMap, 1);
|
|
70
69
|
}
|
|
71
70
|
const normalMap = material.normalMap;
|
|
72
|
-
if (normalMap !== null
|
|
71
|
+
if (normalMap !== null) {
|
|
73
72
|
gl.activeTexture(gl.TEXTURE2);
|
|
74
|
-
|
|
75
|
-
|
|
73
|
+
if (resolveGlTexture(state, normalMap) !== null)
|
|
74
|
+
gl.uniform1i(program.locNormalMap, 2);
|
|
76
75
|
}
|
|
77
76
|
const alphaMap = material.alphaMap;
|
|
78
|
-
if (alphaMap !== null
|
|
77
|
+
if (alphaMap !== null) {
|
|
79
78
|
gl.activeTexture(gl.TEXTURE3);
|
|
80
|
-
|
|
81
|
-
|
|
79
|
+
if (resolveGlTexture(state, alphaMap) !== null)
|
|
80
|
+
gl.uniform1i(program.locAlphaMap, 3);
|
|
82
81
|
}
|
|
83
82
|
bindGlUvTransform(gl, program, diffuseMap);
|
|
84
83
|
}
|
|
85
84
|
// The feature define key for a BlinnPhong material: the fixed `blinnphong` lighting model plus which
|
|
86
85
|
// optional maps are present and whether alpha-mask cutoff is active.
|
|
87
|
-
function defineKeyForMaterial(material) {
|
|
86
|
+
function defineKeyForMaterial(state, material) {
|
|
88
87
|
return {
|
|
89
88
|
alphaMaskEnabled: material !== null && material.alphaMode === 'mask',
|
|
90
|
-
// Match the bind's readiness
|
|
91
|
-
//
|
|
89
|
+
// Match the bind's resolver readiness so the compiled HAS_ALPHA_MAP variant and bound texture
|
|
90
|
+
// never disagree. Gated off 'opaque' — an opaque
|
|
92
91
|
// material ignores coverage (SurfaceMaterial contract), so it must not sample the alpha map.
|
|
93
|
-
hasAlphaMap: material !== null && material.alphaMode !== 'opaque' && isGlTextureReady(material.alphaMap),
|
|
94
|
-
hasDiffuseMap: material !== null &&
|
|
95
|
-
hasNormalMap: material !== null &&
|
|
96
|
-
hasSpecularMap: material !== null &&
|
|
92
|
+
hasAlphaMap: material !== null && material.alphaMode !== 'opaque' && isGlTextureReady(state, material.alphaMap),
|
|
93
|
+
hasDiffuseMap: material !== null && isGlTextureReady(state, material.diffuseMap),
|
|
94
|
+
hasNormalMap: material !== null && isGlTextureReady(state, material.normalMap),
|
|
95
|
+
hasSpecularMap: material !== null && isGlTextureReady(state, material.specularMap),
|
|
97
96
|
hasUvTransform: hasGlUvTransform(material !== null ? material.diffuseMap : null),
|
|
98
97
|
lightingModel: 'blinnphong',
|
|
99
98
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blinnPhongGlMeshMaterialRenderer.js","sourceRoot":"","sources":["../src/blinnPhongGlMeshMaterialRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"blinnPhongGlMeshMaterialRenderer.js","sourceRoot":"","sources":["../src/blinnPhongGlMeshMaterialRenderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { GlPbrExtensionRegistration, GlRenderState } from '@flighthq/types/contract';
|
|
2
|
+
export declare const clearcoatPbrGlExtension: GlPbrExtensionRegistration;
|
|
3
|
+
export declare function registerGlClearcoatPbrExtension(state: GlRenderState): void;
|
|
4
|
+
//# sourceMappingURL=clearcoatPbrGlExtension.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clearcoatPbrGlExtension.d.ts","sourceRoot":"","sources":["../src/clearcoatPbrGlExtension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,0BAA0B,EAC1B,aAAa,EAGd,MAAM,0BAA0B,CAAC;AAKlC,eAAO,MAAM,uBAAuB,EAAE,0BA6DrC,CAAC;AAEF,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAE1E"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { ClearcoatPbrExtensionKind } from '@flighthq/types/contract';
|
|
2
|
+
import { registerGlPbrExtension } from './glPbrExtensionRegistry';
|
|
3
|
+
export const clearcoatPbrGlExtension = {
|
|
4
|
+
bind(context, value) {
|
|
5
|
+
const extension = value;
|
|
6
|
+
context.setFloat('u_flightClearcoat', extension.clearcoat);
|
|
7
|
+
context.setFloat('u_flightClearcoatRoughness', extension.clearcoatRoughness);
|
|
8
|
+
context.setFloat('u_flightClearcoatNormalScale', extension.clearcoatNormalScale);
|
|
9
|
+
bindMap(context, 'Clearcoat', extension.clearcoatMap, extension.clearcoatMapUvSet);
|
|
10
|
+
bindMap(context, 'ClearcoatRoughness', extension.clearcoatRoughnessMap, extension.clearcoatRoughnessMapUvSet);
|
|
11
|
+
bindMap(context, 'ClearcoatNormal', extension.clearcoatNormalMap, extension.clearcoatNormalMapUvSet);
|
|
12
|
+
},
|
|
13
|
+
createShaderContribution(context, value) {
|
|
14
|
+
const extension = value;
|
|
15
|
+
const factorMap = context.isTextureReady(extension.clearcoatMap);
|
|
16
|
+
const roughnessMap = context.isTextureReady(extension.clearcoatRoughnessMap);
|
|
17
|
+
const normalMap = context.isTextureReady(extension.clearcoatNormalMap);
|
|
18
|
+
return {
|
|
19
|
+
applySurface: normalMap
|
|
20
|
+
? `
|
|
21
|
+
vec3 flightClearcoatTangentNormal = texture(u_flightClearcoatNormalMap, flightClearcoatNormalUv()).xyz * 2.0 - 1.0;
|
|
22
|
+
flightClearcoatTangentNormal.xy *= u_flightClearcoatNormalScale;
|
|
23
|
+
normal = normalize(mat3(tangent, bitangent, normal) * flightClearcoatTangentNormal);
|
|
24
|
+
nDotV = max(dot(normal, viewDir), 1e-4);`
|
|
25
|
+
: '',
|
|
26
|
+
contributeIbl: `
|
|
27
|
+
float flightClearcoatFactor = clamp(u_flightClearcoat * flightClearcoatFactorSample(), 0.0, 1.0);
|
|
28
|
+
float flightClearcoatRough = clamp(u_flightClearcoatRoughness * flightClearcoatRoughnessSample(), 0.04, 1.0);
|
|
29
|
+
vec3 flightClearcoatF = fresnelSchlickRoughness(max(dot(N, V), 1e-4), vec3(0.04), flightClearcoatRough) * flightClearcoatFactor;
|
|
30
|
+
vec3 flightClearcoatR = reflect(-V, N);
|
|
31
|
+
vec3 flightClearcoatPrefiltered = textureLod(u_iblPrefiltered, flightClearcoatR, flightClearcoatRough * u_iblMaxMip).rgb;
|
|
32
|
+
vec2 flightClearcoatBrdf = texture(u_iblBrdf, vec2(max(dot(N, V), 1e-4), flightClearcoatRough)).rg;
|
|
33
|
+
ambient = ambient * (1.0 - flightClearcoatF) +
|
|
34
|
+
flightClearcoatPrefiltered * (flightClearcoatF * flightClearcoatBrdf.x + flightClearcoatBrdf.y) * occ * u_iblIntensity;`,
|
|
35
|
+
contributePunctual: `
|
|
36
|
+
float flightClearcoatFactor = clamp(u_flightClearcoat * flightClearcoatFactorSample(), 0.0, 1.0);
|
|
37
|
+
float flightClearcoatRough = clamp(u_flightClearcoatRoughness * flightClearcoatRoughnessSample(), 0.04, 1.0);
|
|
38
|
+
float flightClearcoatD = distributionGgx(nDotH, flightClearcoatRough);
|
|
39
|
+
float flightClearcoatVis = visibilitySmith(nDotV, nDotL, flightClearcoatRough);
|
|
40
|
+
vec3 flightClearcoatF = fresnelSchlick(vDotH, vec3(0.04)) * flightClearcoatFactor;
|
|
41
|
+
direct = direct * (1.0 - flightClearcoatF) +
|
|
42
|
+
flightClearcoatD * flightClearcoatVis * flightClearcoatF * lightColor * nDotL;`,
|
|
43
|
+
finalize: '',
|
|
44
|
+
fragmentDeclarations: `
|
|
45
|
+
uniform float u_flightClearcoat;
|
|
46
|
+
uniform float u_flightClearcoatRoughness;
|
|
47
|
+
uniform float u_flightClearcoatNormalScale;
|
|
48
|
+
${mapDeclarations('Clearcoat', factorMap)}
|
|
49
|
+
${mapDeclarations('ClearcoatRoughness', roughnessMap)}
|
|
50
|
+
${mapDeclarations('ClearcoatNormal', normalMap)}`,
|
|
51
|
+
fragmentFunctions: `
|
|
52
|
+
${mapUvFunction('Clearcoat', factorMap)}
|
|
53
|
+
${mapUvFunction('ClearcoatRoughness', roughnessMap)}
|
|
54
|
+
${mapUvFunction('ClearcoatNormal', normalMap)}
|
|
55
|
+
float flightClearcoatFactorSample() { return ${factorMap ? 'texture(u_flightClearcoatMap, flightClearcoatUv()).r' : '1.0'}; }
|
|
56
|
+
float flightClearcoatRoughnessSample() { return ${roughnessMap ? 'texture(u_flightClearcoatRoughnessMap, flightClearcoatRoughnessUv()).g' : '1.0'}; }`,
|
|
57
|
+
key: `clearcoat:${factorMap ? 'f' : '-'}${roughnessMap ? 'r' : '-'}${normalMap ? 'n' : '-'}`,
|
|
58
|
+
textureCount: Number(factorMap) + Number(roughnessMap) + Number(normalMap),
|
|
59
|
+
};
|
|
60
|
+
},
|
|
61
|
+
isSupported() {
|
|
62
|
+
return true;
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
export function registerGlClearcoatPbrExtension(state) {
|
|
66
|
+
registerGlPbrExtension(state, ClearcoatPbrExtensionKind, clearcoatPbrGlExtension);
|
|
67
|
+
}
|
|
68
|
+
function bindMap(context, name, texture, uvSet) {
|
|
69
|
+
context.bindTexture(`u_flight${name}Map`, `u_flight${name}MapUvSet`, `u_flight${name}MapTransform`, texture, uvSet);
|
|
70
|
+
}
|
|
71
|
+
function mapDeclarations(name, enabled) {
|
|
72
|
+
return enabled
|
|
73
|
+
? `uniform sampler2D u_flight${name}Map; uniform int u_flight${name}MapUvSet; uniform mat3 u_flight${name}MapTransform;`
|
|
74
|
+
: '';
|
|
75
|
+
}
|
|
76
|
+
function mapUvFunction(name, enabled) {
|
|
77
|
+
return enabled
|
|
78
|
+
? `vec2 flight${name}Uv() { vec2 uv = u_flight${name}MapUvSet == 1 ? v_pbrExtensionUv1 : v_pbrExtensionUv0; return (u_flight${name}MapTransform * vec3(uv, 1.0)).xy; }`
|
|
79
|
+
: '';
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=clearcoatPbrGlExtension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clearcoatPbrGlExtension.js","sourceRoot":"","sources":["../src/clearcoatPbrGlExtension.ts"],"names":[],"mappings":"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"}
|
package/dist/contract.d.ts
CHANGED
|
@@ -1,15 +1,18 @@
|
|
|
1
|
-
export * from './
|
|
1
|
+
export * from './anisotropyPbrGlExtension';
|
|
2
2
|
export * from './blinnPhongGlMeshMaterialRenderer';
|
|
3
|
-
export * from './
|
|
3
|
+
export * from './clearcoatPbrGlExtension';
|
|
4
4
|
export * from './customShaderGlMeshMaterialRenderer';
|
|
5
5
|
export * from './depthGlMeshMaterialRenderer';
|
|
6
6
|
export * from './drawGlScene3D';
|
|
7
|
-
export * from './enableGlScene3DForwardLightSelectionGuards';
|
|
8
7
|
export * from './emissiveGlMeshMaterialRenderer';
|
|
9
|
-
export * from './
|
|
8
|
+
export * from './enableGlPbrExtensionGuards';
|
|
10
9
|
export * from './enableGlScene3DColorSpaceGuards';
|
|
11
10
|
export * from './enableGlScene3DCustomShaderGuards';
|
|
12
11
|
export * from './enableGlScene3DDeformGuards';
|
|
12
|
+
export * from './enableGlScene3DForwardLightSelectionGuards';
|
|
13
|
+
export * from './explainGlScene3DCoverage';
|
|
14
|
+
export * from './explainGlScene3DForwardLightSelection';
|
|
15
|
+
export * from './extendedPbrGlMeshMaterialRenderer';
|
|
13
16
|
export * from './glClassicPrelude';
|
|
14
17
|
export * from './glDebugPrelude';
|
|
15
18
|
export * from './glEnvironmentCube';
|
|
@@ -18,12 +21,14 @@ export * from './glEnvironmentSkybox';
|
|
|
18
21
|
export * from './glLitProgram';
|
|
19
22
|
export * from './glMatcapPrelude';
|
|
20
23
|
export * from './glMeshMaterialRegistry';
|
|
21
|
-
export * from './glParticleEmitter3D';
|
|
22
24
|
export * from './glMeshProgram';
|
|
23
25
|
export * from './glMeshUpload';
|
|
26
|
+
export * from './glParticleEmitter3D';
|
|
27
|
+
export * from './glPbrExtensionRegistry';
|
|
24
28
|
export * from './glPbrPrelude';
|
|
25
29
|
export * from './glPbrProgramCache';
|
|
26
30
|
export * from './glPbrStandardBlock';
|
|
31
|
+
export * from './glPbrTransmissionSceneColor';
|
|
27
32
|
export * from './glScene3DRuntime';
|
|
28
33
|
export * from './glScene3DTime';
|
|
29
34
|
export * from './glShadedBuiltInModifiers';
|
|
@@ -34,23 +39,23 @@ export * from './glToonPrelude';
|
|
|
34
39
|
export * from './glUnlitPrelude';
|
|
35
40
|
export * from './glWireframePrelude';
|
|
36
41
|
export * from './glWireframeUpload';
|
|
37
|
-
export * from './
|
|
42
|
+
export * from './iridescencePbrGlExtension';
|
|
38
43
|
export * from './lambertGlMeshMaterialRenderer';
|
|
39
44
|
export * from './matcapGlMeshMaterialRenderer';
|
|
40
45
|
export * from './normalGlMeshMaterialRenderer';
|
|
41
46
|
export * from './phongGlMeshMaterialRenderer';
|
|
42
|
-
export * from './presentGlScene3D';
|
|
43
47
|
export * from './prepareGlScene3DForwardLights';
|
|
44
|
-
export * from './
|
|
48
|
+
export * from './presentGlScene3D';
|
|
49
|
+
export * from './registerGlStandardPbrMaterial';
|
|
45
50
|
export * from './shadedGlMeshMaterialRenderer';
|
|
46
|
-
export * from './
|
|
51
|
+
export * from './sheenPbrGlExtension';
|
|
47
52
|
export * from './specularGlossinessPbrGlMeshMaterialRenderer';
|
|
48
|
-
export * from './
|
|
53
|
+
export * from './specularPbrGlExtension';
|
|
49
54
|
export * from './standardPbrGlMeshMaterialRenderer';
|
|
50
|
-
export * from './subsurfacePbrGlMeshMaterialRenderer';
|
|
51
55
|
export * from './toonGlMeshMaterialRenderer';
|
|
52
|
-
export * from './
|
|
56
|
+
export * from './transmissionVolumePbrGlExtension';
|
|
53
57
|
export * from './unlitGlMeshMaterialRenderer';
|
|
54
58
|
export * from './vertexColorGlMeshMaterialRenderer';
|
|
55
59
|
export * from './wireframeGlMeshMaterialRenderer';
|
|
60
|
+
export * from './wrappedDiffusePbrGlExtension';
|
|
56
61
|
//# sourceMappingURL=contract.d.ts.map
|
package/dist/contract.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oCAAoC,CAAC;AACnD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sCAAsC,CAAC;AACrD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iBAAiB,CAAC;AAChC,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8CAA8C,CAAC;AAC7D,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yCAAyC,CAAC;AACxD,cAAc,qCAAqC,CAAC;AACpD,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,oBAAoB,CAAC;AACnC,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,+CAA+C,CAAC;AAC9D,cAAc,0BAA0B,CAAC;AACzC,cAAc,qCAAqC,CAAC;AACpD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC"}
|
package/dist/contract.js
CHANGED
|
@@ -1,15 +1,18 @@
|
|
|
1
|
-
export * from './
|
|
1
|
+
export * from './anisotropyPbrGlExtension';
|
|
2
2
|
export * from './blinnPhongGlMeshMaterialRenderer';
|
|
3
|
-
export * from './
|
|
3
|
+
export * from './clearcoatPbrGlExtension';
|
|
4
4
|
export * from './customShaderGlMeshMaterialRenderer';
|
|
5
5
|
export * from './depthGlMeshMaterialRenderer';
|
|
6
6
|
export * from './drawGlScene3D';
|
|
7
|
-
export * from './enableGlScene3DForwardLightSelectionGuards';
|
|
8
7
|
export * from './emissiveGlMeshMaterialRenderer';
|
|
9
|
-
export * from './
|
|
8
|
+
export * from './enableGlPbrExtensionGuards';
|
|
10
9
|
export * from './enableGlScene3DColorSpaceGuards';
|
|
11
10
|
export * from './enableGlScene3DCustomShaderGuards';
|
|
12
11
|
export * from './enableGlScene3DDeformGuards';
|
|
12
|
+
export * from './enableGlScene3DForwardLightSelectionGuards';
|
|
13
|
+
export * from './explainGlScene3DCoverage';
|
|
14
|
+
export * from './explainGlScene3DForwardLightSelection';
|
|
15
|
+
export * from './extendedPbrGlMeshMaterialRenderer';
|
|
13
16
|
export * from './glClassicPrelude';
|
|
14
17
|
export * from './glDebugPrelude';
|
|
15
18
|
export * from './glEnvironmentCube';
|
|
@@ -18,12 +21,14 @@ export * from './glEnvironmentSkybox';
|
|
|
18
21
|
export * from './glLitProgram';
|
|
19
22
|
export * from './glMatcapPrelude';
|
|
20
23
|
export * from './glMeshMaterialRegistry';
|
|
21
|
-
export * from './glParticleEmitter3D';
|
|
22
24
|
export * from './glMeshProgram';
|
|
23
25
|
export * from './glMeshUpload';
|
|
26
|
+
export * from './glParticleEmitter3D';
|
|
27
|
+
export * from './glPbrExtensionRegistry';
|
|
24
28
|
export * from './glPbrPrelude';
|
|
25
29
|
export * from './glPbrProgramCache';
|
|
26
30
|
export * from './glPbrStandardBlock';
|
|
31
|
+
export * from './glPbrTransmissionSceneColor';
|
|
27
32
|
export * from './glScene3DRuntime';
|
|
28
33
|
export * from './glScene3DTime';
|
|
29
34
|
export * from './glShadedBuiltInModifiers';
|
|
@@ -34,23 +39,23 @@ export * from './glToonPrelude';
|
|
|
34
39
|
export * from './glUnlitPrelude';
|
|
35
40
|
export * from './glWireframePrelude';
|
|
36
41
|
export * from './glWireframeUpload';
|
|
37
|
-
export * from './
|
|
42
|
+
export * from './iridescencePbrGlExtension';
|
|
38
43
|
export * from './lambertGlMeshMaterialRenderer';
|
|
39
44
|
export * from './matcapGlMeshMaterialRenderer';
|
|
40
45
|
export * from './normalGlMeshMaterialRenderer';
|
|
41
46
|
export * from './phongGlMeshMaterialRenderer';
|
|
42
|
-
export * from './presentGlScene3D';
|
|
43
47
|
export * from './prepareGlScene3DForwardLights';
|
|
44
|
-
export * from './
|
|
48
|
+
export * from './presentGlScene3D';
|
|
49
|
+
export * from './registerGlStandardPbrMaterial';
|
|
45
50
|
export * from './shadedGlMeshMaterialRenderer';
|
|
46
|
-
export * from './
|
|
51
|
+
export * from './sheenPbrGlExtension';
|
|
47
52
|
export * from './specularGlossinessPbrGlMeshMaterialRenderer';
|
|
48
|
-
export * from './
|
|
53
|
+
export * from './specularPbrGlExtension';
|
|
49
54
|
export * from './standardPbrGlMeshMaterialRenderer';
|
|
50
|
-
export * from './subsurfacePbrGlMeshMaterialRenderer';
|
|
51
55
|
export * from './toonGlMeshMaterialRenderer';
|
|
52
|
-
export * from './
|
|
56
|
+
export * from './transmissionVolumePbrGlExtension';
|
|
53
57
|
export * from './unlitGlMeshMaterialRenderer';
|
|
54
58
|
export * from './vertexColorGlMeshMaterialRenderer';
|
|
55
59
|
export * from './wireframeGlMeshMaterialRenderer';
|
|
60
|
+
export * from './wrappedDiffusePbrGlExtension';
|
|
56
61
|
//# sourceMappingURL=contract.js.map
|
package/dist/contract.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oCAAoC,CAAC;AACnD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sCAAsC,CAAC;AACrD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iBAAiB,CAAC;AAChC,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8CAA8C,CAAC;AAC7D,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yCAAyC,CAAC;AACxD,cAAc,qCAAqC,CAAC;AACpD,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,oBAAoB,CAAC;AACnC,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,+CAA+C,CAAC;AAC9D,cAAc,0BAA0B,CAAC;AACzC,cAAc,qCAAqC,CAAC;AACpD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { GlCustomMaterialShaderSource, GlMeshMaterialRenderer, GlRenderState } from '@flighthq/types/contract';
|
|
2
2
|
export declare const customShaderGlMeshMaterialRenderer: GlMeshMaterialRenderer;
|
|
3
3
|
export declare function getGlCustomMaterialShaderSource(state: GlRenderState, shaderKey: string): Readonly<GlCustomMaterialShaderSource> | null;
|
|
4
|
-
export declare function registerCustomShaderGlMaterial(state: GlRenderState): void;
|
|
5
4
|
export declare function registerGlCustomMaterialShader(state: GlRenderState, shaderKey: string, source: Readonly<GlCustomMaterialShaderSource>): void;
|
|
5
|
+
export declare function registerGlCustomShaderMaterial(state: GlRenderState): void;
|
|
6
6
|
//# sourceMappingURL=customShaderGlMeshMaterialRenderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customShaderGlMeshMaterialRenderer.d.ts","sourceRoot":"","sources":["../src/customShaderGlMeshMaterialRenderer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"customShaderGlMeshMaterialRenderer.d.ts","sourceRoot":"","sources":["../src/customShaderGlMeshMaterialRenderer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,4BAA4B,EAG5B,sBAAsB,EACtB,aAAa,EAOd,MAAM,0BAA0B,CAAC;AA2BlC,eAAO,MAAM,kCAAkC,EAAE,sBAkChD,CAAC;AAIF,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,MAAM,GAChB,QAAQ,CAAC,4BAA4B,CAAC,GAAG,IAAI,CAE/C;AAoBD,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,QAAQ,CAAC,4BAA4B,CAAC,GAC7C,IAAI,CAON;AAKD,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAEzE"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { bindGlImageResourceTexture } from '@flighthq/render-gl/contract';
|
|
1
|
+
import { resolveGlTexture } from '@flighthq/render-gl/contract';
|
|
3
2
|
import { CustomShaderMaterialKind } from '@flighthq/types/contract';
|
|
4
3
|
import { registerGlMeshMaterialRenderer } from './glMeshMaterialRegistry';
|
|
5
4
|
import { beginGlMeshDraw, compileGlProgram, drawGlMeshSubset, ensureGlScene3DProgram, setGlMeshCameraPosition, setGlMeshViewProjection, } from './glMeshProgram';
|
|
@@ -25,7 +24,7 @@ export const customShaderGlMeshMaterialRenderer = {
|
|
|
25
24
|
const program = ensureGlCustomShaderProgram(state, custom.shaderKey, source);
|
|
26
25
|
getGlScene3DRuntime(state).customShaderGuard?.(state, program.program, custom.shaderKey);
|
|
27
26
|
beginGlMeshDraw(state, program, custom.doubleSided);
|
|
28
|
-
setGlMeshViewProjection(state
|
|
27
|
+
setGlMeshViewProjection(state, program.locViewProjection, camera);
|
|
29
28
|
setGlMeshCameraPosition(state.gl, program.locCameraPosition, camera);
|
|
30
29
|
uploadCustomShaderMaterialUniforms(state.gl, program.program, custom);
|
|
31
30
|
uploadCustomShaderMaterialTextures(state, program.program, custom);
|
|
@@ -42,12 +41,6 @@ export const customShaderGlMeshMaterialRenderer = {
|
|
|
42
41
|
export function getGlCustomMaterialShaderSource(state, shaderKey) {
|
|
43
42
|
return _customMaterialShaders.get(state)?.get(shaderKey) ?? null;
|
|
44
43
|
}
|
|
45
|
-
// Registers the built-in CustomShaderMaterial renderer for CustomShaderMaterialKind on this
|
|
46
|
-
// state. Opt-in (no top-level side effect); call once per GlRenderState before drawScene3D so
|
|
47
|
-
// meshes carrying CustomShaderMaterials draw.
|
|
48
|
-
export function registerCustomShaderGlMaterial(state) {
|
|
49
|
-
registerGlMeshMaterialRenderer(state, CustomShaderMaterialKind, customShaderGlMeshMaterialRenderer);
|
|
50
|
-
}
|
|
51
44
|
// Registers a vertex + fragment shader source pair under `shaderKey` for this state, so a
|
|
52
45
|
// CustomShaderMaterial naming that key compiles and runs it. The vertex scene2d receives the
|
|
53
46
|
// standard mesh attributes (a_position loc 0, a_normal loc 1, a_tangent loc 2, a_uv0 loc 3)
|
|
@@ -55,8 +48,14 @@ export function registerCustomShaderGlMaterial(state) {
|
|
|
55
48
|
// `mat4 u_model`, `mat3 u_normalMatrix` (NOT mat4 — the renderer uploads it with glUniformMatrix3fv,
|
|
56
49
|
// so a mat4 declaration raises a silent GL_INVALID_OPERATION and the mesh draws nothing;
|
|
57
50
|
// enableGlScene3DCustomShaderGuards catches this), and `vec3 u_cameraPosition`. When the material's
|
|
58
|
-
// alphaMode is 'blend',
|
|
59
|
-
// the
|
|
51
|
+
// alphaMode is 'blend', the fragment shader must output PREMULTIPLIED linear scene color (rgb already
|
|
52
|
+
// scaled by the coverage it writes to a) — every blend equation is premultiplied, and Flight compiles
|
|
53
|
+
// caller-authored source verbatim, so it cannot append the fixup the built-in tails get from
|
|
54
|
+
// GL_MESH_FRAGMENT_TAIL. End your main with `fragColor.rgb *= fragColor.a;`.
|
|
55
|
+
// Texture uniforms sample according to each Texture.colorSpace GPU realization; do not decode an sRGB
|
|
56
|
+
// texture again in caller-authored GLSL.
|
|
57
|
+
// For alphaMode 'mask', the native shader owns the cutoff discard (pass alphaCutoff through the custom
|
|
58
|
+
// uniforms bag when needed); the fixed ABI cannot inject a discard into caller-authored source. Last write wins for the source
|
|
60
59
|
// lookup, but the compiled program is cached
|
|
61
60
|
// by shaderKey, so re-registering a different source under the same key keeps running the
|
|
62
61
|
// already-compiled program. Register edited source under a new key to force a recompile.
|
|
@@ -68,6 +67,12 @@ export function registerGlCustomMaterialShader(state, shaderKey, source) {
|
|
|
68
67
|
}
|
|
69
68
|
registry.set(shaderKey, source);
|
|
70
69
|
}
|
|
70
|
+
// Registers the built-in CustomShaderMaterial renderer for CustomShaderMaterialKind on this
|
|
71
|
+
// state. Opt-in (no top-level side effect); call once per GlRenderState before drawScene3D so
|
|
72
|
+
// meshes carrying CustomShaderMaterials draw.
|
|
73
|
+
export function registerGlCustomShaderMaterial(state) {
|
|
74
|
+
registerGlMeshMaterialRenderer(state, CustomShaderMaterialKind, customShaderGlMeshMaterialRenderer);
|
|
75
|
+
}
|
|
71
76
|
function ensureGlCustomShaderProgram(state, shaderKey, source) {
|
|
72
77
|
return ensureGlScene3DProgram(state, `custom:${shaderKey}`, (gl) => compileGlCustomShaderProgram(gl, source));
|
|
73
78
|
}
|
|
@@ -121,13 +126,12 @@ function uploadCustomShaderMaterialTextures(state, program, material) {
|
|
|
121
126
|
let unit = 0;
|
|
122
127
|
for (const name of Object.keys(textures)) {
|
|
123
128
|
const texture = textures[name];
|
|
124
|
-
if (texture.storage.image === null || !hasImageResourcePixels(texture.storage.image))
|
|
125
|
-
continue;
|
|
126
129
|
const location = gl.getUniformLocation(program, name);
|
|
127
130
|
if (location === null)
|
|
128
131
|
continue;
|
|
129
132
|
gl.activeTexture(gl.TEXTURE0 + unit);
|
|
130
|
-
|
|
133
|
+
if (resolveGlTexture(state, texture) === null)
|
|
134
|
+
continue;
|
|
131
135
|
gl.uniform1i(location, unit);
|
|
132
136
|
unit++;
|
|
133
137
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customShaderGlMeshMaterialRenderer.js","sourceRoot":"","sources":["../src/customShaderGlMeshMaterialRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"customShaderGlMeshMaterialRenderer.js","sourceRoot":"","sources":["../src/customShaderGlMeshMaterialRenderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { GlMeshMaterialRenderer, GlRenderState } from '@flighthq/types/contract';
|
|
2
2
|
export declare const depthGlMeshMaterialRenderer: GlMeshMaterialRenderer;
|
|
3
|
-
export declare function
|
|
3
|
+
export declare function registerGlDepthMaterial(state: GlRenderState): void;
|
|
4
4
|
//# sourceMappingURL=depthGlMeshMaterialRenderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"depthGlMeshMaterialRenderer.d.ts","sourceRoot":"","sources":["../src/depthGlMeshMaterialRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,sBAAsB,EACtB,aAAa,EAKd,MAAM,0BAA0B,CAAC;AAalC,eAAO,MAAM,2BAA2B,EAAE,
|
|
1
|
+
{"version":3,"file":"depthGlMeshMaterialRenderer.d.ts","sourceRoot":"","sources":["../src/depthGlMeshMaterialRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,sBAAsB,EACtB,aAAa,EAKd,MAAM,0BAA0B,CAAC;AAalC,eAAO,MAAM,2BAA2B,EAAE,sBAwBzC,CAAC;AAIF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAElE"}
|