Skip to content

Commit 99e185f

Browse files
committed
Renderer: Let cache properly own the programs.
1 parent b8533a2 commit 99e185f

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

src/renderers/WebGLRenderer.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,8 @@ THREE.WebGLRenderer = function ( parameters ) {
130130
_infoMemory = {
131131

132132
geometries: 0,
133-
textures: 0
133+
textures: 0,
134+
programs: 0
134135

135136
},
136137

@@ -147,16 +148,18 @@ THREE.WebGLRenderer = function ( parameters ) {
147148

148149
render: _infoRender,
149150
memory: _infoMemory,
150-
programs: []
151+
programs: null
151152

152153
};
153154

154155
Object.defineProperty( _infoMemory, 'programs', { get: function() {
155156

156-
return _this.info.programs.length;
157+
var programs = _this.info.programs;
158+
return programs !== null ? programs.length : 0;
157159

158160
} } );
159161

162+
160163
// initialize
161164

162165
var _gl;
@@ -218,6 +221,8 @@ THREE.WebGLRenderer = function ( parameters ) {
218221
var objects = new THREE.WebGLObjects( _gl, properties, this.info );
219222
var programCache = new THREE.WebGLPrograms( this, capabilities );
220223

224+
this.info.programs = programCache.programs;
225+
221226
var bufferRenderer = new THREE.WebGLBufferRenderer( _gl, extensions, _infoRender );
222227
var indexedBufferRenderer = new THREE.WebGLIndexedBufferRenderer( _gl, extensions, _infoRender );
223228

src/renderers/webgl/WebGLPrograms.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
THREE.WebGLPrograms = function ( renderer, capabilities ) {
22

3-
var programs = renderer.info.programs;
3+
var programs = [];
44

55
var shaderIDs = {
66
MeshDepthMaterial: 'depth',
@@ -277,4 +277,7 @@ THREE.WebGLPrograms = function ( renderer, capabilities ) {
277277

278278
};
279279

280+
// Exposed for resource monitoring & error feedback via renderer.info:
281+
this.programs = programs;
282+
280283
};

0 commit comments

Comments
 (0)