From 77062ac1b37e5ac4e29b321f145a24e4f9bbdea9 Mon Sep 17 00:00:00 2001 From: samcake Date: Tue, 11 Oct 2016 17:13:08 -0700 Subject: [PATCH] Cleaning up a missing constructor and adjusting the stride for the StrucBuffer by default + merging with upstream --- libraries/gpu/src/gpu/Buffer.h | 8 ++++---- libraries/render-utils/src/LightClusters.cpp | 11 +++++++++++ libraries/render-utils/src/LightClusters.h | 3 +++ 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/libraries/gpu/src/gpu/Buffer.h b/libraries/gpu/src/gpu/Buffer.h index 2079c60605..6b9306ebac 100644 --- a/libraries/gpu/src/gpu/Buffer.h +++ b/libraries/gpu/src/gpu/Buffer.h @@ -384,12 +384,12 @@ public: template class StructBuffer : public gpu::BufferView { public: - static BufferPointer makeBuffer() { - T t; - return std::make_shared(sizeof(T), (const gpu::Byte*) &t); + template static BufferPointer makeBuffer() { + U t; + return std::make_shared(sizeof(U), (const gpu::Byte*) &t, sizeof(U)); } ~StructBuffer() {}; - StructBuffer() : gpu::BufferView(makeBuffer()) {} + StructBuffer() : gpu::BufferView(makeBuffer()) {} T& edit() { diff --git a/libraries/render-utils/src/LightClusters.cpp b/libraries/render-utils/src/LightClusters.cpp index c2559f847b..f569351c55 100644 --- a/libraries/render-utils/src/LightClusters.cpp +++ b/libraries/render-utils/src/LightClusters.cpp @@ -44,6 +44,17 @@ enum LightClusterGridShader_BufferSlot { LIGHT_CLUSTER_GRID_CLUSTER_CONTENT_SLOT, }; +FrustumGrid::FrustumGrid(const FrustumGrid& source) : + frustumNear(source.frustumNear), + rangeNear(source.rangeNear), + rangeFar(source.rangeFar), + frustumFar(source.frustumFar), + dims(source.dims), + spare(source.spare), + eyeToGridProj(source.eyeToGridProj), + worldToEyeMat(source.worldToEyeMat), + eyeToWorldMat(source.eyeToWorldMat) +{} void FrustumGrid::generateGridPlanes(Planes& xPlanes, Planes& yPlanes, Planes& zPlanes) { xPlanes.resize(dims.x + 1); diff --git a/libraries/render-utils/src/LightClusters.h b/libraries/render-utils/src/LightClusters.h index 955e780b23..d27a6e1d92 100644 --- a/libraries/render-utils/src/LightClusters.h +++ b/libraries/render-utils/src/LightClusters.h @@ -33,6 +33,9 @@ public: glm::mat4 worldToEyeMat; glm::mat4 eyeToWorldMat; + FrustumGrid() = default; + FrustumGrid(const FrustumGrid& source); + void updateFrustum(const ViewFrustum& frustum) { frustumNear = frustum.getNearClip(); frustumFar = frustum.getFarClip();