Merge pull request #6613 from elisee/three-r73

three: Update as much as possible to r73
This commit is contained in:
Masahiro Wakame
2015-11-11 19:27:31 +09:00
6 changed files with 277 additions and 426 deletions
@@ -54,7 +54,7 @@
// Cubes
var geometry2 = new THREE.BoxGeometry(50, 50, 50);
var material2 = new THREE.MeshLambertMaterial({ color: 0xffffff, shading: THREE.FlatShading, overdraw: 0.5 });
var material2 = new THREE.MeshLambertMaterial({ color: 0xffffff, overdraw: 0.5 });
for (var i = 0; i < 100; i++) {
@@ -54,7 +54,7 @@
loader = new THREE.JSONLoader();
loader.load('obj/WaltHeadLo.js', function (geometry) {
mesh = new THREE.Mesh(geometry, new THREE.MeshLambertMaterial({ color: 0xffffff, shading: THREE.FlatShading, overdraw: 0.5 }));
mesh = new THREE.Mesh(geometry, new THREE.MeshLambertMaterial({ color: 0xffffff, overdraw: 0.5 }));
scene.add(mesh);
});
+2 -2
View File
@@ -52,8 +52,8 @@
new THREE.MeshBasicMaterial({ color: 0x00ffff, wireframe: true, side: THREE.DoubleSide }),
new THREE.MeshBasicMaterial({ color: 0xff0000, blending: THREE.AdditiveBlending }),
new THREE.MeshLambertMaterial({ color: 0xffffff, shading: THREE.FlatShading, overdraw: 0.5 }),
new THREE.MeshLambertMaterial({ color: 0xffffff, shading: THREE.SmoothShading, overdraw: 0.5 }),
new THREE.MeshLambertMaterial({ color: 0xffffff, overdraw: 0.5 }),
new THREE.MeshLambertMaterial({ color: 0xffffff, overdraw: 0.5 }),
new THREE.MeshDepthMaterial({ overdraw: 0.5 }),
new THREE.MeshNormalMaterial({ overdraw: 0.5 }),
new THREE.MeshBasicMaterial({ map: THREE.ImageUtils.loadTexture('textures/land_ocean_ice_cloud_2048.jpg') }),
+23 -33
View File
@@ -8,29 +8,20 @@
var renderer, scene, camera, stats;
var sphere, uniforms, attributes;
var sphere, uniforms;
var noise = [];
var WIDTH = window.innerWidth,
HEIGHT = window.innerHeight;
var displacement, noise;
init();
animate();
function init() {
camera = new THREE.PerspectiveCamera(30, WIDTH / HEIGHT, 1, 10000);
camera = new THREE.PerspectiveCamera(30, window.innerWidth / window.innerHeight, 1, 10000);
camera.position.z = 300;
scene = new THREE.Scene();
attributes = {
displacement: { type: 'f', value: [] }
};
uniforms = {
amplitude: { type: "f", value: 1.0 },
@@ -44,7 +35,6 @@
var shaderMaterial = new THREE.ShaderMaterial({
uniforms: uniforms,
attributes: attributes,
vertexShader: document.getElementById('vertexshader').textContent,
fragmentShader: document.getElementById('fragmentshader').textContent
@@ -52,27 +42,27 @@
var radius = 50, segments = 128, rings = 64;
var geometry = new THREE.SphereGeometry(radius, segments, rings);
geometry.dynamic = true;
sphere = new THREE.Mesh(geometry, shaderMaterial);
var geometry = new THREE.SphereBufferGeometry( radius, segments, rings );
var vertices = sphere.geometry.vertices;
var values = attributes.displacement.value;
displacement = new Float32Array( geometry.attributes["position"].count );
noise = new Float32Array( geometry.attributes["position"].count );
for (var v = 0; v < vertices.length; v++) {
for ( var i = 0; i < displacement.length; i ++ ) {
values[v] = 0;
noise[v] = Math.random() * 5;
noise[ i ] = Math.random() * 5;
}
geometry.addAttribute( 'displacement', new THREE.BufferAttribute( displacement, 1 ) );
sphere = new THREE.Mesh(geometry, shaderMaterial);
scene.add(sphere);
renderer = new THREE.WebGLRenderer();
renderer.setClearColor(0x050505);
renderer.setPixelRatio(window.devicePixelRatio);
renderer.setSize(WIDTH, HEIGHT);
renderer.setSize(window.innerWidth, window.innerHeight);
var container = document.getElementById('container');
container.appendChild(renderer.domElement);
@@ -114,19 +104,19 @@
uniforms.amplitude.value = 2.5 * Math.sin(sphere.rotation.y * 0.125);
uniforms.color.value.offsetHSL(0.0005, 0, 0);
for (var i = 0; i < attributes.displacement.value.length; i++) {
attributes.displacement.value[i] = Math.sin(0.1 * i + time);
noise[i] += 0.5 * (0.5 - Math.random());
noise[i] = THREE.Math.clamp(noise[i], -5, 5);
attributes.displacement.value[i] += noise[i];
for ( var i = 0; i < displacement.length; i ++ ) {
displacement[ i ] = Math.sin( 0.1 * i + time );
noise[ i ] += 0.5 * ( 0.5 - Math.random() );
noise[ i ] = THREE.Math.clamp( noise[ i ], -5, 5 );
displacement[ i ] += noise[ i ];
}
attributes.displacement.needsUpdate = true;
sphere.geometry.attributes.displacement.needsUpdate = true;
renderer.render(scene, camera);
+3 -3
View File
@@ -54,20 +54,20 @@
texture.needsUpdate = true;
materials.push(new THREE.MeshLambertMaterial({ map: texture, transparent: true }));
materials.push(new THREE.MeshLambertMaterial({ color: 0xdddddd, shading: THREE.FlatShading }));
materials.push(new THREE.MeshLambertMaterial({ color: 0xdddddd }));
materials.push(new THREE.MeshPhongMaterial({ color: 0xdddddd, specular: 0x009900, shininess: 30, shading: THREE.FlatShading }));
materials.push(new THREE.MeshNormalMaterial());
materials.push(new THREE.MeshBasicMaterial({ color: 0xffaa00, transparent: true, blending: THREE.AdditiveBlending }));
//materials.push( new THREE.MeshBasicMaterial( { color: 0xff0000, blending: THREE.SubtractiveBlending } ) );
materials.push(new THREE.MeshLambertMaterial({ color: 0xdddddd, shading: THREE.SmoothShading }));
materials.push(new THREE.MeshLambertMaterial({ color: 0xdddddd }));
materials.push(new THREE.MeshPhongMaterial({ color: 0xdddddd, specular: 0x009900, shininess: 30, shading: THREE.SmoothShading, map: texture, transparent: true }));
materials.push(new THREE.MeshNormalMaterial({ shading: THREE.SmoothShading }));
materials.push(new THREE.MeshBasicMaterial({ color: 0xffaa00, wireframe: true }));
materials.push(new THREE.MeshDepthMaterial());
materials.push(new THREE.MeshLambertMaterial({ color: 0x666666, emissive: 0xff0000, shading: THREE.SmoothShading }));
materials.push(new THREE.MeshLambertMaterial({ color: 0x666666, emissive: 0xff0000 }));
materials.push(new THREE.MeshPhongMaterial({ color: 0x000000, specular: 0x666666, emissive: 0xff0000, shininess: 10, shading: THREE.SmoothShading, opacity: 0.9, transparent: true }));
materials.push(new THREE.MeshBasicMaterial({ map: texture, transparent: true }));
+247 -386
View File
File diff suppressed because it is too large Load Diff