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

Updated examples that don't really need NormalDisplacementShader.

上级 ef8bc6c7
......@@ -107,46 +107,17 @@
dirLight.position.set( -1, 0, 1 ).normalize();
scene.add( dirLight );
ambientLight = new THREE.AmbientLight( 0x000000 );
scene.add( ambientLight );
var planetTexture = THREE.ImageUtils.loadTexture( "textures/planets/earth_atmos_2048.jpg" );
var cloudsTexture = THREE.ImageUtils.loadTexture( "textures/planets/earth_clouds_1024.png" );
var normalTexture = THREE.ImageUtils.loadTexture( "textures/planets/earth_normal_2048.jpg" );
var specularTexture = THREE.ImageUtils.loadTexture( "textures/planets/earth_specular_2048.jpg" );
var moonTexture = THREE.ImageUtils.loadTexture( "textures/planets/moon_1024.jpg" );
var shader = THREE.ShaderLib[ "normalmap" ];
var uniforms = THREE.UniformsUtils.clone( shader.uniforms );
uniforms[ "tNormal" ].value = normalTexture;
uniforms[ "uNormalScale" ].value.set( 0.85, 0.85 );
uniforms[ "tDiffuse" ].value = planetTexture;
uniforms[ "tSpecular" ].value = specularTexture;
uniforms[ "enableAO" ].value = false;
uniforms[ "enableDiffuse" ].value = true;
uniforms[ "enableSpecular" ].value = true;
uniforms[ "diffuse" ].value.setHex( 0xffffff );
uniforms[ "specular" ].value.setHex( 0x333333 );
uniforms[ "ambient" ].value.setHex( 0x000000 );
uniforms[ "shininess" ].value = 15;
var parameters = {
fragmentShader: shader.fragmentShader,
vertexShader: shader.vertexShader,
uniforms: uniforms,
lights: true,
fog: true
};
var materialNormalMap = new THREE.ShaderMaterial( parameters );
var materialNormalMap = new THREE.MeshPhongMaterial( {
ambient: 0x000000,
specular: 0x333333,
shininess: 15,
map: THREE.ImageUtils.loadTexture( "textures/planets/earth_atmos_2048.jpg" ),
specularMap: THREE.ImageUtils.loadTexture( "textures/planets/earth_specular_2048.jpg" ),
normalMap: THREE.ImageUtils.loadTexture( "textures/planets/earth_normal_2048.jpg" ),
normalScale: new THREE.Vector2( 0.85, 0.85 )
} );
// planet
......@@ -160,7 +131,12 @@
// clouds
var materialClouds = new THREE.MeshLambertMaterial( { color: 0xffffff, map: cloudsTexture, transparent: true } );
var materialClouds = new THREE.MeshLambertMaterial( {
map: THREE.ImageUtils.loadTexture( "textures/planets/earth_clouds_1024.png" ),
transparent: true
} );
meshClouds = new THREE.Mesh( geometry, materialClouds );
meshClouds.scale.set( cloudsScale, cloudsScale, cloudsScale );
......@@ -169,7 +145,11 @@
// moon
var materialMoon = new THREE.MeshPhongMaterial( { color: 0xffffff, map: moonTexture } );
var materialMoon = new THREE.MeshPhongMaterial( {
map: THREE.ImageUtils.loadTexture( "textures/planets/moon_1024.jpg" )
} );
meshMoon = new THREE.Mesh( geometry, materialMoon );
meshMoon.position.set( radius * 5, 0, 0 );
......
......@@ -592,7 +592,7 @@
"phong_normal": {
"type": "MeshPhongMaterial",
"parameters": { "color": 0, "specular": 16777215, "shininess": 25, "envMap": "cube_reflection", "reflectivity": 0.1, "lightMap": "texture_ao", "normalMap": "texture_normal", "normalScale": [ 1, -1 ], "displacementMap": "texture_displacement", "displacementScale": 2.436143, "displacementBias": -0.428408 }
"parameters": { "color": 0, "specular": 16777215, "shininess": 25, "envMap": "cube_reflection", "reflectivity": 0.1, "lightMap": "texture_ao", "normalMap": "texture_normal", "normalScale": [ 1, -1 ] }
},
"phong_morph": {
......
......@@ -179,45 +179,21 @@
loader.load( "models/ctm/LeePerry.ctm", function( geometry ) {
/*
var material = new THREE.MeshPhongMaterial( { wrapAround: true, color: 0xffffff, specular: 0x232323, shininess: 50, map: THREE.ImageUtils.loadTexture( "obj/leeperrysmith/Map-COL.jpg" ) } );
material.wrapRGB.set( 0.65, 0.5, 0.5 );
*/
var ambient = 0xffffff, diffuse = 0xffffff, specular = 0x0e0e0e, shininess = 50;
var shader = THREE.ShaderLib[ "normalmap" ];
var uniforms = THREE.UniformsUtils.clone( shader.uniforms );
uniforms[ "tNormal" ].value = THREE.ImageUtils.loadTexture( "obj/leeperrysmith/Infinite-Level_02_Tangent_SmoothUV.jpg" );
uniforms[ "uNormalScale" ].value.set( 0.8, 0.8 );
uniforms[ "tDiffuse" ].value = THREE.ImageUtils.loadTexture( "obj/leeperrysmith/Map-COL.jpg" );
uniforms[ "tSpecular" ].value = THREE.ImageUtils.loadTexture( "obj/leeperrysmith/Map-SPEC.jpg" );
uniforms[ "enableAO" ].value = false;
uniforms[ "enableDiffuse" ].value = true;
uniforms[ "enableSpecular" ].value = true;
uniforms[ "diffuse" ].value.setHex( diffuse );
uniforms[ "specular" ].value.setHex( specular );
uniforms[ "ambient" ].value.setHex( ambient );
uniforms[ "shininess" ].value = shininess;
uniforms[ "wrapRGB" ].value.set( 0.75, 0.5, 0.5 );
geometry.computeTangents();
var material = new THREE.ShaderMaterial( {
fragmentShader: shader.fragmentShader,
vertexShader: shader.vertexShader,
uniforms: uniforms,
lights: true
var material = new THREE.MeshPhongMaterial( {
specular: 0x303030,
shininess: 50,
map: THREE.ImageUtils.loadTexture( "obj/leeperrysmith/Map-COL.jpg" ),
specularMap: THREE.ImageUtils.loadTexture( "obj/leeperrysmith/Map-SPEC.jpg" ),
normalMap: THREE.ImageUtils.loadTexture( "obj/leeperrysmith/Infinite-Level_02_Tangent_SmoothUV.jpg" ),
normalScale: new THREE.Vector2( 0.8, 0.8 ),
wrapRGB: new THREE.Vector3( 0.75, 0.5, 0.5 ),
wrapAround: true
} );
material.wrapAround = true;
geometry.computeTangents();
callbackModel( geometry, 1300, material, 200, 50, 0, 0, 0 );
checkTime();
......
......@@ -49,6 +49,7 @@
<script src="../build/three.min.js"></script>
<script src="js/loaders/BinaryLoader.js"></script>
<script src="js/shaders/NormalDisplacementShader.js"></script>
<script src="js/Detector.js"></script>
<script src="js/libs/stats.min.js"></script>
......@@ -151,7 +152,7 @@
// normal map shader
var shader = THREE.ShaderLib[ "normalmap" ];
var shader = THREE.NormalDisplacementShader;
var uniforms = THREE.UniformsUtils.clone( shader.uniforms );
uniforms[ "enableAO" ].value = true;
......
......@@ -118,35 +118,18 @@
directionalLight.position.set( 1, -0.5, -1 );
scene.add( directionalLight );
// material parameters
var ambient = 0x111111, diffuse = 0xbbbbbb, specular = 0x060606, shininess = 35;
var shader = THREE.ShaderLib[ "normalmap" ];
var uniforms = THREE.UniformsUtils.clone( shader.uniforms );
uniforms[ "tNormal" ].value = THREE.ImageUtils.loadTexture( "obj/leeperrysmith/Infinite-Level_02_Tangent_SmoothUV.jpg" );
uniforms[ "uNormalScale" ].value.set( 0.8, 0.8 );
uniforms[ "tDiffuse" ].value = THREE.ImageUtils.loadTexture( "obj/leeperrysmith/Map-COL.jpg" );
uniforms[ "tSpecular" ].value = THREE.ImageUtils.loadTexture( "obj/leeperrysmith/Map-SPEC.jpg" );
uniforms[ "enableAO" ].value = false;
uniforms[ "enableDiffuse" ].value = true;
uniforms[ "enableSpecular" ].value = true;
uniforms[ "diffuse" ].value.setHex( diffuse );
uniforms[ "specular" ].value.setHex( specular );
uniforms[ "ambient" ].value.setHex( ambient );
uniforms[ "shininess" ].value = shininess;
uniforms[ "wrapRGB" ].value.set( 0.575, 0.5, 0.5 );
var parameters = { fragmentShader: shader.fragmentShader, vertexShader: shader.vertexShader, uniforms: uniforms, lights: true };
var material = new THREE.ShaderMaterial( parameters );
material.wrapAround = true;
var material = new THREE.MeshPhongMaterial( {
color: 0xdddddd,
ambient: 0x111111,
specular: 0x222222,
shininess: 35,
map: THREE.ImageUtils.loadTexture( "obj/leeperrysmith/Map-COL.jpg" ),
specularMap: THREE.ImageUtils.loadTexture( "obj/leeperrysmith/Map-SPEC.jpg" ),
normalMap: THREE.ImageUtils.loadTexture( "obj/leeperrysmith/Infinite-Level_02_Tangent_SmoothUV.jpg" ),
normalScale: new THREE.Vector2( 0.8, 0.8 ),
wrapRGB: new THREE.Vector3( 0.575, 0.5, 0.5 ),
wrapAround: true
} );
loader = new THREE.JSONLoader( true );
document.body.appendChild( loader.statusDomElement );
......
......@@ -332,31 +332,17 @@
geometry.computeTangents();
var ambient = 0x444444, diffuse = 0x999999, specular = 0x080808, shininess = 20;
var shader = THREE.ShaderLib[ "normalmap" ];
var uniforms = THREE.UniformsUtils.clone( shader.uniforms );
uniforms[ "tNormal" ].value = THREE.ImageUtils.loadTexture( "obj/leeperrysmith/Infinite-Level_02_Tangent_SmoothUV.jpg" );
uniforms[ "uNormalScale" ].value.set( 0.75, 0.75 );
uniforms[ "tDiffuse" ].value = THREE.ImageUtils.loadTexture( "obj/leeperrysmith/Map-COL.jpg" );
uniforms[ "enableAO" ].value = false;
uniforms[ "enableDiffuse" ].value = true;
uniforms[ "diffuse" ].value.setHex( diffuse );
uniforms[ "specular" ].value.setHex( specular );
uniforms[ "ambient" ].value.setHex( ambient );
uniforms[ "shininess" ].value = shininess;
uniforms[ "diffuse" ].value.convertGammaToLinear();
uniforms[ "specular" ].value.convertGammaToLinear();
uniforms[ "ambient" ].value.convertGammaToLinear();
var parameters = { fragmentShader: shader.fragmentShader, vertexShader: shader.vertexShader, uniforms: uniforms, lights: true };
var mat2 = new THREE.ShaderMaterial( parameters );
var mat2 = new THREE.MeshLambertMaterial( {
color: 0x999999,
ambient: 0x444444,
specular: 0x080808,
shininess: 20,
map: THREE.ImageUtils.loadTexture( "obj/leeperrysmith/Map-COL.jpg" ),
normalMap: THREE.ImageUtils.loadTexture( "obj/leeperrysmith/Infinite-Level_02_Tangent_SmoothUV.jpg" ),
normalScale: new THREE.Vector2( 0.75, 0.75 )
} );
mesh = new THREE.Mesh( geometry, mat2 );
mesh.position.set( 0, -50, 0 );
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册