1 |
- {"ast":null,"code":"import { EParameterType, ETextureWrapMode, ETextureFilterType, EComponentType } from \"./glTFLoaderInterfaces.js\";\nimport { Vector2, Vector3, Vector4, Matrix } from \"@babylonjs/core/Maths/math.vector.js\";\nimport { Color4 } from \"@babylonjs/core/Maths/math.color.js\";\nimport { Effect } from \"@babylonjs/core/Materials/effect.js\";\nimport { ShaderMaterial } from \"@babylonjs/core/Materials/shaderMaterial.js\";\nimport { Texture } from \"@babylonjs/core/Materials/Textures/texture.js\";\n/**\n * Utils functions for GLTF\n * @internal\n * @deprecated\n */\nexport class GLTFUtils {\n /**\n * Sets the given \"parameter\" matrix\n * @param scene the Scene object\n * @param source the source node where to pick the matrix\n * @param parameter the GLTF technique parameter\n * @param uniformName the name of the shader's uniform\n * @param shaderMaterial the shader material\n */\n static SetMatrix(scene, source, parameter, uniformName, shaderMaterial) {\n let mat = null;\n if (parameter.semantic === \"MODEL\") {\n mat = source.getWorldMatrix();\n } else if (parameter.semantic === \"PROJECTION\") {\n mat = scene.getProjectionMatrix();\n } else if (parameter.semantic === \"VIEW\") {\n mat = scene.getViewMatrix();\n } else if (parameter.semantic === \"MODELVIEWINVERSETRANSPOSE\") {\n mat = Matrix.Transpose(source.getWorldMatrix().multiply(scene.getViewMatrix()).invert());\n } else if (parameter.semantic === \"MODELVIEW\") {\n mat = source.getWorldMatrix().multiply(scene.getViewMatrix());\n } else if (parameter.semantic === \"MODELVIEWPROJECTION\") {\n mat = source.getWorldMatrix().multiply(scene.getTransformMatrix());\n } else if (parameter.semantic === \"MODELINVERSE\") {\n mat = source.getWorldMatrix().invert();\n } else if (parameter.semantic === \"VIEWINVERSE\") {\n mat = scene.getViewMatrix().invert();\n } else if (parameter.semantic === \"PROJECTIONINVERSE\") {\n mat = scene.getProjectionMatrix().invert();\n } else if (parameter.semantic === \"MODELVIEWINVERSE\") {\n mat = source.getWorldMatrix().multiply(scene.getViewMatrix()).invert();\n } else if (parameter.semantic === \"MODELVIEWPROJECTIONINVERSE\") {\n mat = source.getWorldMatrix().multiply(scene.getTransformMatrix()).invert();\n } else if (parameter.semantic === \"MODELINVERSETRANSPOSE\") {\n mat = Matrix.Transpose(source.getWorldMatrix().invert());\n }\n if (mat) {\n switch (parameter.type) {\n case EParameterType.FLOAT_MAT2:\n shaderMaterial.setMatrix2x2(uniformName, Matrix.GetAsMatrix2x2(mat));\n break;\n case EParameterType.FLOAT_MAT3:\n shaderMaterial.setMatrix3x3(uniformName, Matrix.GetAsMatrix3x3(mat));\n break;\n case EParameterType.FLOAT_MAT4:\n shaderMaterial.setMatrix(uniformName, mat);\n break;\n default:\n break;\n }\n }\n }\n /**\n * Sets the given \"parameter\" matrix\n * @param shaderMaterial the shader material\n * @param uniform the name of the shader's uniform\n * @param value the value of the uniform\n * @param type the uniform's type (EParameterType FLOAT, VEC2, VEC3 or VEC4)\n * @returns true if set, else false\n */\n static SetUniform(shaderMaterial, uniform, value, type) {\n switch (type) {\n case EParameterType.FLOAT:\n shaderMaterial.setFloat(uniform, value);\n return true;\n case EParameterType.FLOAT_VEC2:\n shaderMaterial.setVector2(uniform, Vector2.FromArray(value));\n return true;\n case EParameterType.FLOAT_VEC3:\n shaderMaterial.setVector3(uniform, Vector3.FromArray(value));\n return true;\n case EParameterType.FLOAT_VEC4:\n shaderMaterial.setVector4(uniform, Vector4.FromArray(value));\n return true;\n default:\n return false;\n }\n }\n /**\n * Returns the wrap mode of the texture\n * @param mode the mode value\n * @returns the wrap mode (TEXTURE_WRAP_ADDRESSMODE, MIRROR_ADDRESSMODE or CLAMP_ADDRESSMODE)\n */\n static GetWrapMode(mode) {\n switch (mode) {\n case ETextureWrapMode.CLAMP_TO_EDGE:\n return Texture.CLAMP_ADDRESSMODE;\n case ETextureWrapMode.MIRRORED_REPEAT:\n return Texture.MIRROR_ADDRESSMODE;\n case ETextureWrapMode.REPEAT:\n return Texture.WRAP_ADDRESSMODE;\n default:\n return Texture.WRAP_ADDRESSMODE;\n }\n }\n /**\n * Returns the byte stride giving an accessor\n * @param accessor the GLTF accessor objet\n * @returns the byte stride\n */\n static GetByteStrideFromType(accessor) {\n // Needs this function since \"byteStride\" isn't requiered in glTF format\n const type = accessor.type;\n switch (type) {\n case \"VEC2\":\n return 2;\n case \"VEC3\":\n return 3;\n case \"VEC4\":\n return 4;\n case \"MAT2\":\n return 4;\n case \"MAT3\":\n return 9;\n case \"MAT4\":\n return 16;\n default:\n return 1;\n }\n }\n /**\n * Returns the texture filter mode giving a mode value\n * @param mode the filter mode value\n * @returns the filter mode (TODO - needs to be a type?)\n */\n static GetTextureFilterMode(mode) {\n switch (mode) {\n case ETextureFilterType.LINEAR:\n case ETextureFilterType.LINEAR_MIPMAP_NEAREST:\n case ETextureFilterType.LINEAR_MIPMAP_LINEAR:\n return Texture.TRILINEAR_SAMPLINGMODE;\n case ETextureFilterType.NEAREST:\n case ETextureFilterType.NEAREST_MIPMAP_NEAREST:\n return Texture.NEAREST_SAMPLINGMODE;\n default:\n return Texture.BILINEAR_SAMPLINGMODE;\n }\n }\n static GetBufferFromBufferView(gltfRuntime, bufferView, byteOffset, byteLength, componentType) {\n byteOffset = bufferView.byteOffset + byteOffset;\n const loadedBufferView = gltfRuntime.loadedBufferViews[bufferView.buffer];\n if (byteOffset + byteLength > loadedBufferView.byteLength) {\n throw new Error(\"Buffer access is out of range\");\n }\n const buffer = loadedBufferView.buffer;\n byteOffset += loadedBufferView.byteOffset;\n switch (componentType) {\n case EComponentType.BYTE:\n return new Int8Array(buffer, byteOffset, byteLength);\n case EComponentType.UNSIGNED_BYTE:\n return new Uint8Array(buffer, byteOffset, byteLength);\n case EComponentType.SHORT:\n return new Int16Array(buffer, byteOffset, byteLength);\n case EComponentType.UNSIGNED_SHORT:\n return new Uint16Array(buffer, byteOffset, byteLength);\n default:\n return new Float32Array(buffer, byteOffset, byteLength);\n }\n }\n /**\n * Returns a buffer from its accessor\n * @param gltfRuntime the GLTF runtime\n * @param accessor the GLTF accessor\n * @returns an array buffer view\n */\n static GetBufferFromAccessor(gltfRuntime, accessor) {\n const bufferView = gltfRuntime.bufferViews[accessor.bufferView];\n const byteLength = accessor.count * GLTFUtils.GetByteStrideFromType(accessor);\n return GLTFUtils.GetBufferFromBufferView(gltfRuntime, bufferView, accessor.byteOffset, byteLength, accessor.componentType);\n }\n /**\n * Decodes a buffer view into a string\n * @param view the buffer view\n * @returns a string\n */\n static DecodeBufferToText(view) {\n let result = \"\";\n const length = view.byteLength;\n for (let i = 0; i < length; ++i) {\n result += String.fromCharCode(view[i]);\n }\n return result;\n }\n /**\n * Returns the default material of gltf. Related to\n * https://github.com/KhronosGroup/glTF/tree/master/specification/1.0#appendix-a-default-material\n * @param scene the Babylon.js scene\n * @returns the default Babylon material\n */\n static GetDefaultMaterial(scene) {\n if (!GLTFUtils._DefaultMaterial) {\n Effect.ShadersStore[\"GLTFDefaultMaterialVertexShader\"] = [\"precision highp float;\", \"\", \"uniform mat4 worldView;\", \"uniform mat4 projection;\", \"\", \"attribute vec3 position;\", \"\", \"void main(void)\", \"{\", \" gl_Position = projection * worldView * vec4(position, 1.0);\", \"}\"].join(\"\\n\");\n Effect.ShadersStore[\"GLTFDefaultMaterialPixelShader\"] = [\"precision highp float;\", \"\", \"uniform vec4 u_emission;\", \"\", \"void main(void)\", \"{\", \" gl_FragColor = u_emission;\", \"}\"].join(\"\\n\");\n const shaderPath = {\n vertex: \"GLTFDefaultMaterial\",\n fragment: \"GLTFDefaultMaterial\"\n };\n const options = {\n attributes: [\"position\"],\n uniforms: [\"worldView\", \"projection\", \"u_emission\"],\n samplers: new Array(),\n needAlphaBlending: false\n };\n GLTFUtils._DefaultMaterial = new ShaderMaterial(\"GLTFDefaultMaterial\", scene, shaderPath, options);\n GLTFUtils._DefaultMaterial.setColor4(\"u_emission\", new Color4(0.5, 0.5, 0.5, 1.0));\n }\n return GLTFUtils._DefaultMaterial;\n }\n}\n// The GLTF default material\nGLTFUtils._DefaultMaterial = null;","map":{"version":3,"names":["EParameterType","ETextureWrapMode","ETextureFilterType","EComponentType","Vector2","Vector3","Vector4","Matrix","Color4","Effect","ShaderMaterial","Texture","GLTFUtils","SetMatrix","scene","source","parameter","uniformName","shaderMaterial","mat","semantic","getWorldMatrix","getProjectionMatrix","getViewMatrix","Transpose","multiply","invert","getTransformMatrix","type","FLOAT_MAT2","setMatrix2x2","GetAsMatrix2x2","FLOAT_MAT3","setMatrix3x3","GetAsMatrix3x3","FLOAT_MAT4","setMatrix","SetUniform","uniform","value","FLOAT","setFloat","FLOAT_VEC2","setVector2","FromArray","FLOAT_VEC3","setVector3","FLOAT_VEC4","setVector4","GetWrapMode","mode","CLAMP_TO_EDGE","CLAMP_ADDRESSMODE","MIRRORED_REPEAT","MIRROR_ADDRESSMODE","REPEAT","WRAP_ADDRESSMODE","GetByteStrideFromType","accessor","GetTextureFilterMode","LINEAR","LINEAR_MIPMAP_NEAREST","LINEAR_MIPMAP_LINEAR","TRILINEAR_SAMPLINGMODE","NEAREST","NEAREST_MIPMAP_NEAREST","NEAREST_SAMPLINGMODE","BILINEAR_SAMPLINGMODE","GetBufferFromBufferView","gltfRuntime","bufferView","byteOffset","byteLength","componentType","loadedBufferView","loadedBufferViews","buffer","Error","BYTE","Int8Array","UNSIGNED_BYTE","Uint8Array","SHORT","Int16Array","UNSIGNED_SHORT","Uint16Array","Float32Array","GetBufferFromAccessor","bufferViews","count","DecodeBufferToText","view","result","length","i","String","fromCharCode","GetDefaultMaterial","_DefaultMaterial","ShadersStore","join","shaderPath","vertex","fragment","options","attributes","uniforms","samplers","Array","needAlphaBlending","setColor4"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/loaders/glTF/1.0/glTFLoaderUtils.js"],"sourcesContent":["import { EParameterType, ETextureWrapMode, ETextureFilterType, EComponentType } from \"./glTFLoaderInterfaces.js\";\nimport { Vector2, Vector3, Vector4, Matrix } from \"@babylonjs/core/Maths/math.vector.js\";\nimport { Color4 } from \"@babylonjs/core/Maths/math.color.js\";\nimport { Effect } from \"@babylonjs/core/Materials/effect.js\";\nimport { ShaderMaterial } from \"@babylonjs/core/Materials/shaderMaterial.js\";\nimport { Texture } from \"@babylonjs/core/Materials/Textures/texture.js\";\n/**\n * Utils functions for GLTF\n * @internal\n * @deprecated\n */\nexport class GLTFUtils {\n /**\n * Sets the given \"parameter\" matrix\n * @param scene the Scene object\n * @param source the source node where to pick the matrix\n * @param parameter the GLTF technique parameter\n * @param uniformName the name of the shader's uniform\n * @param shaderMaterial the shader material\n */\n static SetMatrix(scene, source, parameter, uniformName, shaderMaterial) {\n let mat = null;\n if (parameter.semantic === \"MODEL\") {\n mat = source.getWorldMatrix();\n }\n else if (parameter.semantic === \"PROJECTION\") {\n mat = scene.getProjectionMatrix();\n }\n else if (parameter.semantic === \"VIEW\") {\n mat = scene.getViewMatrix();\n }\n else if (parameter.semantic === \"MODELVIEWINVERSETRANSPOSE\") {\n mat = Matrix.Transpose(source.getWorldMatrix().multiply(scene.getViewMatrix()).invert());\n }\n else if (parameter.semantic === \"MODELVIEW\") {\n mat = source.getWorldMatrix().multiply(scene.getViewMatrix());\n }\n else if (parameter.semantic === \"MODELVIEWPROJECTION\") {\n mat = source.getWorldMatrix().multiply(scene.getTransformMatrix());\n }\n else if (parameter.semantic === \"MODELINVERSE\") {\n mat = source.getWorldMatrix().invert();\n }\n else if (parameter.semantic === \"VIEWINVERSE\") {\n mat = scene.getViewMatrix().invert();\n }\n else if (parameter.semantic === \"PROJECTIONINVERSE\") {\n mat = scene.getProjectionMatrix().invert();\n }\n else if (parameter.semantic === \"MODELVIEWINVERSE\") {\n mat = source.getWorldMatrix().multiply(scene.getViewMatrix()).invert();\n }\n else if (parameter.semantic === \"MODELVIEWPROJECTIONINVERSE\") {\n mat = source.getWorldMatrix().multiply(scene.getTransformMatrix()).invert();\n }\n else if (parameter.semantic === \"MODELINVERSETRANSPOSE\") {\n mat = Matrix.Transpose(source.getWorldMatrix().invert());\n }\n if (mat) {\n switch (parameter.type) {\n case EParameterType.FLOAT_MAT2:\n shaderMaterial.setMatrix2x2(uniformName, Matrix.GetAsMatrix2x2(mat));\n break;\n case EParameterType.FLOAT_MAT3:\n shaderMaterial.setMatrix3x3(uniformName, Matrix.GetAsMatrix3x3(mat));\n break;\n case EParameterType.FLOAT_MAT4:\n shaderMaterial.setMatrix(uniformName, mat);\n break;\n default:\n break;\n }\n }\n }\n /**\n * Sets the given \"parameter\" matrix\n * @param shaderMaterial the shader material\n * @param uniform the name of the shader's uniform\n * @param value the value of the uniform\n * @param type the uniform's type (EParameterType FLOAT, VEC2, VEC3 or VEC4)\n * @returns true if set, else false\n */\n static SetUniform(shaderMaterial, uniform, value, type) {\n switch (type) {\n case EParameterType.FLOAT:\n shaderMaterial.setFloat(uniform, value);\n return true;\n case EParameterType.FLOAT_VEC2:\n shaderMaterial.setVector2(uniform, Vector2.FromArray(value));\n return true;\n case EParameterType.FLOAT_VEC3:\n shaderMaterial.setVector3(uniform, Vector3.FromArray(value));\n return true;\n case EParameterType.FLOAT_VEC4:\n shaderMaterial.setVector4(uniform, Vector4.FromArray(value));\n return true;\n default:\n return false;\n }\n }\n /**\n * Returns the wrap mode of the texture\n * @param mode the mode value\n * @returns the wrap mode (TEXTURE_WRAP_ADDRESSMODE, MIRROR_ADDRESSMODE or CLAMP_ADDRESSMODE)\n */\n static GetWrapMode(mode) {\n switch (mode) {\n case ETextureWrapMode.CLAMP_TO_EDGE:\n return Texture.CLAMP_ADDRESSMODE;\n case ETextureWrapMode.MIRRORED_REPEAT:\n return Texture.MIRROR_ADDRESSMODE;\n case ETextureWrapMode.REPEAT:\n return Texture.WRAP_ADDRESSMODE;\n default:\n return Texture.WRAP_ADDRESSMODE;\n }\n }\n /**\n * Returns the byte stride giving an accessor\n * @param accessor the GLTF accessor objet\n * @returns the byte stride\n */\n static GetByteStrideFromType(accessor) {\n // Needs this function since \"byteStride\" isn't requiered in glTF format\n const type = accessor.type;\n switch (type) {\n case \"VEC2\":\n return 2;\n case \"VEC3\":\n return 3;\n case \"VEC4\":\n return 4;\n case \"MAT2\":\n return 4;\n case \"MAT3\":\n return 9;\n case \"MAT4\":\n return 16;\n default:\n return 1;\n }\n }\n /**\n * Returns the texture filter mode giving a mode value\n * @param mode the filter mode value\n * @returns the filter mode (TODO - needs to be a type?)\n */\n static GetTextureFilterMode(mode) {\n switch (mode) {\n case ETextureFilterType.LINEAR:\n case ETextureFilterType.LINEAR_MIPMAP_NEAREST:\n case ETextureFilterType.LINEAR_MIPMAP_LINEAR:\n return Texture.TRILINEAR_SAMPLINGMODE;\n case ETextureFilterType.NEAREST:\n case ETextureFilterType.NEAREST_MIPMAP_NEAREST:\n return Texture.NEAREST_SAMPLINGMODE;\n default:\n return Texture.BILINEAR_SAMPLINGMODE;\n }\n }\n static GetBufferFromBufferView(gltfRuntime, bufferView, byteOffset, byteLength, componentType) {\n byteOffset = bufferView.byteOffset + byteOffset;\n const loadedBufferView = gltfRuntime.loadedBufferViews[bufferView.buffer];\n if (byteOffset + byteLength > loadedBufferView.byteLength) {\n throw new Error(\"Buffer access is out of range\");\n }\n const buffer = loadedBufferView.buffer;\n byteOffset += loadedBufferView.byteOffset;\n switch (componentType) {\n case EComponentType.BYTE:\n return new Int8Array(buffer, byteOffset, byteLength);\n case EComponentType.UNSIGNED_BYTE:\n return new Uint8Array(buffer, byteOffset, byteLength);\n case EComponentType.SHORT:\n return new Int16Array(buffer, byteOffset, byteLength);\n case EComponentType.UNSIGNED_SHORT:\n return new Uint16Array(buffer, byteOffset, byteLength);\n default:\n return new Float32Array(buffer, byteOffset, byteLength);\n }\n }\n /**\n * Returns a buffer from its accessor\n * @param gltfRuntime the GLTF runtime\n * @param accessor the GLTF accessor\n * @returns an array buffer view\n */\n static GetBufferFromAccessor(gltfRuntime, accessor) {\n const bufferView = gltfRuntime.bufferViews[accessor.bufferView];\n const byteLength = accessor.count * GLTFUtils.GetByteStrideFromType(accessor);\n return GLTFUtils.GetBufferFromBufferView(gltfRuntime, bufferView, accessor.byteOffset, byteLength, accessor.componentType);\n }\n /**\n * Decodes a buffer view into a string\n * @param view the buffer view\n * @returns a string\n */\n static DecodeBufferToText(view) {\n let result = \"\";\n const length = view.byteLength;\n for (let i = 0; i < length; ++i) {\n result += String.fromCharCode(view[i]);\n }\n return result;\n }\n /**\n * Returns the default material of gltf. Related to\n * https://github.com/KhronosGroup/glTF/tree/master/specification/1.0#appendix-a-default-material\n * @param scene the Babylon.js scene\n * @returns the default Babylon material\n */\n static GetDefaultMaterial(scene) {\n if (!GLTFUtils._DefaultMaterial) {\n Effect.ShadersStore[\"GLTFDefaultMaterialVertexShader\"] = [\n \"precision highp float;\",\n \"\",\n \"uniform mat4 worldView;\",\n \"uniform mat4 projection;\",\n \"\",\n \"attribute vec3 position;\",\n \"\",\n \"void main(void)\",\n \"{\",\n \" gl_Position = projection * worldView * vec4(position, 1.0);\",\n \"}\",\n ].join(\"\\n\");\n Effect.ShadersStore[\"GLTFDefaultMaterialPixelShader\"] = [\n \"precision highp float;\",\n \"\",\n \"uniform vec4 u_emission;\",\n \"\",\n \"void main(void)\",\n \"{\",\n \" gl_FragColor = u_emission;\",\n \"}\",\n ].join(\"\\n\");\n const shaderPath = {\n vertex: \"GLTFDefaultMaterial\",\n fragment: \"GLTFDefaultMaterial\",\n };\n const options = {\n attributes: [\"position\"],\n uniforms: [\"worldView\", \"projection\", \"u_emission\"],\n samplers: new Array(),\n needAlphaBlending: false,\n };\n GLTFUtils._DefaultMaterial = new ShaderMaterial(\"GLTFDefaultMaterial\", scene, shaderPath, options);\n GLTFUtils._DefaultMaterial.setColor4(\"u_emission\", new Color4(0.5, 0.5, 0.5, 1.0));\n }\n return GLTFUtils._DefaultMaterial;\n }\n}\n// The GLTF default material\nGLTFUtils._DefaultMaterial = null;\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|