|
@@ -53,34 +53,6 @@ function WebGLPrograms( renderer, extensions, capabilities ) {
|
|
"sheen"
|
|
"sheen"
|
|
];
|
|
];
|
|
|
|
|
|
- function getShaderObject( material, shaderID ) {
|
|
|
|
-
|
|
|
|
- let shaderobject;
|
|
|
|
-
|
|
|
|
- if ( shaderID ) {
|
|
|
|
-
|
|
|
|
- const shader = ShaderLib[ shaderID ];
|
|
|
|
-
|
|
|
|
- shaderobject = {
|
|
|
|
- name: material.name || material.type,
|
|
|
|
- vertexShader: shader.vertexShader,
|
|
|
|
- fragmentShader: shader.fragmentShader
|
|
|
|
- };
|
|
|
|
-
|
|
|
|
- } else {
|
|
|
|
-
|
|
|
|
- shaderobject = {
|
|
|
|
- name: material.name || material.type,
|
|
|
|
- vertexShader: material.vertexShader,
|
|
|
|
- fragmentShader: material.fragmentShader
|
|
|
|
- };
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- return shaderobject;
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
function allocateBones( object ) {
|
|
function allocateBones( object ) {
|
|
|
|
|
|
const skeleton = object.skeleton;
|
|
const skeleton = object.skeleton;
|
|
@@ -166,8 +138,21 @@ function WebGLPrograms( renderer, extensions, capabilities ) {
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- const shaderobject = getShaderObject( material, shaderID );
|
|
|
|
- material.onBeforeCompile( shaderobject, renderer );
|
|
|
|
|
|
+ let vertexShader, fragmentShader;
|
|
|
|
+
|
|
|
|
+ if ( shaderID ) {
|
|
|
|
+
|
|
|
|
+ const shader = ShaderLib[ shaderID ];
|
|
|
|
+
|
|
|
|
+ vertexShader = shader.vertexShader;
|
|
|
|
+ fragmentShader = shader.fragmentShader;
|
|
|
|
+
|
|
|
|
+ } else {
|
|
|
|
+
|
|
|
|
+ vertexShader = material.vertexShader;
|
|
|
|
+ fragmentShader = material.fragmentShader;
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
|
|
const currentRenderTarget = renderer.getRenderTarget();
|
|
const currentRenderTarget = renderer.getRenderTarget();
|
|
|
|
|
|
@@ -176,10 +161,10 @@ function WebGLPrograms( renderer, extensions, capabilities ) {
|
|
isWebGL2: isWebGL2,
|
|
isWebGL2: isWebGL2,
|
|
|
|
|
|
shaderID: shaderID,
|
|
shaderID: shaderID,
|
|
- shaderName: shaderobject.name,
|
|
|
|
|
|
+ shaderName: material.name || material.type,
|
|
|
|
|
|
- vertexShader: shaderobject.vertexShader,
|
|
|
|
- fragmentShader: shaderobject.fragmentShader,
|
|
|
|
|
|
+ vertexShader: vertexShader,
|
|
|
|
+ fragmentShader: fragmentShader,
|
|
defines: material.defines,
|
|
defines: material.defines,
|
|
|
|
|
|
isRawShaderMaterial: material.isRawShaderMaterial,
|
|
isRawShaderMaterial: material.isRawShaderMaterial,
|