History

Merge pull request #8422 from sethalves/sidestep-linux-gcc-bug

sidestep linux gcc linker? bug

Brad Davis committed 10 years ago

Commit fdbbd702 parents 5b09748 77a49e61 file · +22 −21Browse files

Showing the changes to libraries/render-utils/src/AnimDebugDraw.cpp (1 of 1 file). Show all

Unified · Split

libraries/render-utils/src/AnimDebugDraw.cpp+22−21
@@ -19,13 +19,14 @@ · 18 unmodified lines
19 19
20#include "AnimDebugDraw.h"20#include "AnimDebugDraw.h"
21 21
22struct Vertex {
23 glm::vec3 pos;
24 uint32_t rgba;
25};
26
27class AnimDebugDrawData {22class AnimDebugDrawData {
28public:23public:
24
25 struct Vertex {
26 glm::vec3 pos;
27 uint32_t rgba;
28 };
29
29 typedef render::Payload<AnimDebugDrawData> Payload;30 typedef render::Payload<AnimDebugDrawData> Payload;
30 typedef Payload::DataPointer Pointer;31 typedef Payload::DataPointer Pointer;
31 32
@@ -119,18 +120,18 @@ AnimDebugDraw::AnimDebugDraw() : · 87 unmodified lines
119 }120 }
120 121
121 // HACK: add red, green and blue axis at (1,1,1)122 // HACK: add red, green and blue axis at (1,1,1)
122 _animDebugDrawData->_vertexBuffer->resize(sizeof(Vertex) * 6);123 _animDebugDrawData->_vertexBuffer->resize(sizeof(AnimDebugDrawData::Vertex) * 6);
123 124
124 static std::vector<Vertex> vertices({ 125 static std::vector<AnimDebugDrawData::Vertex> vertices({
125 Vertex { glm::vec3(1.0, 1.0f, 1.0f), toRGBA(255, 0, 0, 255) },126 AnimDebugDrawData::Vertex { glm::vec3(1.0, 1.0f, 1.0f), toRGBA(255, 0, 0, 255) },
126 Vertex { glm::vec3(2.0, 1.0f, 1.0f), toRGBA(255, 0, 0, 255) },127 AnimDebugDrawData::Vertex { glm::vec3(2.0, 1.0f, 1.0f), toRGBA(255, 0, 0, 255) },
127 Vertex { glm::vec3(1.0, 1.0f, 1.0f), toRGBA(0, 255, 0, 255) },128 AnimDebugDrawData::Vertex { glm::vec3(1.0, 1.0f, 1.0f), toRGBA(0, 255, 0, 255) },
128 Vertex { glm::vec3(1.0, 2.0f, 1.0f), toRGBA(0, 255, 0, 255) },129 AnimDebugDrawData::Vertex { glm::vec3(1.0, 2.0f, 1.0f), toRGBA(0, 255, 0, 255) },
129 Vertex { glm::vec3(1.0, 1.0f, 1.0f), toRGBA(0, 0, 255, 255) },130 AnimDebugDrawData::Vertex { glm::vec3(1.0, 1.0f, 1.0f), toRGBA(0, 0, 255, 255) },
130 Vertex { glm::vec3(1.0, 1.0f, 2.0f), toRGBA(0, 0, 255, 255) },131 AnimDebugDrawData::Vertex { glm::vec3(1.0, 1.0f, 2.0f), toRGBA(0, 0, 255, 255) },
131 });132 });
132 static std::vector<uint16_t> indices({ 0, 1, 2, 3, 4, 5 });133 static std::vector<uint16_t> indices({ 0, 1, 2, 3, 4, 5 });
133 _animDebugDrawData->_vertexBuffer->setSubData<Vertex>(0, vertices);134 _animDebugDrawData->_vertexBuffer->setSubData<AnimDebugDrawData::Vertex>(0, vertices);
134 _animDebugDrawData->_indexBuffer->setSubData<uint16_t>(0, indices);135 _animDebugDrawData->_indexBuffer->setSubData<uint16_t>(0, indices);
135}136}
136 137
@@ -161,7 +162,7 @@ static const uint32_t blue = toRGBA(0, 0, 255, 255); · 24 unmodified lines
161 162
162const int NUM_CIRCLE_SLICES = 24;163const int NUM_CIRCLE_SLICES = 24;
163 164
164static void addBone(const AnimPose& rootPose, const AnimPose& pose, float radius, Vertex*& v) {165static void addBone(const AnimPose& rootPose, const AnimPose& pose, float radius, AnimDebugDrawData::Vertex*& v) {
165 166
166 const float XYZ_AXIS_LENGTH = radius * 4.0f;167 const float XYZ_AXIS_LENGTH = radius * 4.0f;
167 168
@@ -236,7 +237,7 @@ static void addBone(const AnimPose& rootPose, const AnimPose& pose, float radius · 68 unmodified lines
236}237}
237 238
238static void addLink(const AnimPose& rootPose, const AnimPose& pose, const AnimPose& parentPose,239static void addLink(const AnimPose& rootPose, const AnimPose& pose, const AnimPose& parentPose,
239 float radius, const glm::vec4& colorVec, Vertex*& v) {240 float radius, const glm::vec4& colorVec, AnimDebugDrawData::Vertex*& v) {
240 241
241 uint32_t color = toRGBA(colorVec);242 uint32_t color = toRGBA(colorVec);
242 243
@@ -298,7 +299,7 @@ static void addLink(const AnimPose& rootPose, const AnimPose& pose, const AnimPo · 55 unmodified lines
298 }299 }
299}300}
300 301
301static void addLine(const glm::vec3& start, const glm::vec3& end, const glm::vec4& color, Vertex*& v) {302static void addLine(const glm::vec3& start, const glm::vec3& end, const glm::vec4& color, AnimDebugDrawData::Vertex*& v) {
302 uint32_t colorInt = toRGBA(color);303 uint32_t colorInt = toRGBA(color);
303 v->pos = start;304 v->pos = start;
304 v->rgba = colorInt;305 v->rgba = colorInt;
@@ -347,10 +348,10 @@ void AnimDebugDraw::update() { · 42 unmodified lines
347 numVerts += (int)DebugDraw::getInstance().getRays().size() * VERTICES_PER_RAY;348 numVerts += (int)DebugDraw::getInstance().getRays().size() * VERTICES_PER_RAY;
348 349
349 // allocate verts!350 // allocate verts!
350 std::vector<Vertex> vertices;351 std::vector<AnimDebugDrawData::Vertex> vertices;
351 vertices.resize(numVerts);352 vertices.resize(numVerts);
352 //Vertex* verts = (Vertex*)data._vertexBuffer->editData();353 //Vertex* verts = (Vertex*)data._vertexBuffer->editData();
353 Vertex* v = nullptr;354 AnimDebugDrawData::Vertex* v = nullptr;
354 if (numVerts) {355 if (numVerts) {
355 v = &vertices[0];356 v = &vertices[0];
356 }357 }
@@ -403,8 +404,8 @@ void AnimDebugDraw::update() { · 46 unmodified lines
403 }404 }
404 DebugDraw::getInstance().clearRays();405 DebugDraw::getInstance().clearRays();
405 406
406 data._vertexBuffer->resize(sizeof(Vertex) * numVerts);407 data._vertexBuffer->resize(sizeof(AnimDebugDrawData::Vertex) * numVerts);
407 data._vertexBuffer->setSubData<Vertex>(0, vertices);408 data._vertexBuffer->setSubData<AnimDebugDrawData::Vertex>(0, vertices);
408 409
409 assert((!numVerts && !v) || (numVerts == (v - &vertices[0])));410 assert((!numVerts && !v) || (numVerts == (v - &vertices[0])));
410 411