提交 e298ac68 编写于 作者: A alteredq

Renamed MeshShaderMaterial => ShaderMaterial

上级 fe1ed04b
此差异已折叠。
......@@ -26,6 +26,7 @@
<script type="text/javascript" src="../src/core/Matrix3.js"></script>
<script type="text/javascript" src="../src/core/Matrix4.js"></script>
<script type="text/javascript" src="../src/core/Object3D.js"></script>
<script type="text/javascript" src="../src/core/Projector.js"></script>
<script type="text/javascript" src="../src/core/Quaternion.js"></script>
<script type="text/javascript" src="../src/core/Vertex.js"></script>
<script type="text/javascript" src="../src/core/Face3.js"></script>
......@@ -35,6 +36,7 @@
<script type="text/javascript" src="../src/core/Spline.js"></script>
<script type="text/javascript" src="../src/core/Edge.js"></script>
<script type="text/javascript" src="../src/cameras/Camera.js"></script>
<script type="text/javascript" src="../src/cameras/OrthoCamera.js"></script>
<script type="text/javascript" src="../src/lights/Light.js"></script>
<script type="text/javascript" src="../src/lights/AmbientLight.js"></script>
<script type="text/javascript" src="../src/lights/DirectionalLight.js"></script>
......@@ -48,7 +50,7 @@
<script type="text/javascript" src="../src/materials/MeshDepthMaterial.js"></script>
<script type="text/javascript" src="../src/materials/MeshNormalMaterial.js"></script>
<script type="text/javascript" src="../src/materials/MeshFaceMaterial.js"></script>
<script type="text/javascript" src="../src/materials/MeshShaderMaterial.js"></script>
<script type="text/javascript" src="../src/materials/ShaderMaterial.js"></script>
<script type="text/javascript" src="../src/materials/ParticleBasicMaterial.js"></script>
<script type="text/javascript" src="../src/materials/ParticleCanvasMaterial.js"></script>
<script type="text/javascript" src="../src/materials/ParticleDOMMaterial.js"></script>
......@@ -66,7 +68,6 @@
<script type="text/javascript" src="../src/scenes/Scene.js"></script>
<script type="text/javascript" src="../src/scenes/Fog.js"></script>
<script type="text/javascript" src="../src/scenes/FogExp2.js"></script>
<script type="text/javascript" src="../src/renderers/Projector.js"></script>
<script type="text/javascript" src="../src/renderers/DOMRenderer.js"></script>
<script type="text/javascript" src="../src/renderers/CanvasRenderer.js"></script>
<script type="text/javascript" src="../src/renderers/SVGRenderer.js"></script>
......@@ -85,6 +86,11 @@
<script type="text/javascript" src="../src/extras/ImageUtils.js"></script>
<script type="text/javascript" src="../src/extras/SceneUtils.js"></script>
<script type="text/javascript" src="../src/extras/ShaderUtils.js"></script>
<script type="text/javascript" src="../src/extras/core/Curve.js"></script>
<script type="text/javascript" src="../src/extras/core/CurvePath.js"></script>
<script type="text/javascript" src="../src/extras/core/Path.js"></script>
<script type="text/javascript" src="../src/extras/core/Shape.js"></script>
<script type="text/javascript" src="../src/extras/core/TextPath.js"></script>
<script type="text/javascript" src="../src/extras/animation/AnimationHandler.js"></script>
<script type="text/javascript" src="../src/extras/animation/Animation.js"></script>
<script type="text/javascript" src="../src/extras/cameras/FirstPersonCamera.js"></script>
......@@ -93,11 +99,6 @@
<script type="text/javascript" src="../src/extras/cameras/RollCamera.js"></script>
<script type="text/javascript" src="../src/extras/cameras/TrackballCamera.js"></script>
<script type="text/javascript" src="../src/extras/cameras/QuakeCamera.js"></script>
<script type="text/javascript" src="../src/extras/geometries/Curve.js"></script>
<script type="text/javascript" src="../src/extras/geometries/CurvePath.js"></script>
<script type="text/javascript" src="../src/extras/geometries/Path.js"></script>
<script type="text/javascript" src="../src/extras/geometries/Shape.js"></script>
<script type="text/javascript" src="../src/extras/geometries/TextPath.js"></script>
<script type="text/javascript" src="../src/extras/geometries/CubeGeometry.js"></script>
<script type="text/javascript" src="../src/extras/geometries/CylinderGeometry.js"></script>
<script type="text/javascript" src="../src/extras/geometries/ExtrudeGeometry.js"></script>
......@@ -109,8 +110,9 @@
<script type="text/javascript" src="../src/extras/geometries/TorusGeometry.js"></script>
<script type="text/javascript" src="../src/extras/geometries/TorusKnotGeometry.js"></script>
<script type="text/javascript" src="../src/extras/loaders/Loader.js"></script>
<script type="text/javascript" src="../src/extras/loaders/JSONLoader.js"></script>
<script type="text/javascript" src="../src/extras/loaders/BinaryLoader.js"></script>
<script type="text/javascript" src="../src/extras/loaders/ColladaLoader.js"></script>
<script type="text/javascript" src="../src/extras/loaders/JSONLoader.js"></script>
<script type="text/javascript" src="../src/extras/loaders/SceneLoader.js"></script>
<script type="text/javascript" src="../src/extras/loaders/UTF8Loader.js"></script>
<script type="text/javascript" src="../src/extras/objects/MarchingCubes.js"></script>
......
......@@ -24,7 +24,7 @@ THREE.BloomPass = function( strength, kernelSize, sigma, resolution ) {
this.screenUniforms[ "opacity" ].value = strength;
this.materialScreen = new THREE.MeshShaderMaterial( {
this.materialScreen = new THREE.ShaderMaterial( {
uniforms: this.screenUniforms,
vertexShader: screenShader.vertexShader,
......@@ -43,7 +43,7 @@ THREE.BloomPass = function( strength, kernelSize, sigma, resolution ) {
this.convolutionUniforms[ "uImageIncrement" ].value = THREE.BloomPass.blurx;
this.convolutionUniforms[ "cKernel" ].value = THREE.ShaderExtras.buildKernel( sigma );
this.materialConvolution = new THREE.MeshShaderMaterial( {
this.materialConvolution = new THREE.ShaderMaterial( {
uniforms: this.convolutionUniforms,
vertexShader: "#define KERNEL_SIZE " + kernelSize + ".0\n" + convolutionShader.vertexShader,
......
......@@ -14,7 +14,7 @@ THREE.DotScreenPass = function( center, angle, scale ) {
if ( angle !== undefined ) this.uniforms[ "angle"].value = angle;
if ( scale !== undefined ) this.uniforms[ "scale"].value = scale;
this.material = new THREE.MeshShaderMaterial( {
this.material = new THREE.ShaderMaterial( {
uniforms: this.uniforms,
vertexShader: shader.vertexShader,
......
......@@ -8,7 +8,7 @@ THREE.FilmPass = function( noiseIntensity, scanlinesIntensity, scanlinesCount, g
this.uniforms = THREE.UniformsUtils.clone( shader.uniforms );
this.material = new THREE.MeshShaderMaterial( {
this.material = new THREE.ShaderMaterial( {
uniforms: this.uniforms,
vertexShader: shader.vertexShader,
......
......@@ -8,7 +8,7 @@ THREE.ShaderPass = function( shader, textureID ) {
this.uniforms = THREE.UniformsUtils.clone( shader.uniforms );
this.material = new THREE.MeshShaderMaterial( {
this.material = new THREE.ShaderMaterial( {
uniforms: this.uniforms,
vertexShader: shader.vertexShader,
......
......@@ -11,7 +11,7 @@ THREE.TexturePass = function( texture, opacity ) {
this.uniforms[ "opacity" ].value = ( opacity !== undefined ) ? opacity : 1.0;
this.uniforms[ "tDiffuse" ].texture = texture;
this.material = new THREE.MeshShaderMaterial( {
this.material = new THREE.ShaderMaterial( {
uniforms: this.uniforms,
vertexShader: shader.vertexShader,
......
......@@ -122,7 +122,7 @@
uniforms.texture.texture.wrapS = uniforms.texture.texture.wrapT = THREE.RepeatWrapping;
var shaderMaterial = new THREE.MeshShaderMaterial( {
var shaderMaterial = new THREE.ShaderMaterial( {
uniforms: uniforms,
attributes: attributes,
......
......@@ -117,7 +117,7 @@
};
var shaderMaterial = new THREE.MeshShaderMaterial( {
var shaderMaterial = new THREE.ShaderMaterial( {
uniforms: uniforms,
attributes: attributes,
......
......@@ -115,7 +115,7 @@
uniforms.texture.texture.wrapS = uniforms.texture.texture.wrapT = THREE.RepeatWrapping;
var shaderMaterial = new THREE.MeshShaderMaterial( {
var shaderMaterial = new THREE.ShaderMaterial( {
uniforms: uniforms,
attributes: attributes,
......
......@@ -123,7 +123,7 @@
uniforms.texture.texture.wrapS = uniforms.texture.texture.wrapT = THREE.RepeatWrapping;
var shaderMaterial = new THREE.MeshShaderMaterial( {
var shaderMaterial = new THREE.ShaderMaterial( {
uniforms: uniforms,
attributes: attributes,
......
......@@ -138,7 +138,7 @@
uniforms[ "uShininess" ].value = 30;
var parameters = { fragmentShader: shader.fragmentShader, vertexShader: shader.vertexShader, uniforms: uniforms, lights: true, fog: true };
var materialNormalMap = new THREE.MeshShaderMaterial( parameters );
var materialNormalMap = new THREE.ShaderMaterial( parameters );
// planet
......
......@@ -43,7 +43,9 @@
<script type="text/javascript" src="js/Stats.js"></script>
<!-- HDR fragment shader -->
<script id="fs-hdr" type="x-shader/x-fragment">
uniform sampler2D tDiffuse;
uniform float exposure;
uniform float brightMax;
......@@ -64,8 +66,8 @@
}
void main(void)
{
void main() {
vec4 color = texture2D( tDiffuse, vUv );
color.xyz = decode_pnghdr( color );
......@@ -78,18 +80,24 @@
color *= YD;
gl_FragColor = vec4( color.xyz, 1.0 );
}
</script>
<!-- HDR vertex shader -->
<script id="vs-hdr" type="x-shader/x-vertex">
varying vec2 vUv;
void main(void)
{
void main() {
vUv = uv;
gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
}
</script>
......@@ -131,7 +139,7 @@
texture.minFilter = THREE.LinearFilter;
texture.magFilter = THREE.NearestFilter;
materialHDR = new THREE.MeshShaderMaterial( {
materialHDR = new THREE.ShaderMaterial( {
uniforms: {
tDiffuse: { type: "t", value: 0, texture: texture },
......@@ -208,18 +216,6 @@
}
function is_browser_compatible() {
// WebGL support
try { var test = new Float32Array(1); } catch(e) { return false; }
// Web workers
return !!window.Worker;
}
</script>
</body>
</html>
......@@ -198,10 +198,10 @@
// Skybox
var shader = THREE.ShaderUtils.lib["cube"];
shader.uniforms["tCube"].texture = textureCube;
var shader = THREE.ShaderUtils.lib[ "cube" ];
shader.uniforms[ "tCube" ].texture = textureCube;
var material = new THREE.MeshShaderMaterial( {
var material = new THREE.ShaderMaterial( {
fragmentShader: shader.fragmentShader,
vertexShader: shader.vertexShader,
......
......@@ -197,7 +197,7 @@
var shader = THREE.ShaderUtils.lib["cube"];
shader.uniforms["tCube"].texture = textureCube;
var material = new THREE.MeshShaderMaterial( {
var material = new THREE.ShaderMaterial( {
fragmentShader: shader.fragmentShader,
vertexShader: shader.vertexShader,
......
......@@ -17,7 +17,7 @@
a:hover { color: #0080ff; }
canvas { pointer-events:none; z-index:10; }
#log { position:absolute; top:50px; text-align:left; display:block; z-index:100; pointer-events:none; }
#d { text-align:center; margin:1em 0 -7.5em 0; z-index:1000; position:relative; display:block }
.button { background:orange; color:#fff; padding:0.2em 0.5em; cursor:pointer }
.inactive { background:#999; color:#eee }
......@@ -34,8 +34,6 @@
<p>Texture by <a href="http://www.humus.name/index.php?page=Textures" target="_blank">Humus</a>
</div>
<pre id="log"></pre>
<script type="text/javascript" src="../build/Three.js"></script>
<script type="text/javascript" src="js/Detector.js"></script>
......@@ -90,11 +88,12 @@
scene.add( pointLight );
// light representation
sphere = new THREE.SphereGeometry( 100, 16, 8 );
lightMesh = new THREE.Mesh( sphere, new THREE.MeshBasicMaterial( { color:0xffaa00 } ) );
lightMesh = new THREE.Mesh( sphere, new THREE.MeshBasicMaterial( { color: 0xffaa00 } ) );
lightMesh.position = pointLight.position;
lightMesh.scale.x = lightMesh.scale.y = lightMesh.scale.z = 0.05;
scene.add(lightMesh);
scene.add( lightMesh );
var path = "textures/cube/SwedishRoyalCastle/";
var format = '.jpg';
......@@ -114,10 +113,10 @@
// Skybox
var shader = THREE.ShaderUtils.lib["cube"];
shader.uniforms["tCube"].texture = reflectionCube;
var shader = THREE.ShaderUtils.lib[ "cube" ];
shader.uniforms[ "tCube" ].texture = reflectionCube;
var material = new THREE.MeshShaderMaterial( {
var material = new THREE.ShaderMaterial( {
fragmentShader: shader.fragmentShader,
vertexShader: shader.vertexShader,
......@@ -213,12 +212,6 @@
}
function log(text) {
var e = document.getElementById("log");
e.innerHTML = text + "<br/>" + e.innerHTML;
}
</script>
</body>
......
......@@ -20,7 +20,7 @@
font-family:Monospace;
font-size:13px;
text-align:center;
z-index:1000;
z-index:1000;
}
a {
......@@ -105,10 +105,10 @@
// Skybox
var shader = THREE.ShaderUtils.lib["cube"];
shader.uniforms["tCube"].texture = textureCube;
var shader = THREE.ShaderUtils.lib[ "cube" ];
shader.uniforms[ "tCube" ].texture = textureCube;
var material = new THREE.MeshShaderMaterial( {
var material = new THREE.ShaderMaterial( {
fragmentShader: shader.fragmentShader,
vertexShader: shader.vertexShader,
......
......@@ -20,7 +20,7 @@
font-family:Monospace;
font-size:13px;
text-align:center;
z-index:1000;
z-index:1000;
}
a {
......@@ -101,10 +101,10 @@
// Skybox
var shader = THREE.ShaderUtils.lib["cube"];
shader.uniforms["tCube"].texture = textureCube;
var shader = THREE.ShaderUtils.lib[ "cube" ];
shader.uniforms[ "tCube" ].texture = textureCube;
var material = new THREE.MeshShaderMaterial( {
var material = new THREE.ShaderMaterial( {
fragmentShader: shader.fragmentShader,
vertexShader: shader.vertexShader,
......
......@@ -20,7 +20,7 @@
font-family:Monospace;
font-size:13px;
text-align:center;
z-index:1000;
z-index:1000;
}
a {
......@@ -104,10 +104,10 @@
// Skybox
var shader = THREE.ShaderUtils.lib["cube"];
shader.uniforms["tCube"].texture = textureCube;
var shader = THREE.ShaderUtils.lib[ "cube" ];
shader.uniforms[ "tCube" ].texture = textureCube;
var material = new THREE.MeshShaderMaterial( {
var material = new THREE.ShaderMaterial( {
fragmentShader: shader.fragmentShader,
vertexShader: shader.vertexShader,
......
......@@ -20,7 +20,7 @@
font-family:Monospace;
font-size:13px;
text-align:center;
z-index:1000;
z-index:1000;
}
a {
......@@ -103,10 +103,10 @@
// Skybox
var shader = THREE.ShaderUtils.lib["cube"];
shader.uniforms["tCube"].texture = textureCube;
var shader = THREE.ShaderUtils.lib[ "cube" ];
shader.uniforms[ "tCube" ].texture = textureCube;
var material = new THREE.MeshShaderMaterial( {
var material = new THREE.ShaderMaterial( {
fragmentShader: shader.fragmentShader,
vertexShader: shader.vertexShader,
......@@ -137,10 +137,10 @@
function onKeyDown ( event ) {
switch( event.keyCode ) {
/* O */
case 79: webglRenderer.separation -= 0.5; break;
/* P */
case 80: webglRenderer.separation += 0.5; break;
......
......@@ -15,8 +15,8 @@
}
a { color: #ff0080; text-decoration: none; }
a:hover { color: #0080ff; }
#log { position:absolute; top:50px; text-align:left; display:block; z-index:100; pointer-events:none; }
#d { text-align:center; margin:1em auto -9.0em; z-index:1000; position:relative; display:block;
#d { text-align:center; margin:1em auto -9.0em; z-index:1000; position:relative; display:block;
background:rgba(0,0,0,0.75); padding:0.25em; width:300px; border-radius:10px; -webkit-box-shadow: 0px 0px 10px rgba(0,0,0,0.5) }
#oldie { margin-top:15em !important }
</style>
......@@ -29,8 +29,6 @@
<p>Texture by <a href="http://brainwagon.org/2002/12/05/fun-with-environment-maps/" target="_blank">Mark VandeWettering</a>
</div>
<pre id="log"></pre>
<script type="text/javascript" src="../build/Three.js"></script>
<script type="text/javascript" src="js/Detector.js"></script>
......@@ -75,8 +73,8 @@
var r = "textures/cube/Escher/";
var urls = [ r + "px.jpg", r + "nx.jpg",
r + "py.jpg", r + "ny.jpg",
var urls = [ r + "px.jpg", r + "nx.jpg",
r + "py.jpg", r + "ny.jpg",
r + "pz.jpg", r + "nz.jpg" ];
var textureCube = THREE.ImageUtils.loadTextureCube( urls );
......@@ -89,10 +87,10 @@
// Skybox
var shader = THREE.ShaderUtils.lib["cube"];
shader.uniforms["tCube"].texture = textureCube;
var shader = THREE.ShaderUtils.lib[ "cube" ];
shader.uniforms[ "tCube" ].texture = textureCube;
var material = new THREE.MeshShaderMaterial( {
var material = new THREE.ShaderMaterial( {
fragmentShader: shader.fragmentShader,
vertexShader: shader.vertexShader,
......@@ -148,13 +146,6 @@
}
function log(text) {
var e = document.getElementById("log");
e.innerHTML = text + "<br/>" + e.innerHTML;
}
</script>
</body>
......
......@@ -17,8 +17,8 @@
a:hover { color: #0080ff; }
canvas { pointer-events:none; z-index:10; }
#log { position:absolute; top:50px; text-align:left; display:block; z-index:100; pointer-events:none; }
#d { text-align:center; margin:1em auto -9.5em; z-index:200; position:relative; display:block;
#d { text-align:center; margin:1em auto -9.5em; z-index:200; position:relative; display:block;
background:rgba(0,0,0,0.5); padding:0.5em; width:400px; border-radius:15px; -webkit-box-shadow: 0px 0px 10px rgba(0,0,0,0.5) }
#oldie { margin-top:15em !important }
......@@ -33,8 +33,6 @@
<p>Texture by <a href="http://www.humus.name/index.php?page=Textures" target="_blank">Humus</a>
</div>
<pre id="log"></pre>
<script type="text/javascript" src="../build/Three.js"></script>
<script type="text/javascript" src="js/Detector.js"></script>
......@@ -99,8 +97,8 @@
var r = "textures/cube/Park3Med/";
var urls = [ r + "px.jpg", r + "nx.jpg",
r + "py.jpg", r + "ny.jpg",
var urls = [ r + "px.jpg", r + "nx.jpg",
r + "py.jpg", r + "ny.jpg",
r + "pz.jpg", r + "nz.jpg" ];
var textureCube = THREE.ImageUtils.loadTextureCube( urls, new THREE.CubeRefractionMapping() );
......@@ -111,10 +109,10 @@
// Skybox
var shader = THREE.ShaderUtils.lib["cube"];
shader.uniforms["tCube"].texture = textureCube;
var shader = THREE.ShaderUtils.lib[ "cube" ];
shader.uniforms[ "tCube" ].texture = textureCube;
var material = new THREE.MeshShaderMaterial( {
var material = new THREE.ShaderMaterial( {
fragmentShader: shader.fragmentShader,
vertexShader: shader.vertexShader,
......@@ -211,12 +209,6 @@
}
function log(text) {
var e = document.getElementById("log");
e.innerHTML = text + "<br/>" + e.innerHTML;
}
</script>
</body>
......
......@@ -140,7 +140,7 @@
uniforms[ "uShininess" ].value = shininess;
var parameters = { fragmentShader: shader.fragmentShader, vertexShader: shader.vertexShader, uniforms: uniforms, lights: true };
var material1 = new THREE.MeshShaderMaterial( parameters );
var material1 = new THREE.ShaderMaterial( parameters );
var material2 = new THREE.MeshPhongMaterial( { color: diffuse, specular: specular, ambient: ambient, shininess: shininess } );
......
......@@ -35,13 +35,10 @@
#vt, #vt a { color:orange; }
.code { }
#log { position:absolute; top:50px; text-align:left; display:block; z-index:100 }
</style>
</head>
<body>
<pre id="log"></pre>
<div id="info">
<a href="http://github.com/mrdoob/three.js" target="_blank">three.js</a> - webgl normalmap demo.
<a href="http://www.ir-ltd.net/infinite-3d-head-scan-released/" target="_blank">Lee Perry-Smith</a> head.
......@@ -115,7 +112,7 @@
var shader = THREE.ShaderUtils.lib[ "normal" ];
var uniforms = THREE.UniformsUtils.clone( shader.uniforms );
uniforms[ "tNormal" ].texture = THREE.ImageUtils.loadTexture( "obj/leeperrysmith/Infinite-Level_02_Tangent_SmoothUV.jpg" );
uniforms[ "uNormalScale" ].value = - 0.75;
......@@ -132,7 +129,7 @@
uniforms[ "uShininess" ].value = shininess;
var parameters = { fragmentShader: shader.fragmentShader, vertexShader: shader.vertexShader, uniforms: uniforms, lights: true };
var material = new THREE.MeshShaderMaterial( parameters );
var material = new THREE.ShaderMaterial( parameters );
loader = new THREE.JSONLoader( true );
document.body.appendChild( loader.statusDomElement );
......@@ -203,13 +200,6 @@
}
function log( text ) {
var e = document.getElementById("log");
e.innerHTML = text + "<br/>" + e.innerHTML;
}
</script>
</body>
......
......@@ -20,20 +20,16 @@
font-family:Monospace;
font-size:13px;
text-align:center;
z-index:1000;
z-index:1000;
}
a {
color: #ffffff;
}
#log { position:absolute; top:50px; text-align:left; display:block; z-index:100 }
a { color: #ffffff; }
#oldie a { color:#0b0 }
</style>
</head>
<body>
<pre id="log"></pre>
<div id="info"><a href="http://github.com/mrdoob/three.js" target="_blank">three.js</a> - webgl cube Fresnel shader demo. texture by <a href="http://www.humus.name/index.php?page=Textures" target="_blank">Humus</a> </div>
......@@ -98,7 +94,7 @@
uniforms["tCube"].texture = textureCube;
var parameters = { fragmentShader: shader.fragmentShader, vertexShader: shader.vertexShader, uniforms: uniforms };
var material = new THREE.MeshShaderMaterial( parameters );
var material = new THREE.ShaderMaterial( parameters );
for ( var i = 0; i < 500; i ++ ) {
......@@ -117,10 +113,10 @@
// Skybox
var shader = THREE.ShaderUtils.lib["cube"];
shader.uniforms["tCube"].texture = textureCube;
var shader = THREE.ShaderUtils.lib[ "cube" ];
shader.uniforms[ "tCube" ].texture = textureCube;
var material = new THREE.MeshShaderMaterial( {
var material = new THREE.ShaderMaterial( {
fragmentShader: shader.fragmentShader,
vertexShader: shader.vertexShader,
......@@ -183,13 +179,6 @@
}
function log( text ) {
var e = document.getElementById("log");
e.innerHTML = text + "<br/>" + e.innerHTML;
}
</script>
</body>
......
......@@ -139,8 +139,8 @@
var parametersUV = { fragmentShader: shader.fragmentShader, vertexShader: shader.vertexShaderUV, uniforms: uniformsUV, lights: true };
material = new THREE.MeshShaderMaterial( parameters );
var materialUV = new THREE.MeshShaderMaterial( parametersUV );
material = new THREE.ShaderMaterial( parameters );
var materialUV = new THREE.ShaderMaterial( parametersUV );
// LOADER
......
......@@ -321,7 +321,7 @@
}
var shaderMaterial = new THREE.MeshShaderMaterial( {
var shaderMaterial = new THREE.ShaderMaterial( {
uniforms: uniforms,
attributes: attributes,
......
......@@ -139,7 +139,7 @@
sceneBG = new THREE.Scene();
materialColor = new THREE.MeshShaderMaterial( {
materialColor = new THREE.ShaderMaterial( {
uniforms: { time: { type: "f", value: 0.0 } },
vertexShader: getText( 'vs-generic' ),
......@@ -354,7 +354,7 @@
uniforms[ "uShininess" ].value = shininess;
var parameters = { fragmentShader: shader.fragmentShader, vertexShader: shader.vertexShader, uniforms: uniforms, lights: true };
var mat2 = new THREE.MeshShaderMaterial( parameters );
var mat2 = new THREE.ShaderMaterial( parameters );
mesh = new THREE.Mesh( geometry, mat2 );
mesh.position.set( 0, -50, 0 );
......
......@@ -250,7 +250,7 @@
postprocessing.bokeh_uniforms[ "focus" ].value = 1.1;
postprocessing.bokeh_uniforms[ "aspect" ].value = window.innerWidth / height;
postprocessing.materialBokeh = new THREE.MeshShaderMaterial( {
postprocessing.materialBokeh = new THREE.ShaderMaterial( {
uniforms: postprocessing.bokeh_uniforms,
vertexShader: bokeh_shader.vertexShader,
......
......@@ -130,7 +130,7 @@
rtTexture = new THREE.WebGLRenderTarget( window.innerWidth, window.innerHeight, { minFilter: THREE.LinearFilter, magFilter: THREE.NearestFilter, format: THREE.RGBFormat } );
material = new THREE.MeshShaderMaterial( {
material = new THREE.ShaderMaterial( {
uniforms: { time: { type: "f", value: 0.0 } },
vertexShader: document.getElementById( 'vertexShader' ).textContent,
......@@ -138,7 +138,7 @@
} );
var materialScreen = new THREE.MeshShaderMaterial( {
var materialScreen = new THREE.ShaderMaterial( {
uniforms: { tDiffuse: { type: "t", value: 0, texture: rtTexture } },
vertexShader: document.getElementById( 'vertexShader' ).textContent,
......
......@@ -45,6 +45,7 @@
<script type="text/javascript" src="../src/core/Matrix3.js"></script>
<script type="text/javascript" src="../src/core/Matrix4.js"></script>
<script type="text/javascript" src="../src/core/Object3D.js"></script>
<script type="text/javascript" src="../src/core/Projector.js"></script>
<script type="text/javascript" src="../src/core/Quaternion.js"></script>
<script type="text/javascript" src="../src/core/Vertex.js"></script>
<script type="text/javascript" src="../src/core/Face3.js"></script>
......@@ -54,6 +55,7 @@
<script type="text/javascript" src="../src/core/Spline.js"></script>
<script type="text/javascript" src="../src/core/Edge.js"></script>
<script type="text/javascript" src="../src/cameras/Camera.js"></script>
<script type="text/javascript" src="../src/cameras/OrthoCamera.js"></script>
<script type="text/javascript" src="../src/lights/Light.js"></script>
<script type="text/javascript" src="../src/lights/AmbientLight.js"></script>
<script type="text/javascript" src="../src/lights/DirectionalLight.js"></script>
......@@ -67,7 +69,7 @@
<script type="text/javascript" src="../src/materials/MeshDepthMaterial.js"></script>
<script type="text/javascript" src="../src/materials/MeshNormalMaterial.js"></script>
<script type="text/javascript" src="../src/materials/MeshFaceMaterial.js"></script>
<script type="text/javascript" src="../src/materials/MeshShaderMaterial.js"></script>
<script type="text/javascript" src="../src/materials/ShaderMaterial.js"></script>
<script type="text/javascript" src="../src/materials/ParticleBasicMaterial.js"></script>
<script type="text/javascript" src="../src/materials/ParticleCanvasMaterial.js"></script>
<script type="text/javascript" src="../src/materials/ParticleDOMMaterial.js"></script>
......@@ -85,7 +87,6 @@
<script type="text/javascript" src="../src/scenes/Scene.js"></script>
<script type="text/javascript" src="../src/scenes/Fog.js"></script>
<script type="text/javascript" src="../src/scenes/FogExp2.js"></script>
<script type="text/javascript" src="../src/renderers/Projector.js"></script>
<script type="text/javascript" src="../src/renderers/DOMRenderer.js"></script>
<script type="text/javascript" src="../src/renderers/CanvasRenderer.js"></script>
<script type="text/javascript" src="../src/renderers/SVGRenderer.js"></script>
......@@ -104,6 +105,11 @@
<script type="text/javascript" src="../src/extras/ImageUtils.js"></script>
<script type="text/javascript" src="../src/extras/SceneUtils.js"></script>
<script type="text/javascript" src="../src/extras/ShaderUtils.js"></script>
<script type="text/javascript" src="../src/extras/core/Curve.js"></script>
<script type="text/javascript" src="../src/extras/core/CurvePath.js"></script>
<script type="text/javascript" src="../src/extras/core/Path.js"></script>
<script type="text/javascript" src="../src/extras/core/Shape.js"></script>
<script type="text/javascript" src="../src/extras/core/TextPath.js"></script>
<script type="text/javascript" src="../src/extras/animation/AnimationHandler.js"></script>
<script type="text/javascript" src="../src/extras/animation/Animation.js"></script>
<script type="text/javascript" src="../src/extras/cameras/FirstPersonCamera.js"></script>
......@@ -112,11 +118,6 @@
<script type="text/javascript" src="../src/extras/cameras/RollCamera.js"></script>
<script type="text/javascript" src="../src/extras/cameras/TrackballCamera.js"></script>
<script type="text/javascript" src="../src/extras/cameras/QuakeCamera.js"></script>
<script type="text/javascript" src="../src/extras/geometries/Curve.js"></script>
<script type="text/javascript" src="../src/extras/geometries/CurvePath.js"></script>
<script type="text/javascript" src="../src/extras/geometries/Path.js"></script>
<script type="text/javascript" src="../src/extras/geometries/Shape.js"></script>
<script type="text/javascript" src="../src/extras/geometries/TextPath.js"></script>
<script type="text/javascript" src="../src/extras/geometries/CubeGeometry.js"></script>
<script type="text/javascript" src="../src/extras/geometries/CylinderGeometry.js"></script>
<script type="text/javascript" src="../src/extras/geometries/ExtrudeGeometry.js"></script>
......@@ -128,8 +129,9 @@
<script type="text/javascript" src="../src/extras/geometries/TorusGeometry.js"></script>
<script type="text/javascript" src="../src/extras/geometries/TorusKnotGeometry.js"></script>
<script type="text/javascript" src="../src/extras/loaders/Loader.js"></script>
<script type="text/javascript" src="../src/extras/loaders/JSONLoader.js"></script>
<script type="text/javascript" src="../src/extras/loaders/BinaryLoader.js"></script>
<script type="text/javascript" src="../src/extras/loaders/ColladaLoader.js"></script>
<script type="text/javascript" src="../src/extras/loaders/JSONLoader.js"></script>
<script type="text/javascript" src="../src/extras/loaders/SceneLoader.js"></script>
<script type="text/javascript" src="../src/extras/loaders/UTF8Loader.js"></script>
<script type="text/javascript" src="../src/extras/objects/MarchingCubes.js"></script>
......@@ -190,7 +192,7 @@
new THREE.MeshBasicMaterial( { map: texture, fog: false } ),
new THREE.MeshBasicMaterial( { map: THREE.ImageUtils.loadTexture( 'textures/land_ocean_ice_cloud_2048.jpg' ) } ),
new THREE.MeshBasicMaterial( { map: texture2, envMap: THREE.ImageUtils.loadTexture( 'textures/envmap.png', new THREE.SphericalReflectionMapping() ) } ),
new THREE.MeshShaderMaterial( { uniforms: uniforms, vertexShader: vertexShader, fragmentShader: fragmentShader } )
new THREE.ShaderMaterial( { uniforms: uniforms, vertexShader: vertexShader, fragmentShader: fragmentShader } )
/*
new THREE.MeshLambertMaterial( { color: 0xdddddd, shading: THREE.FlatShading } ),
......@@ -203,7 +205,7 @@
new THREE.MeshBasicMaterial( { envMap: texture2, fog: false } ),
new THREE.MeshLambertMaterial( { map: ImageUtils.loadTexture( 'textures/land_ocean_ice_cloud_2048.jpg' ) } ),
new THREE.MeshLambertMaterial( { map: texture2, envMap: ImageUtils.loadTexture( 'textures/envmap.png', new THREE.SphericalReflectionMapping() ) } ),
new THREE.MeshShaderMaterial( { uniforms: uniforms, vertexShader: vertexShader, fragmentShader: fragmentShader } )
new THREE.ShaderMaterial( { uniforms: uniforms, vertexShader: vertexShader, fragmentShader: fragmentShader } )
*/
];
......
......@@ -32,8 +32,8 @@
</head>
<body>
<div id="container"></div>
<div id="info"><a href="http://github.com/mrdoob/three.js" target="_blank">three.js</a> - shader demo. featuring <a href="http://www.pouet.net/prod.php?which=52761" target="_blank">Monjori by Mic</a></div>
<div id="container"></div>
<div id="info"><a href="http://github.com/mrdoob/three.js" target="_blank">three.js</a> - shader demo. featuring <a href="http://www.pouet.net/prod.php?which=52761" target="_blank">Monjori by Mic</a></div>
<script type="text/javascript" src="../build/Three.js"></script>
......@@ -117,7 +117,7 @@
resolution: { type: "v2", value: new THREE.Vector2() }
};
material = new THREE.MeshShaderMaterial( {
material = new THREE.ShaderMaterial( {
uniforms: uniforms,
vertexShader: document.getElementById( 'vertexShader' ).textContent,
......
......@@ -218,7 +218,7 @@
for( var i = 0; i < params.length; i++ ) {
material = new THREE.MeshShaderMaterial( {
material = new THREE.ShaderMaterial( {
uniforms: params[ i ][ 1 ],
vertexShader: document.getElementById( 'vertexShader' ).textContent,
......
......@@ -163,7 +163,7 @@
var size = 0.65;
material = new THREE.MeshShaderMaterial( {
material = new THREE.ShaderMaterial( {
uniforms: uniforms,
vertexShader: document.getElementById( 'vertexShader' ).textContent,
......
......@@ -143,7 +143,7 @@
var shader = THREE.ShaderExtras[ "screen" ];
var uniforms = new THREE.UniformsUtils.clone( shader.uniforms );
hudMaterial = new THREE.MeshShaderMaterial( { vertexShader: shader.vertexShader, fragmentShader: shader.fragmentShader, uniforms: uniforms } );
hudMaterial = new THREE.ShaderMaterial( { vertexShader: shader.vertexShader, fragmentShader: shader.fragmentShader, uniforms: uniforms } );
var hudGeo = new THREE.PlaneGeometry( SHADOW_MAP_WIDTH / 2, SHADOW_MAP_HEIGHT / 2 );
var hudMesh = new THREE.Mesh( hudGeo, hudMaterial );
......
......@@ -153,7 +153,7 @@
uniforms[ "uShininess" ].value = 30;
var materialNormalMap = new THREE.MeshShaderMaterial({
var materialNormalMap = new THREE.ShaderMaterial({
fragmentShader: shader.fragmentShader,
vertexShader: shader.vertexShader,
uniforms: uniforms,
......
......@@ -83,7 +83,7 @@ THREE.Loader.prototype = {
m = scope.materials[ i ][ 0 ];
if ( m instanceof THREE.MeshShaderMaterial ) return true;
if ( m instanceof THREE.ShaderMaterial ) return true;
}
......@@ -356,7 +356,7 @@ THREE.Loader.prototype = {
var parameters = { fragmentShader: shader.fragmentShader, vertexShader: shader.vertexShader, uniforms: uniforms, lights: true, fog: true };
material = new THREE.MeshShaderMaterial( parameters );
material = new THREE.ShaderMaterial( parameters );
} else {
......
......@@ -139,7 +139,7 @@ THREE.SceneLoader.prototype = {
materials[ i ] = result.materials[ o.materials[i] ];
hasNormals = materials[ i ] instanceof THREE.MeshShaderMaterial;
hasNormals = materials[ i ] instanceof THREE.ShaderMaterial;
}
......@@ -741,7 +741,7 @@ THREE.SceneLoader.prototype = {
var parameters = { fragmentShader: shader.fragmentShader, vertexShader: shader.vertexShader, uniforms: uniforms, lights: true, fog: true };
material = new THREE.MeshShaderMaterial( parameters );
material = new THREE.ShaderMaterial( parameters );
} else {
......@@ -764,7 +764,7 @@ THREE.SceneLoader.prototype = {
};
},
constructor : THREE.SceneLoader
};
......@@ -5,7 +5,7 @@
if ( THREE.WebGLRenderer ) {
THREE.AnaglyphWebGLRenderer = function ( parameters ) {
THREE.AnaglyphWebGLRenderer = function ( parameters ) {
THREE.WebGLRenderer.call( this, parameters );
......@@ -15,7 +15,7 @@ if ( THREE.WebGLRenderer ) {
eyeLeft = new THREE.Matrix4(),
focalLength = 125,
aspect, near, fov;
_cameraL.useTarget = _cameraR.useTarget = false;
_cameraL.matrixAutoUpdate = _cameraR.matrixAutoUpdate = false;
......@@ -25,7 +25,7 @@ if ( THREE.WebGLRenderer ) {
var _camera = new THREE.Camera( 53, 1, 1, 10000 );
_camera.position.z = 2;
_material = new THREE.MeshShaderMaterial( {
_material = new THREE.ShaderMaterial( {
uniforms: {
......@@ -85,23 +85,23 @@ if ( THREE.WebGLRenderer ) {
};
/*
* Renderer now uses an asymmetric perspective projection (http://paulbourke.net/miscellaneous/stereographics/stereorender/).
* Renderer now uses an asymmetric perspective projection (http://paulbourke.net/miscellaneous/stereographics/stereorender/).
* Each camera is offset by the eye seperation and its projection matrix is also skewed asymetrically back to converge on the same
* projection plane. Added a focal length parameter to, this is where the parallax is equal to 0.
* projection plane. Added a focal length parameter to, this is where the parallax is equal to 0.
*/
this.render = function ( scene, camera, renderTarget, forceClear ) {
this.render = function ( scene, camera, renderTarget, forceClear ) {
camera.update( null, true );
var hasCameraChanged = aspect !== camera.aspect || near !== camera.near || fov !== camera.fov;
if( hasCameraChanged ) {
aspect = camera.aspect;
near = camera.near;
fov = camera.fov;
fov = camera.fov;
var projectionMatrix = camera.projectionMatrix.clone(),
eyeSep = focalLength / 30 * 0.5,
eyeSepOnProjection = eyeSep * near / focalLength,
......@@ -111,23 +111,23 @@ if ( THREE.WebGLRenderer ) {
//translate xOffset
eyeRight.n14 = eyeSep;
eyeLeft.n14 = -eyeSep;
//For left eye
xmin = -ymax * aspect + eyeSepOnProjection;
xmax = ymax * aspect + eyeSepOnProjection;
projectionMatrix.n11 = 2 * near / ( xmax - xmin );
projectionMatrix.n13 = ( xmax + xmin ) / ( xmax - xmin );
_cameraL.projectionMatrix = projectionMatrix.clone();
//for right eye
//for right eye
xmin = -ymax * aspect - eyeSepOnProjection;
xmax = ymax * aspect - eyeSepOnProjection;
projectionMatrix.n11 = 2 * near / ( xmax - xmin );
projectionMatrix.n13 = ( xmax + xmin ) / ( xmax - xmin );
_cameraR.projectionMatrix = projectionMatrix.clone();
}
}
_cameraL.matrix = camera.matrixWorld.clone().multiplySelf( eyeLeft );
_cameraL.update(null, true);
_cameraL.position.copy( camera.position );
......@@ -141,11 +141,11 @@ if ( THREE.WebGLRenderer ) {
_cameraR.near = near;
_cameraR.far = camera.far;
_render.call( _this, scene, _cameraR, _renderTargetR, true );
_render.call( _this, _scene, _camera );
};
};
}
......@@ -4,16 +4,16 @@
* parameters = {
* fragmentShader: <string>,
* vertexShader: <string>,
* uniforms: { "parameter1": { type: "f", value: 1.0 }, "parameter2": { type: "i" value2: 2 } },
* shading: THREE.SmoothShading,
* blending: THREE.NormalBlending,
* depthTest: <bool>,
* wireframe: <boolean>,
* wireframeLinewidth: <float>,
* lights: <bool>,
* vertexColors: <bool>,
* skinning: <bool>,
......@@ -21,7 +21,7 @@
* }
*/
THREE.MeshShaderMaterial = function ( parameters ) {
THREE.ShaderMaterial = function ( parameters ) {
THREE.Material.call( this, parameters );
......@@ -45,5 +45,5 @@ THREE.MeshShaderMaterial = function ( parameters ) {
};
THREE.MeshShaderMaterial.prototype = new THREE.Material();
THREE.MeshShaderMaterial.prototype.constructor = THREE.MeshShaderMaterial;
THREE.ShaderMaterial.prototype = new THREE.Material();
THREE.ShaderMaterial.prototype.constructor = THREE.ShaderMaterial;
......@@ -105,9 +105,9 @@ THREE.WebGLRenderer = function ( parameters ) {
var depthShader = THREE.ShaderLib[ "depthRGBA" ];
var depthUniforms = THREE.UniformsUtils.clone( depthShader.uniforms );
var _depthMaterial = new THREE.MeshShaderMaterial( { fragmentShader: depthShader.fragmentShader, vertexShader: depthShader.vertexShader, uniforms: depthUniforms } );
var _depthMaterial = new THREE.ShaderMaterial( { fragmentShader: depthShader.fragmentShader, vertexShader: depthShader.vertexShader, uniforms: depthUniforms } );
var _depthMaterialMorph = new THREE.MeshShaderMaterial( { fragmentShader: depthShader.fragmentShader, vertexShader: depthShader.vertexShader, uniforms: depthUniforms, morphTargets: true } );
var _depthMaterialMorph = new THREE.ShaderMaterial( { fragmentShader: depthShader.fragmentShader, vertexShader: depthShader.vertexShader, uniforms: depthUniforms, morphTargets: true } );
_depthMaterial._shadowPass = true;
_depthMaterialMorph._shadowPass = true;
......@@ -2762,7 +2762,7 @@ THREE.WebGLRenderer = function ( parameters ) {
// load material specific uniforms
// (shader material also gets them for the sake of genericity)
if ( material instanceof THREE.MeshShaderMaterial ||
if ( material instanceof THREE.ShaderMaterial ||
material instanceof THREE.MeshPhongMaterial ||
material.envMap ) {
......@@ -2774,7 +2774,7 @@ THREE.WebGLRenderer = function ( parameters ) {
}
if ( material instanceof THREE.MeshShaderMaterial ||
if ( material instanceof THREE.ShaderMaterial ||
material.envMap ||
material.skinning ||
object.receiveShadow ) {
......@@ -2789,7 +2789,7 @@ THREE.WebGLRenderer = function ( parameters ) {
if ( material instanceof THREE.MeshPhongMaterial ||
material instanceof THREE.MeshLambertMaterial ||
material instanceof THREE.MeshShaderMaterial ||
material instanceof THREE.ShaderMaterial ||
material.skinning ) {
if( p_uniforms.viewMatrix !== null ) {
......@@ -5537,7 +5537,7 @@ THREE.WebGLRenderer = function ( parameters ) {
m = materials[ i ];
if ( m.map || m.lightMap || m instanceof THREE.MeshShaderMaterial ) {
if ( m.map || m.lightMap || m instanceof THREE.ShaderMaterial ) {
return true;
......
......@@ -46,7 +46,7 @@ COMMON_FILES = [
'materials/MeshDepthMaterial.js',
'materials/MeshNormalMaterial.js',
'materials/MeshFaceMaterial.js',
'materials/MeshShaderMaterial.js',
'materials/ShaderMaterial.js',
'materials/ParticleBasicMaterial.js',
'materials/ParticleCanvasMaterial.js',
'materials/ParticleDOMMaterial.js',
......@@ -280,7 +280,7 @@ WEBGL_FILES = [
'materials/MeshDepthMaterial.js',
'materials/MeshNormalMaterial.js',
'materials/MeshFaceMaterial.js',
'materials/MeshShaderMaterial.js',
'materials/ShaderMaterial.js',
'materials/ParticleBasicMaterial.js',
'textures/Texture.js',
'textures/DataTexture.js',
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册