Explorar el Código

Update pbrCustomMaterial.ts

Shader Code Inliner Support For PBRCustomMaterial
Mackey Kinard hace 4 años
padre
commit
ad5b01496b
Se han modificado 1 ficheros con 10 adiciones y 1 borrados
  1. 10 1
      materialsLibrary/src/custom/pbrCustomMaterial.ts

+ 10 - 1
materialsLibrary/src/custom/pbrCustomMaterial.ts

@@ -109,7 +109,16 @@ export class PBRCustomMaterial extends PBRMaterial {
         return arr;
     }
 
-    public Builder(shaderName: string, uniforms: string[], uniformBuffers: string[], samplers: string[], defines: MaterialDefines | string[], attributes?: string[]): string {
+    public Builder(shaderName: string, uniforms: string[], uniformBuffers: string[], samplers: string[], defines: MaterialDefines | string[], attributes?: string[], options?: BABYLON.ICustomShaderNameResolveOptions): string {
+        options!.processFinalCode = (type: string, code: string) => {
+            if (type === "vertex") {
+                return code;
+            }
+            const sci = new BABYLON.ShaderCodeInliner(code);
+            sci.inlineToken = "#define pbr_inline";
+            sci.processCode();
+            return sci.code;
+        };
 
         if (attributes && this._customAttributes && this._customAttributes.length > 0) {
             attributes.push(...this._customAttributes);