@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.
Files changed (286) hide show
  1. package/dist/anisotropyPbrGlExtension.d.ts +4 -0
  2. package/dist/anisotropyPbrGlExtension.d.ts.map +1 -0
  3. package/dist/anisotropyPbrGlExtension.js +57 -0
  4. package/dist/anisotropyPbrGlExtension.js.map +1 -0
  5. package/dist/blinnPhongGlMeshMaterialRenderer.d.ts +1 -1
  6. package/dist/blinnPhongGlMeshMaterialRenderer.d.ts.map +1 -1
  7. package/dist/blinnPhongGlMeshMaterialRenderer.js +24 -25
  8. package/dist/blinnPhongGlMeshMaterialRenderer.js.map +1 -1
  9. package/dist/clearcoatPbrGlExtension.d.ts +4 -0
  10. package/dist/clearcoatPbrGlExtension.d.ts.map +1 -0
  11. package/dist/clearcoatPbrGlExtension.js +81 -0
  12. package/dist/clearcoatPbrGlExtension.js.map +1 -0
  13. package/dist/contract.d.ts +17 -12
  14. package/dist/contract.d.ts.map +1 -1
  15. package/dist/contract.js +17 -12
  16. package/dist/contract.js.map +1 -1
  17. package/dist/customShaderGlMeshMaterialRenderer.d.ts +1 -1
  18. package/dist/customShaderGlMeshMaterialRenderer.d.ts.map +1 -1
  19. package/dist/customShaderGlMeshMaterialRenderer.js +18 -14
  20. package/dist/customShaderGlMeshMaterialRenderer.js.map +1 -1
  21. package/dist/depthGlMeshMaterialRenderer.d.ts +1 -1
  22. package/dist/depthGlMeshMaterialRenderer.d.ts.map +1 -1
  23. package/dist/depthGlMeshMaterialRenderer.js +3 -4
  24. package/dist/depthGlMeshMaterialRenderer.js.map +1 -1
  25. package/dist/drawGlScene3D.d.ts.map +1 -1
  26. package/dist/drawGlScene3D.js +21 -6
  27. package/dist/drawGlScene3D.js.map +1 -1
  28. package/dist/emissiveGlMeshMaterialRenderer.d.ts +1 -1
  29. package/dist/emissiveGlMeshMaterialRenderer.d.ts.map +1 -1
  30. package/dist/emissiveGlMeshMaterialRenderer.js +7 -6
  31. package/dist/emissiveGlMeshMaterialRenderer.js.map +1 -1
  32. package/dist/enableGlPbrExtensionGuards.d.ts +4 -0
  33. package/dist/enableGlPbrExtensionGuards.d.ts.map +1 -0
  34. package/dist/enableGlPbrExtensionGuards.js +34 -0
  35. package/dist/enableGlPbrExtensionGuards.js.map +1 -0
  36. package/dist/explainGlScene3DCoverage.d.ts +4 -0
  37. package/dist/explainGlScene3DCoverage.d.ts.map +1 -0
  38. package/dist/explainGlScene3DCoverage.js +92 -0
  39. package/dist/explainGlScene3DCoverage.js.map +1 -0
  40. package/dist/extendedPbrGlMeshMaterialRenderer.d.ts +4 -0
  41. package/dist/extendedPbrGlMeshMaterialRenderer.d.ts.map +1 -0
  42. package/dist/extendedPbrGlMeshMaterialRenderer.js +39 -0
  43. package/dist/extendedPbrGlMeshMaterialRenderer.js.map +1 -0
  44. package/dist/glClassicPrelude.d.ts.map +1 -1
  45. package/dist/glClassicPrelude.js +7 -12
  46. package/dist/glClassicPrelude.js.map +1 -1
  47. package/dist/glDebugPrelude.d.ts.map +1 -1
  48. package/dist/glDebugPrelude.js +7 -7
  49. package/dist/glDebugPrelude.js.map +1 -1
  50. package/dist/glEnvironmentCube.d.ts +2 -2
  51. package/dist/glEnvironmentCube.d.ts.map +1 -1
  52. package/dist/glEnvironmentCube.js +30 -13
  53. package/dist/glEnvironmentCube.js.map +1 -1
  54. package/dist/glEnvironmentIblBake.js +4 -7
  55. package/dist/glEnvironmentIblBake.js.map +1 -1
  56. package/dist/glEnvironmentSkybox.d.ts.map +1 -1
  57. package/dist/glEnvironmentSkybox.js +5 -10
  58. package/dist/glEnvironmentSkybox.js.map +1 -1
  59. package/dist/glLitProgram.d.ts +2 -1
  60. package/dist/glLitProgram.d.ts.map +1 -1
  61. package/dist/glLitProgram.js +57 -26
  62. package/dist/glLitProgram.js.map +1 -1
  63. package/dist/glMatcapPrelude.d.ts.map +1 -1
  64. package/dist/glMatcapPrelude.js +10 -16
  65. package/dist/glMatcapPrelude.js.map +1 -1
  66. package/dist/glMeshFragmentTail.d.ts +3 -0
  67. package/dist/glMeshFragmentTail.d.ts.map +1 -0
  68. package/dist/glMeshFragmentTail.js +25 -0
  69. package/dist/glMeshFragmentTail.js.map +1 -0
  70. package/dist/glMeshMaterialRegistry.js +1 -1
  71. package/dist/glMeshProgram.d.ts +3 -2
  72. package/dist/glMeshProgram.d.ts.map +1 -1
  73. package/dist/glMeshProgram.js +45 -24
  74. package/dist/glMeshProgram.js.map +1 -1
  75. package/dist/glParticleEmitter3D.d.ts.map +1 -1
  76. package/dist/glParticleEmitter3D.js +25 -27
  77. package/dist/glParticleEmitter3D.js.map +1 -1
  78. package/dist/glPbrExtensionRegistry.d.ts +7 -0
  79. package/dist/glPbrExtensionRegistry.d.ts.map +1 -0
  80. package/dist/glPbrExtensionRegistry.js +140 -0
  81. package/dist/glPbrExtensionRegistry.js.map +1 -0
  82. package/dist/glPbrPrelude.d.ts +2 -2
  83. package/dist/glPbrPrelude.d.ts.map +1 -1
  84. package/dist/glPbrPrelude.js +65 -205
  85. package/dist/glPbrPrelude.js.map +1 -1
  86. package/dist/glPbrProgramCache.d.ts +3 -3
  87. package/dist/glPbrProgramCache.d.ts.map +1 -1
  88. package/dist/glPbrProgramCache.js +6 -20
  89. package/dist/glPbrProgramCache.js.map +1 -1
  90. package/dist/glPbrStandardBlock.d.ts +2 -2
  91. package/dist/glPbrStandardBlock.d.ts.map +1 -1
  92. package/dist/glPbrStandardBlock.js +16 -23
  93. package/dist/glPbrStandardBlock.js.map +1 -1
  94. package/dist/glPbrTransmissionSceneColor.d.ts +3 -0
  95. package/dist/glPbrTransmissionSceneColor.d.ts.map +1 -0
  96. package/dist/glPbrTransmissionSceneColor.js +7 -0
  97. package/dist/glPbrTransmissionSceneColor.js.map +1 -0
  98. package/dist/glScene3DRuntime.d.ts.map +1 -1
  99. package/dist/glScene3DRuntime.js +5 -0
  100. package/dist/glScene3DRuntime.js.map +1 -1
  101. package/dist/glScene3DTestHelper.d.ts.map +1 -1
  102. package/dist/glScene3DTestHelper.js +12 -3
  103. package/dist/glScene3DTestHelper.js.map +1 -1
  104. package/dist/glShadedBuiltInModifiers.d.ts.map +1 -1
  105. package/dist/glShadedBuiltInModifiers.js +5 -9
  106. package/dist/glShadedBuiltInModifiers.js.map +1 -1
  107. package/dist/glShadedPrelude.d.ts.map +1 -1
  108. package/dist/glShadedPrelude.js +7 -12
  109. package/dist/glShadedPrelude.js.map +1 -1
  110. package/dist/glShadowMap.d.ts +2 -2
  111. package/dist/glShadowMap.d.ts.map +1 -1
  112. package/dist/glShadowMap.js +33 -9
  113. package/dist/glShadowMap.js.map +1 -1
  114. package/dist/glToonPrelude.d.ts.map +1 -1
  115. package/dist/glToonPrelude.js +6 -12
  116. package/dist/glToonPrelude.js.map +1 -1
  117. package/dist/glUnlitPrelude.d.ts.map +1 -1
  118. package/dist/glUnlitPrelude.js +6 -17
  119. package/dist/glUnlitPrelude.js.map +1 -1
  120. package/dist/glViewportAspect.d.ts +3 -0
  121. package/dist/glViewportAspect.d.ts.map +1 -0
  122. package/dist/glViewportAspect.js +8 -0
  123. package/dist/glViewportAspect.js.map +1 -0
  124. package/dist/glWireframePrelude.d.ts +3 -3
  125. package/dist/glWireframePrelude.d.ts.map +1 -1
  126. package/dist/glWireframePrelude.js +22 -13
  127. package/dist/glWireframePrelude.js.map +1 -1
  128. package/dist/index.d.ts +1 -1
  129. package/dist/index.d.ts.map +1 -1
  130. package/dist/index.js +1 -1
  131. package/dist/index.js.map +1 -1
  132. package/dist/iridescencePbrGlExtension.d.ts +4 -0
  133. package/dist/iridescencePbrGlExtension.d.ts.map +1 -0
  134. package/dist/iridescencePbrGlExtension.js +54 -0
  135. package/dist/iridescencePbrGlExtension.js.map +1 -0
  136. package/dist/lambertGlMeshMaterialRenderer.d.ts +1 -1
  137. package/dist/lambertGlMeshMaterialRenderer.d.ts.map +1 -1
  138. package/dist/lambertGlMeshMaterialRenderer.js +10 -12
  139. package/dist/lambertGlMeshMaterialRenderer.js.map +1 -1
  140. package/dist/matcapGlMeshMaterialRenderer.d.ts +1 -1
  141. package/dist/matcapGlMeshMaterialRenderer.d.ts.map +1 -1
  142. package/dist/matcapGlMeshMaterialRenderer.js +7 -6
  143. package/dist/matcapGlMeshMaterialRenderer.js.map +1 -1
  144. package/dist/normalGlMeshMaterialRenderer.d.ts +1 -1
  145. package/dist/normalGlMeshMaterialRenderer.d.ts.map +1 -1
  146. package/dist/normalGlMeshMaterialRenderer.js +5 -5
  147. package/dist/normalGlMeshMaterialRenderer.js.map +1 -1
  148. package/dist/phongGlMeshMaterialRenderer.d.ts +1 -1
  149. package/dist/phongGlMeshMaterialRenderer.d.ts.map +1 -1
  150. package/dist/phongGlMeshMaterialRenderer.js +18 -19
  151. package/dist/phongGlMeshMaterialRenderer.js.map +1 -1
  152. package/dist/presentGlScene3D.d.ts.map +1 -1
  153. package/dist/presentGlScene3D.js +6 -2
  154. package/dist/presentGlScene3D.js.map +1 -1
  155. package/dist/registerGlStandardPbrMaterial.d.ts +3 -0
  156. package/dist/registerGlStandardPbrMaterial.d.ts.map +1 -0
  157. package/dist/{registerStandardPbrGlMaterial.js → registerGlStandardPbrMaterial.js} +2 -2
  158. package/dist/{registerStandardPbrGlMaterial.js.map → registerGlStandardPbrMaterial.js.map} +1 -1
  159. package/dist/shadedGlMeshMaterialRenderer.d.ts +1 -1
  160. package/dist/shadedGlMeshMaterialRenderer.d.ts.map +1 -1
  161. package/dist/shadedGlMeshMaterialRenderer.js +18 -19
  162. package/dist/shadedGlMeshMaterialRenderer.js.map +1 -1
  163. package/dist/sheenPbrGlExtension.d.ts +4 -0
  164. package/dist/sheenPbrGlExtension.d.ts.map +1 -0
  165. package/dist/sheenPbrGlExtension.js +53 -0
  166. package/dist/sheenPbrGlExtension.js.map +1 -0
  167. package/dist/specularGlossinessPbrGlMeshMaterialRenderer.d.ts +1 -1
  168. package/dist/specularGlossinessPbrGlMeshMaterialRenderer.js +5 -5
  169. package/dist/specularGlossinessPbrGlMeshMaterialRenderer.js.map +1 -1
  170. package/dist/specularPbrGlExtension.d.ts +4 -0
  171. package/dist/specularPbrGlExtension.d.ts.map +1 -0
  172. package/dist/specularPbrGlExtension.js +42 -0
  173. package/dist/specularPbrGlExtension.js.map +1 -0
  174. package/dist/standardPbrGlMeshMaterialRenderer.js +3 -3
  175. package/dist/standardPbrGlMeshMaterialRenderer.js.map +1 -1
  176. package/dist/toonGlMeshMaterialRenderer.d.ts +1 -1
  177. package/dist/toonGlMeshMaterialRenderer.d.ts.map +1 -1
  178. package/dist/toonGlMeshMaterialRenderer.js +14 -17
  179. package/dist/toonGlMeshMaterialRenderer.js.map +1 -1
  180. package/dist/transmissionVolumePbrGlExtension.d.ts +4 -0
  181. package/dist/transmissionVolumePbrGlExtension.d.ts.map +1 -0
  182. package/dist/transmissionVolumePbrGlExtension.js +69 -0
  183. package/dist/transmissionVolumePbrGlExtension.js.map +1 -0
  184. package/dist/unlitGlMeshMaterialRenderer.d.ts +1 -1
  185. package/dist/unlitGlMeshMaterialRenderer.d.ts.map +1 -1
  186. package/dist/unlitGlMeshMaterialRenderer.js +5 -17
  187. package/dist/unlitGlMeshMaterialRenderer.js.map +1 -1
  188. package/dist/vertexColorGlMeshMaterialRenderer.d.ts +1 -1
  189. package/dist/vertexColorGlMeshMaterialRenderer.js +3 -3
  190. package/dist/vertexColorGlMeshMaterialRenderer.js.map +1 -1
  191. package/dist/wireframeGlMeshMaterialRenderer.d.ts +1 -1
  192. package/dist/wireframeGlMeshMaterialRenderer.d.ts.map +1 -1
  193. package/dist/wireframeGlMeshMaterialRenderer.js +10 -5
  194. package/dist/wireframeGlMeshMaterialRenderer.js.map +1 -1
  195. package/dist/wrappedDiffusePbrGlExtension.d.ts +4 -0
  196. package/dist/wrappedDiffusePbrGlExtension.d.ts.map +1 -0
  197. package/dist/wrappedDiffusePbrGlExtension.js +54 -0
  198. package/dist/wrappedDiffusePbrGlExtension.js.map +1 -0
  199. package/package.json +18 -16
  200. package/src/anisotropyPbrGlExtension.test.ts +25 -0
  201. package/src/blinnPhongGlMeshMaterialRenderer.test.ts +3 -3
  202. package/src/clearcoatPbrGlExtension.test.ts +25 -0
  203. package/src/customShaderGlMeshMaterialRenderer.test.ts +9 -9
  204. package/src/depthGlMeshMaterialRenderer.test.ts +3 -3
  205. package/src/drawGlScene3D.test.ts +53 -16
  206. package/src/emissiveGlMeshMaterialRenderer.test.ts +3 -3
  207. package/src/enableGlPbrExtensionGuards.test.ts +96 -0
  208. package/src/enableGlScene3DColorSpaceGuards.test.ts +2 -2
  209. package/src/enableGlScene3DForwardLightSelectionGuards.test.ts +3 -3
  210. package/src/explainGlScene3DCoverage.test.ts +143 -0
  211. package/src/extendedPbrGlMeshMaterialRenderer.test.ts +40 -0
  212. package/src/glClassicPrelude.test.ts +3 -2
  213. package/src/glEnvironmentCube.test.ts +21 -5
  214. package/src/glEnvironmentSkybox.test.ts +32 -1
  215. package/src/glLitProgram.test.ts +58 -0
  216. package/src/glMeshFragmentTail.test.ts +16 -0
  217. package/src/glMeshProgram.test.ts +76 -7
  218. package/src/glMeshUpload.test.ts +3 -2
  219. package/src/glParticleEmitter3D.test.ts +18 -6
  220. package/src/glPbrExtensionRegistry.test.ts +75 -0
  221. package/src/glPbrPrelude.test.ts +33 -38
  222. package/src/glPbrProgramCache.test.ts +19 -31
  223. package/src/glPbrStandardBlock.test.ts +28 -19
  224. package/src/glPbrTransmissionSceneColor.test.ts +14 -0
  225. package/src/glScene3DRuntime.test.ts +8 -1
  226. package/src/glShadedBuiltInModifiers.test.ts +1 -1
  227. package/src/glShadedPrelude.test.ts +1 -0
  228. package/src/glShadowMap.test.ts +126 -9
  229. package/src/glToonPrelude.test.ts +3 -2
  230. package/src/glUnlitPrelude.test.ts +14 -18
  231. package/src/glViewportAspect.test.ts +13 -0
  232. package/src/glWireframePrelude.test.ts +7 -0
  233. package/src/iridescencePbrGlExtension.test.ts +24 -0
  234. package/src/lambertGlMeshMaterialRenderer.test.ts +3 -3
  235. package/src/matcapGlMeshMaterialRenderer.test.ts +3 -3
  236. package/src/normalGlMeshMaterialRenderer.test.ts +3 -3
  237. package/src/phongGlMeshMaterialRenderer.test.ts +3 -3
  238. package/src/presentGlScene3D.test.ts +33 -4
  239. package/src/{registerStandardPbrGlMaterial.test.ts → registerGlStandardPbrMaterial.test.ts} +10 -3
  240. package/src/shadedGlMeshMaterialRenderer.test.ts +3 -3
  241. package/src/sheenPbrGlExtension.test.ts +25 -0
  242. package/src/specularGlossinessPbrGlMeshMaterialRenderer.test.ts +6 -6
  243. package/src/specularPbrGlExtension.test.ts +24 -0
  244. package/src/toonGlMeshMaterialRenderer.test.ts +3 -3
  245. package/src/transmissionVolumePbrGlExtension.test.ts +31 -0
  246. package/src/unlitGlMeshMaterialRenderer.test.ts +14 -7
  247. package/src/vertexColorGlMeshMaterialRenderer.test.ts +3 -3
  248. package/src/wireframeGlMeshMaterialRenderer.test.ts +24 -3
  249. package/src/wrappedDiffusePbrGlExtension.test.ts +25 -0
  250. package/dist/anisotropyPbrGlMeshMaterialRenderer.d.ts +0 -4
  251. package/dist/anisotropyPbrGlMeshMaterialRenderer.d.ts.map +0 -1
  252. package/dist/anisotropyPbrGlMeshMaterialRenderer.js +0 -45
  253. package/dist/anisotropyPbrGlMeshMaterialRenderer.js.map +0 -1
  254. package/dist/clearcoatPbrGlMeshMaterialRenderer.d.ts +0 -4
  255. package/dist/clearcoatPbrGlMeshMaterialRenderer.d.ts.map +0 -1
  256. package/dist/clearcoatPbrGlMeshMaterialRenderer.js +0 -45
  257. package/dist/clearcoatPbrGlMeshMaterialRenderer.js.map +0 -1
  258. package/dist/iridescencePbrGlMeshMaterialRenderer.d.ts +0 -4
  259. package/dist/iridescencePbrGlMeshMaterialRenderer.d.ts.map +0 -1
  260. package/dist/iridescencePbrGlMeshMaterialRenderer.js +0 -54
  261. package/dist/iridescencePbrGlMeshMaterialRenderer.js.map +0 -1
  262. package/dist/registerStandardPbrGlMaterial.d.ts +0 -3
  263. package/dist/registerStandardPbrGlMaterial.d.ts.map +0 -1
  264. package/dist/sheenPbrGlMeshMaterialRenderer.d.ts +0 -4
  265. package/dist/sheenPbrGlMeshMaterialRenderer.d.ts.map +0 -1
  266. package/dist/sheenPbrGlMeshMaterialRenderer.js +0 -54
  267. package/dist/sheenPbrGlMeshMaterialRenderer.js.map +0 -1
  268. package/dist/specularPbrGlMeshMaterialRenderer.d.ts +0 -4
  269. package/dist/specularPbrGlMeshMaterialRenderer.d.ts.map +0 -1
  270. package/dist/specularPbrGlMeshMaterialRenderer.js +0 -55
  271. package/dist/specularPbrGlMeshMaterialRenderer.js.map +0 -1
  272. package/dist/subsurfacePbrGlMeshMaterialRenderer.d.ts +0 -4
  273. package/dist/subsurfacePbrGlMeshMaterialRenderer.d.ts.map +0 -1
  274. package/dist/subsurfacePbrGlMeshMaterialRenderer.js +0 -57
  275. package/dist/subsurfacePbrGlMeshMaterialRenderer.js.map +0 -1
  276. package/dist/transmissionVolumePbrGlMeshMaterialRenderer.d.ts +0 -4
  277. package/dist/transmissionVolumePbrGlMeshMaterialRenderer.d.ts.map +0 -1
  278. package/dist/transmissionVolumePbrGlMeshMaterialRenderer.js +0 -62
  279. package/dist/transmissionVolumePbrGlMeshMaterialRenderer.js.map +0 -1
  280. package/src/anisotropyPbrGlMeshMaterialRenderer.test.ts +0 -86
  281. package/src/clearcoatPbrGlMeshMaterialRenderer.test.ts +0 -81
  282. package/src/iridescencePbrGlMeshMaterialRenderer.test.ts +0 -86
  283. package/src/sheenPbrGlMeshMaterialRenderer.test.ts +0 -83
  284. package/src/specularPbrGlMeshMaterialRenderer.test.ts +0 -83
  285. package/src/subsurfacePbrGlMeshMaterialRenderer.test.ts +0 -86
  286. 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 registerBlinnPhongGlMaterial(state: GlRenderState): void;
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":"AAGA,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
+ {"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 { hasImageResourcePixels } from '@flighthq/image/contract';
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
- // registerBlinnPhongGlMaterial to install it.
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(gl, program.locViewProjection, camera);
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 registerBlinnPhongGlMaterial(state) {
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 && diffuseMap.storage.image !== null && hasImageResourcePixels(diffuseMap.storage.image)) {
59
+ if (diffuseMap !== null) {
61
60
  gl.activeTexture(gl.TEXTURE0);
62
- bindGlImageResourceTexture(state, diffuseMap.storage.image, diffuseMap.sampler);
63
- gl.uniform1i(program.locDiffuseMap, 0);
61
+ if (resolveGlTexture(state, diffuseMap) !== null)
62
+ gl.uniform1i(program.locDiffuseMap, 0);
64
63
  }
65
64
  const specularMap = material.specularMap;
66
- if (specularMap !== null && specularMap.storage.image !== null && hasImageResourcePixels(specularMap.storage.image)) {
65
+ if (specularMap !== null) {
67
66
  gl.activeTexture(gl.TEXTURE1);
68
- bindGlImageResourceTexture(state, specularMap.storage.image, specularMap.sampler);
69
- gl.uniform1i(program.locSpecularMap, 1);
67
+ if (resolveGlTexture(state, specularMap) !== null)
68
+ gl.uniform1i(program.locSpecularMap, 1);
70
69
  }
71
70
  const normalMap = material.normalMap;
72
- if (normalMap !== null && normalMap.storage.image !== null && hasImageResourcePixels(normalMap.storage.image)) {
71
+ if (normalMap !== null) {
73
72
  gl.activeTexture(gl.TEXTURE2);
74
- bindGlImageResourceTexture(state, normalMap.storage.image, normalMap.sampler);
75
- gl.uniform1i(program.locNormalMap, 2);
73
+ if (resolveGlTexture(state, normalMap) !== null)
74
+ gl.uniform1i(program.locNormalMap, 2);
76
75
  }
77
76
  const alphaMap = material.alphaMap;
78
- if (alphaMap !== null && alphaMap.storage.image !== null && hasImageResourcePixels(alphaMap.storage.image)) {
77
+ if (alphaMap !== null) {
79
78
  gl.activeTexture(gl.TEXTURE3);
80
- bindGlImageResourceTexture(state, alphaMap.storage.image, alphaMap.sampler);
81
- gl.uniform1i(program.locAlphaMap, 3);
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 test (isGlTextureReady, incl. hasImageResourcePixels) so the compiled
91
- // HAS_ALPHA_MAP variant and the bound texture never disagree. Gated off 'opaque' — an opaque
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 && material.diffuseMap !== null && material.diffuseMap.storage.image !== null,
95
- hasNormalMap: material !== null && material.normalMap !== null && material.normalMap.storage.image !== null,
96
- hasSpecularMap: material !== null && material.specularMap !== null && material.specularMap.storage.image !== 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":"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"}
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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"}
@@ -1,15 +1,18 @@
1
- export * from './anisotropyPbrGlMeshMaterialRenderer';
1
+ export * from './anisotropyPbrGlExtension';
2
2
  export * from './blinnPhongGlMeshMaterialRenderer';
3
- export * from './clearcoatPbrGlMeshMaterialRenderer';
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 './explainGlScene3DForwardLightSelection';
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 './iridescencePbrGlMeshMaterialRenderer';
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 './registerStandardPbrGlMaterial';
48
+ export * from './presentGlScene3D';
49
+ export * from './registerGlStandardPbrMaterial';
45
50
  export * from './shadedGlMeshMaterialRenderer';
46
- export * from './sheenPbrGlMeshMaterialRenderer';
51
+ export * from './sheenPbrGlExtension';
47
52
  export * from './specularGlossinessPbrGlMeshMaterialRenderer';
48
- export * from './specularPbrGlMeshMaterialRenderer';
53
+ export * from './specularPbrGlExtension';
49
54
  export * from './standardPbrGlMeshMaterialRenderer';
50
- export * from './subsurfacePbrGlMeshMaterialRenderer';
51
55
  export * from './toonGlMeshMaterialRenderer';
52
- export * from './transmissionVolumePbrGlMeshMaterialRenderer';
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
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAC;AACtD,cAAc,oCAAoC,CAAC;AACnD,cAAc,sCAAsC,CAAC;AACrD,cAAc,sCAAsC,CAAC;AACrD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iBAAiB,CAAC;AAChC,cAAc,8CAA8C,CAAC;AAC7D,cAAc,kCAAkC,CAAC;AACjD,cAAc,yCAAyC,CAAC;AACxD,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC;AAC9C,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,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,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,wCAAwC,CAAC;AACvD,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,qCAAqC,CAAC;AACpD,cAAc,qCAAqC,CAAC;AACpD,cAAc,uCAAuC,CAAC;AACtD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+CAA+C,CAAC;AAC9D,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,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 './anisotropyPbrGlMeshMaterialRenderer';
1
+ export * from './anisotropyPbrGlExtension';
2
2
  export * from './blinnPhongGlMeshMaterialRenderer';
3
- export * from './clearcoatPbrGlMeshMaterialRenderer';
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 './explainGlScene3DForwardLightSelection';
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 './iridescencePbrGlMeshMaterialRenderer';
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 './registerStandardPbrGlMaterial';
48
+ export * from './presentGlScene3D';
49
+ export * from './registerGlStandardPbrMaterial';
45
50
  export * from './shadedGlMeshMaterialRenderer';
46
- export * from './sheenPbrGlMeshMaterialRenderer';
51
+ export * from './sheenPbrGlExtension';
47
52
  export * from './specularGlossinessPbrGlMeshMaterialRenderer';
48
- export * from './specularPbrGlMeshMaterialRenderer';
53
+ export * from './specularPbrGlExtension';
49
54
  export * from './standardPbrGlMeshMaterialRenderer';
50
- export * from './subsurfacePbrGlMeshMaterialRenderer';
51
55
  export * from './toonGlMeshMaterialRenderer';
52
- export * from './transmissionVolumePbrGlMeshMaterialRenderer';
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
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAC;AACtD,cAAc,oCAAoC,CAAC;AACnD,cAAc,sCAAsC,CAAC;AACrD,cAAc,sCAAsC,CAAC;AACrD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iBAAiB,CAAC;AAChC,cAAc,8CAA8C,CAAC;AAC7D,cAAc,kCAAkC,CAAC;AACjD,cAAc,yCAAyC,CAAC;AACxD,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC;AAC9C,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,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,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,wCAAwC,CAAC;AACvD,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,qCAAqC,CAAC;AACpD,cAAc,qCAAqC,CAAC;AACpD,cAAc,uCAAuC,CAAC;AACtD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+CAA+C,CAAC;AAC9D,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,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":"AAEA,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;AAKD,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAEzE;AAcD,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,QAAQ,CAAC,4BAA4B,CAAC,GAC7C,IAAI,CAON"}
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 { hasImageResourcePixels } from '@flighthq/image/contract';
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.gl, program.locViewProjection, camera);
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', drawGlScene3D composites with glBlendFunc(SRC_ALPHA, ONE_MINUS_SRC_ALPHA), so
59
- // the fragment scene2d must output straight (non-premultiplied) alpha. Last write wins for the source
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
- bindGlImageResourceTexture(state, texture.storage.image, texture.sampler);
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,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAc1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,OAAO,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AASzD,iFAAiF;AACjF,+FAA+F;AAC/F,wFAAwF;AACxF,gGAAgG;AAChG,6FAA6F;AAC7F,4EAA4E;AAC5E,MAAM,CAAC,MAAM,kCAAkC,GAA2B;IACxE,IAAI,CACF,KAAoB,EACpB,QAAmC,EACnC,OAAoC,EACpC,MAA0B;QAE1B,MAAM,MAAM,GAAG,QAAiD,CAAC;QACjE,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,SAAS,KAAK,EAAE,EAAE,CAAC;YAC/C,mBAAmB,CAAC,KAAK,CAAC,CAAC,iBAAiB,GAAG,IAAI,CAAC;YACpD,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,+BAA+B,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QACxE,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,mBAAmB,CAAC,KAAK,CAAC,CAAC,iBAAiB,GAAG,IAAI,CAAC;YACpD,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,2BAA2B,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC7E,mBAAmB,CAAC,KAAK,CAAC,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QACzF,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QACpD,uBAAuB,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;QACrE,uBAAuB,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAErE,kCAAkC,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACtE,kCAAkC,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,CAAC,KAAoB,EAAE,KAAmC,EAAE,QAAgC;QAC9F,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,iBAAiB,CAAC;QAC7D,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO;QAC7B,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC;CACF,CAAC;AAEF,+FAA+F;AAC/F,qFAAqF;AACrF,MAAM,UAAU,+BAA+B,CAC7C,KAAoB,EACpB,SAAiB;IAEjB,OAAO,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;AACnE,CAAC;AAED,4FAA4F;AAC5F,8FAA8F;AAC9F,8CAA8C;AAC9C,MAAM,UAAU,8BAA8B,CAAC,KAAoB;IACjE,8BAA8B,CAAC,KAAK,EAAE,wBAAwB,EAAE,kCAAkC,CAAC,CAAC;AACtG,CAAC;AAED,0FAA0F;AAC1F,6FAA6F;AAC7F,4FAA4F;AAC5F,+FAA+F;AAC/F,qGAAqG;AACrG,yFAAyF;AACzF,oGAAoG;AACpG,sGAAsG;AACtG,sGAAsG;AACtG,6CAA6C;AAC7C,0FAA0F;AAC1F,yFAAyF;AACzF,MAAM,UAAU,8BAA8B,CAC5C,KAAoB,EACpB,SAAiB,EACjB,MAA8C;IAE9C,IAAI,QAAQ,GAAG,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;QACrB,sBAAsB,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IACD,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAClC,CAAC;AACD,SAAS,2BAA2B,CAClC,KAAoB,EACpB,SAAiB,EACjB,MAA8C;IAE9C,OAAO,sBAAsB,CAAC,KAAK,EAAE,UAAU,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,4BAA4B,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;AAChH,CAAC;AAED,SAAS,4BAA4B,CACnC,EAA0B,EAC1B,MAA8C;IAE9C,MAAM,MAAM,GAAG,gBAAgB,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IACpE,OAAO;QACL,iBAAiB,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,CAAC;QACpE,QAAQ,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC;QAClD,eAAe,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,CAAC;QAChE,iBAAiB,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,CAAC;QACpE,OAAO,EAAE,MAAM;KAChB,CAAC;AACJ,CAAC;AAED,SAAS,kCAAkC,CACzC,EAA0B,EAC1B,OAAqB,EACrB,QAAwC;IAExC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;IACnC,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO;IAC9B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzC,MAAM,QAAQ,GAAG,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACtD,IAAI,QAAQ,KAAK,IAAI;YAAE,SAAS;QAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC9B,SAAS;QACX,CAAC;QACD,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;YACrB,KAAK,CAAC;gBACJ,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjC,MAAM;YACR,KAAK,CAAC;gBACJ,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC/B,MAAM;YACR,KAAK,CAAC;gBACJ,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC/B,MAAM;YACR,KAAK,CAAC;gBACJ,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC/B,MAAM;YACR;gBACE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC/B,MAAM;QACV,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,kCAAkC,CACzC,KAAoB,EACpB,OAAqB,EACrB,QAAwC;IAExC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;IACnC,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO;IAC9B,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;IACpB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzC,MAAM,OAAO,GAAsB,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,SAAS;QAC/F,MAAM,QAAQ,GAAG,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACtD,IAAI,QAAQ,KAAK,IAAI;YAAE,SAAS;QAChC,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;QACrC,0BAA0B,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1E,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC7B,IAAI,EAAE,CAAC;IACT,CAAC;AACH,CAAC;AAED,MAAM,sBAAsB,GAAG,IAAI,OAAO,EAA4D,CAAC"}
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 registerDepthGlMaterial(state: GlRenderState): void;
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,sBAyBzC,CAAC;AAIF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAElE"}
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"}