提交 99e185f7 编写于 作者: T tschw

Renderer: Let cache properly own the programs.

上级 b8533a25
......@@ -130,7 +130,8 @@ THREE.WebGLRenderer = function ( parameters ) {
_infoMemory = {
geometries: 0,
textures: 0
textures: 0,
programs: 0
},
......@@ -147,16 +148,18 @@ THREE.WebGLRenderer = function ( parameters ) {
render: _infoRender,
memory: _infoMemory,
programs: []
programs: null
};
Object.defineProperty( _infoMemory, 'programs', { get: function() {
return _this.info.programs.length;
var programs = _this.info.programs;
return programs !== null ? programs.length : 0;
} } );
// initialize
var _gl;
......@@ -218,6 +221,8 @@ THREE.WebGLRenderer = function ( parameters ) {
var objects = new THREE.WebGLObjects( _gl, properties, this.info );
var programCache = new THREE.WebGLPrograms( this, capabilities );
this.info.programs = programCache.programs;
var bufferRenderer = new THREE.WebGLBufferRenderer( _gl, extensions, _infoRender );
var indexedBufferRenderer = new THREE.WebGLIndexedBufferRenderer( _gl, extensions, _infoRender );
......
THREE.WebGLPrograms = function ( renderer, capabilities ) {
var programs = renderer.info.programs;
var programs = [];
var shaderIDs = {
MeshDepthMaterial: 'depth',
......@@ -277,4 +277,7 @@ THREE.WebGLPrograms = function ( renderer, capabilities ) {
};
// Exposed for resource monitoring & error feedback via renderer.info:
this.programs = programs;
};
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册