提交 9d4b774d 编写于 作者: M Mr.doob

WebGLRenderer: Started to address uniforms code duplication. See #6854.

上级 8461fd4f
......@@ -3,7 +3,7 @@
*
* parameters = {
* defines: { "label" : "value" },
* uniforms: { "parameter1": { type: "f", value: 1.0 }, "parameter2": { type: "i" value2: 2 } },
* uniforms: { "parameter1": { type: "1f", value: 1.0 }, "parameter2": { type: "1i" value2: 2 } },
*
* fragmentShader: <string>,
* vertexShader: <string>,
......
......@@ -2288,14 +2288,34 @@ THREE.WebGLRenderer = function ( parameters ) {
} else if ( type === 'i' ) {
// single integer
// console.warn( 'THREE.WebGLRenderer: Uniform "i" is now "1i".' );
_gl.uniform1i( location, value );
} else if ( type === 'f' ) {
// single float
// console.warn( 'THREE.WebGLRenderer: Uniform "f" is now "1f".' );
_gl.uniform1f( location, value );
} else if ( type === 'iv1' ) {
// console.warn( 'THREE.WebGLRenderer: Uniform "iv1" is now "1iv".' );
_gl.uniform1iv( location, value );
} else if ( type === 'iv' ) {
// console.warn( 'THREE.WebGLRenderer: Uniform "iv" is now "3iv".' );
_gl.uniform3iv( location, value );
} else if ( type === 'fv1' ) {
// console.warn( 'THREE.WebGLRenderer: Uniform "fv1" is now "1fv".' );
_gl.uniform1fv( location, value );
} else if ( type === 'fv' ) {
// console.warn( 'THREE.WebGLRenderer: Uniform "fv" is now "3fv".' );
_gl.uniform3fv( location, value );
} else if ( type === 'v2' ) {
// single THREE.Vector2
......@@ -2352,26 +2372,6 @@ THREE.WebGLRenderer = function ( parameters ) {
}
} else if ( type === 'iv1' ) {
// flat array of integers (JS or typed array)
_gl.uniform1iv( location, value );
} else if ( type === 'iv' ) {
// flat array of integers with 3 x N size (JS or typed array)
_gl.uniform3iv( location, value );
} else if ( type === 'fv1' ) {
// flat array of floats (JS or typed array)
_gl.uniform1fv( location, value );
} else if ( type === 'fv' ) {
// flat array of floats with 3 x N size (JS or typed array)
_gl.uniform3fv( location, value );
} else if ( type === 'v2v' ) {
// array of THREE.Vector2
......
......@@ -63,7 +63,7 @@ THREE.ShaderLib = {
{
"emissive" : { type: "c", value: new THREE.Color( 0x000000 ) },
"specular" : { type: "c", value: new THREE.Color( 0x111111 ) },
"shininess": { type: "f", value: 30 }
"shininess": { type: "1f", value: 30 }
}
] ),
......@@ -91,9 +91,9 @@ THREE.ShaderLib = {
{
"emissive" : { type: "c", value: new THREE.Color( 0x000000 ) },
"roughness": { type: "f", value: 0.5 },
"metalness": { type: "f", value: 0 },
"envMapIntensity" : { type: "f", value: 1 } // temporary
"roughness": { type: "1f", value: 0.5 },
"metalness": { type: "1f", value: 0 },
"envMapIntensity" : { type: "1f", value: 1 } // temporary
}
] ),
......@@ -125,9 +125,9 @@ THREE.ShaderLib = {
THREE.UniformsLib[ "fog" ],
{
"scale" : { type: "f", value: 1 },
"dashSize" : { type: "f", value: 1 },
"totalSize": { type: "f", value: 2 }
"scale" : { type: "1f", value: 1 },
"dashSize" : { type: "1f", value: 1 },
"totalSize": { type: "1f", value: 2 }
}
] ),
......@@ -141,9 +141,9 @@ THREE.ShaderLib = {
uniforms: {
"mNear": { type: "f", value: 1.0 },
"mFar" : { type: "f", value: 2000.0 },
"opacity" : { type: "f", value: 1.0 }
"mNear": { type: "1f", value: 1.0 },
"mFar" : { type: "1f", value: 2000.0 },
"opacity" : { type: "1f", value: 1.0 }
},
......@@ -156,7 +156,7 @@ THREE.ShaderLib = {
uniforms: {
"opacity" : { type: "f", value: 1.0 }
"opacity" : { type: "1f", value: 1.0 }
},
......@@ -173,7 +173,7 @@ THREE.ShaderLib = {
uniforms: {
"tCube": { type: "t", value: null },
"tFlip": { type: "f", value: - 1 }
"tFlip": { type: "1f", value: - 1 }
},
vertexShader: THREE.ShaderChunk['cube_vert'],
......@@ -189,7 +189,7 @@ THREE.ShaderLib = {
uniforms: {
"tEquirect": { type: "t", value: null },
"tFlip": { type: "f", value: - 1 }
"tFlip": { type: "1f", value: - 1 }
},
vertexShader: THREE.ShaderChunk['equirect_vert'],
......
......@@ -7,7 +7,7 @@ THREE.UniformsLib = {
common: {
"diffuse": { type: "c", value: new THREE.Color( 0xeeeeee ) },
"opacity": { type: "f", value: 1.0 },
"opacity": { type: "1f", value: 1.0 },
"map": { type: "t", value: null },
"offsetRepeat": { type: "v4", value: new THREE.Vector4( 0, 0, 1, 1 ) },
......@@ -16,23 +16,23 @@ THREE.UniformsLib = {
"alphaMap": { type: "t", value: null },
"envMap": { type: "t", value: null },
"flipEnvMap": { type: "f", value: - 1 },
"reflectivity": { type: "f", value: 1.0 },
"refractionRatio": { type: "f", value: 0.98 }
"flipEnvMap": { type: "1f", value: - 1 },
"reflectivity": { type: "1f", value: 1.0 },
"refractionRatio": { type: "1f", value: 0.98 }
},
aomap: {
"aoMap": { type: "t", value: null },
"aoMapIntensity": { type: "f", value: 1 }
"aoMapIntensity": { type: "1f", value: 1 }
},
lightmap: {
"lightMap": { type: "t", value: null },
"lightMapIntensity": { type: "f", value: 1 }
"lightMapIntensity": { type: "1f", value: 1 }
},
......@@ -45,7 +45,7 @@ THREE.UniformsLib = {
bumpmap: {
"bumpMap": { type: "t", value: null },
"bumpScale": { type: "f", value: 1 }
"bumpScale": { type: "1f", value: 1 }
},
......@@ -59,8 +59,8 @@ THREE.UniformsLib = {
displacementmap: {
"displacementMap": { type: "t", value: null },
"displacementScale": { type: "f", value: 1 },
"displacementBias": { type: "f", value: 0 }
"displacementScale": { type: "1f", value: 1 },
"displacementBias": { type: "1f", value: 0 }
},
......@@ -78,24 +78,24 @@ THREE.UniformsLib = {
fog: {
"fogDensity": { type: "f", value: 0.00025 },
"fogNear": { type: "f", value: 1 },
"fogFar": { type: "f", value: 2000 },
"fogDensity": { type: "1f", value: 0.00025 },
"fogNear": { type: "1f", value: 1 },
"fogFar": { type: "1f", value: 2000 },
"fogColor": { type: "c", value: new THREE.Color( 0xffffff ) }
},
lights: {
"ambientLightColor": { type: "fv", value: [] },
"ambientLightColor": { type: "3fv", value: [] },
"directionalLights": { type: "sa", value: [], properties: {
"direction": { type: "v3" },
"color": { type: "c" },
"shadow": { type: "i" },
"shadowBias": { type: "f" },
"shadowRadius": { type: "f" },
"shadow": { type: "1i" },
"shadowBias": { type: "1f" },
"shadowRadius": { type: "1f" },
"shadowMapSize": { type: "v2" }
} },
......@@ -106,14 +106,14 @@ THREE.UniformsLib = {
"color": { type: "c" },
"position": { type: "v3" },
"direction": { type: "v3" },
"distance": { type: "f" },
"coneCos": { type: "f" },
"penumbraCos": { type: "f" },
"decay": { type: "f" },
"shadow": { type: "i" },
"shadowBias": { type: "f" },
"shadowRadius": { type: "f" },
"distance": { type: "1f" },
"coneCos": { type: "1f" },
"penumbraCos": { type: "1f" },
"decay": { type: "1f" },
"shadow": { type: "1i" },
"shadowBias": { type: "1f" },
"shadowRadius": { type: "1f" },
"shadowMapSize": { type: "v2" }
} },
......@@ -123,12 +123,12 @@ THREE.UniformsLib = {
"pointLights": { type: "sa", value: [], properties: {
"color": { type: "c" },
"position": { type: "v3" },
"decay": { type: "f" },
"distance": { type: "f" },
"decay": { type: "1f" },
"distance": { type: "1f" },
"shadow": { type: "i" },
"shadowBias": { type: "f" },
"shadowRadius": { type: "f" },
"shadow": { type: "1i" },
"shadowBias": { type: "1f" },
"shadowRadius": { type: "1f" },
"shadowMapSize": { type: "v2" }
} },
......@@ -146,9 +146,9 @@ THREE.UniformsLib = {
points: {
"diffuse": { type: "c", value: new THREE.Color( 0xeeeeee ) },
"opacity": { type: "f", value: 1.0 },
"size": { type: "f", value: 1.0 },
"scale": { type: "f", value: 1.0 },
"opacity": { type: "1f", value: 1.0 },
"size": { type: "1f", value: 1.0 },
"scale": { type: "1f", value: 1.0 },
"map": { type: "t", value: null },
"offsetRepeat": { type: "v4", value: new THREE.Vector4( 0, 0, 1, 1 ) }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册