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

Merge remote-tracking branch 'gero3/dev' into dev

此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
THREE.WebGLRenderer2.Object3DRenderer = function(lowlevelrenderer, info){
this.renderer = lowlevelrenderer;
this.info = info;
};
THREE.WebGLRenderer2.Object3DRenderer.prototype.getBufferMaterial = function( object, geometryGroup ) {
return object.material instanceof THREE.MeshFaceMaterial
? object.material.materials[ geometryGroup.materialIndex ]
: object.material;
};
THREE.WebGLRenderer2.Object3DRenderer.prototype.bufferGuessUVType = function( material ) {
// material must use some texture to require uvs
if ( material.map || material.lightMap || material.bumpMap || material.normalMap || material.specularMap || material instanceof THREE.ShaderMaterial ) {
return true;
}
return false;
};
THREE.WebGLRenderer2.Object3DRenderer.prototype.bufferGuessNormalType = function ( material ) {
// only MeshBasicMaterial and MeshDepthMaterial don't need normals
if ( ( material instanceof THREE.MeshBasicMaterial && !material.envMap ) || material instanceof THREE.MeshDepthMaterial ) {
return false;
}
if ( this.materialNeedsSmoothNormals( material ) ) {
return THREE.SmoothShading;
} else {
return THREE.FlatShading;
}
};
THREE.WebGLRenderer2.Object3DRenderer.prototype.materialNeedsSmoothNormals = function ( material ) {
return material && material.shading !== undefined && material.shading === THREE.SmoothShading;
};
THREE.WebGLRenderer2.Object3DRenderer.prototype.bufferGuessVertexColorType = function ( material ) {
if ( material.vertexColors ) {
return material.vertexColors;
}
return false;
};
THREE.WebGLRenderer2.Object3DRenderer.prototype.initCustomAttributes = function( geometry, object ) {
var nvertices = geometry.vertices.length;
var material = object.material;
if ( material.attributes ) {
if ( geometry.__webglCustomAttributesList === undefined ) {
geometry.__webglCustomAttributesList = [];
}
for ( var a in material.attributes ) {
var attribute = material.attributes[ a ];
if ( !attribute.__webglInitialized || attribute.createUniqueBuffers ) {
attribute.__webglInitialized = true;
var size = 1; // "f" and "i"
if ( attribute.type === "v2" ) size = 2;
else if ( attribute.type === "v3" ) size = 3;
else if ( attribute.type === "v4" ) size = 4;
else if ( attribute.type === "c" ) size = 3;
attribute.size = size;
attribute.array = new Float32Array( nvertices * size );
attribute.buffer = this.renderer.createBuffer();
attribute.buffer.belongsToAttribute = a;
attribute.needsUpdate = true;
}
geometry.__webglCustomAttributesList.push( attribute );
}
}
};
THREE.WebGLRenderer2.Object3DRenderer.prototype.numericalSort = function( a, b ) {
return b[ 0 ] - a[ 0 ];
};
\ No newline at end of file
此差异已折叠。
此差异已折叠。
......@@ -73,8 +73,16 @@
"../src/scenes/Fog.js",
"../src/scenes/FogExp2.js",
"../src/renderers/CanvasRenderer.js",
"../src/renderers/WebGLShaders.js",
"../src/renderers/WebGLRenderer.js",
"../src/renderers/WebGLShaders.js",
"../src/renderers/WebGLRenderer2.js",
"../src/renderers/webgl/LowLevelRenderer.js",
"../src/renderers/webgl/ShaderBuilder.js",
"../src/renderers/webgl/objects/Object3DRenderer.js",
"../src/renderers/webgl/objects/MeshRenderer.js",
"../src/renderers/webgl/objects/ParticleRenderer.js",
"../src/renderers/webgl/objects/LineRenderer.js",
"../src/renderers/webgl/objects/RibbonRenderer.js",
"../src/renderers/WebGLRenderTarget.js",
"../src/renderers/WebGLRenderTargetCube.js",
"../src/renderers/renderables/RenderableVertex.js",
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册