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

WebGLRenderer3: Using geometry id + material id as hash.

上级 15899cce
......@@ -91,11 +91,13 @@ THREE.WebGLRenderer3 = function ( parameters ) {
var buffers = {};
var getBuffer = function ( geometry ) {
var getBuffer = function ( geometry, material ) {
if ( buffers[ geometry.id ] !== undefined ) {
var hash = geometry.id.toString() + material.id.toString();
return buffers[ geometry.id ];
if ( buffers[ hash ] !== undefined ) {
return buffers[ hash ];
}
......@@ -177,7 +179,7 @@ THREE.WebGLRenderer3 = function ( parameters ) {
gl.bindBuffer( gl.ARRAY_BUFFER, buffer.normals );
gl.bufferData( gl.ARRAY_BUFFER, new Float32Array( normals ), gl.STATIC_DRAW );
buffers[ geometry.id ] = buffer;
buffers[ hash ] = buffer;
scope.info.memory.geometries ++;
......@@ -493,7 +495,7 @@ THREE.WebGLRenderer3 = function ( parameters ) {
var renderObject = function ( object, camera ) {
var buffer = getBuffer( object.geometry );
var buffer = getBuffer( object.geometry, object.material );
var material = object.material;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册