提交 0bfa3111 编写于 作者: M Max Smolens

NormalDisplacementShader: fix calculation of reflection vector; fix example

上级 82ad11e1
......@@ -399,13 +399,15 @@ THREE.NormalDisplacementShader = {
" vec3 cameraToVertex = normalize( vWorldPosition - cameraPosition );",
" vec3 worldNormal = inverseTransformDirection( normal, viewMatrix );",
" #ifdef ENVMAP_MODE_REFLECTION",
" vec3 vReflect = reflect( cameraToVertex, normal );",
" vec3 vReflect = reflect( cameraToVertex, worldNormal );",
" #else",
" vec3 vReflect = refract( cameraToVertex, normal, refractionRatio );",
" vec3 vReflect = refract( cameraToVertex, worldNormal, refractionRatio );",
" #endif",
......
......@@ -185,6 +185,9 @@
var parameters = { fragmentShader: shader.fragmentShader, vertexShader: shader.vertexShader, uniforms: uniforms, lights: true, fog: false };
var material1 = new THREE.ShaderMaterial( parameters );
// Ensure that ENVMAP_MODE_REFLECTION is defined in shader
material1.envMap = reflectionCube;
var material2 = new THREE.MeshPhongMaterial( {
color: diffuse,
specular: specular,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册