From ef49b55545eb203f2d427b02e249b4b2be0ffa47 Mon Sep 17 00:00:00 2001 From: Mr F Date: Thu, 10 Dec 2015 20:30:14 +0300 Subject: [PATCH] don't clear 2 times --- src/scene/scene_forwardrenderer.js | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/scene/scene_forwardrenderer.js b/src/scene/scene_forwardrenderer.js index 9afbdbaed38..f622aa38f92 100644 --- a/src/scene/scene_forwardrenderer.js +++ b/src/scene/scene_forwardrenderer.js @@ -325,6 +325,20 @@ pc.extend(pc, function () { } pc.extend(ForwardRenderer.prototype, { + + updateCameraFrustum: function(camera) { + var projMat = camera.getProjectionMatrix(); + + var pos = camera._node.getPosition(); + var rot = camera._node.getRotation(); + viewInvMat.setTRS(pos, rot, pc.Vec3.ONE); + this.viewInvId.setValue(viewInvMat.data); + + viewMat.copy(viewInvMat).invert(); + + camera._frustum.update(projMat, viewMat); + }, + setCamera: function (camera, cullBorder) { // Projection Matrix var projMat = camera.getProjectionMatrix(); @@ -577,7 +591,7 @@ pc.extend(pc, function () { var visible; var btype; var cullTime = pc.now(); - this.setCamera(camera); + this.updateCameraFrustum(camera); // Update all skin matrices to properly cull skinned objects (but don't update rendering data) for (i = 0; i < drawCallsCount; i++) {