@@ -56,8 +56,7 @@ static void b2DrawCircle(b2Vec2 center, float radius, b2HexColor color, Box2DTes
56
56
{
57
57
auto ratio = context->getPTMRatio ();
58
58
auto offset = context->getWorldOffset ();
59
- context->AddCircle (CircleData{b2Vec2{center.x * ratio + offset.x , center.y * ratio + offset.y }, radius * ratio,
60
- PhysicsHelper::toColor (color)});
59
+ context->AddCircle (CircleData{PhysicsHelper::toColor (color), b2Vec2{center.x * ratio + offset.x , center.y * ratio + offset.y }, radius * ratio});
61
60
}
62
61
63
62
static void b2DrawSolidCircle (b2Transform t, float radius, b2HexColor color, Box2DTestDebugDrawNode* context)
@@ -67,8 +66,7 @@ static void b2DrawSolidCircle(b2Transform t, float radius, b2HexColor color, Box
67
66
auto ratio = context->getPTMRatio ();
68
67
auto offset = context->getWorldOffset ();
69
68
context->AddCircle ({{t.p .x * ratio + offset.x , t.p .y * ratio + offset.y , t.q .c , t.q .s },
70
- radius * ratio,
71
- PhysicsHelper::toColor (color)});
69
+ PhysicsHelper::toColor (color), radius * ratio});
72
70
}
73
71
74
72
static void b2DrawSolidCapsule (b2Vec2 pt1, b2Vec2 pt2, float radius, b2HexColor c, Box2DTestDebugDrawNode* context)
@@ -94,9 +92,10 @@ static void b2DrawSolidCapsule(b2Vec2 pt1, b2Vec2 pt2, float radius, b2HexColor
94
92
auto rgba = PhysicsHelper::toColor (c);
95
93
96
94
context->AddCapsule ({{transform.p .x + offset.x , transform.p .y + offset.y , transform.q .c , transform.q .s },
95
+ rgba,
97
96
radius * ratio,
98
- length,
99
- rgba });
97
+ length
98
+ });
100
99
}
101
100
102
101
bool Box2DTestDebugDrawNode::initWithWorld (b2WorldId worldId)
@@ -140,12 +139,11 @@ bool Box2DTestDebugDrawNode::initWithWorld(b2WorldId worldId)
140
139
141
140
// instanced attributes
142
141
auto vfmtInstanced = pipelinePS->getMutableVertexLayout (true );
143
- vfmtInstanced->setAttrib (" a_instanceTransform" , program->getAttributeLocation (" a_instancePosition" ),
144
- backend::VertexFormat::FLOAT2, offsetof (CircleData, position), false );
145
- vfmtInstanced->setAttrib (" a_instanceRadius" , program->getAttributeLocation (" a_instanceRadius" ),
146
- backend::VertexFormat::FLOAT, offsetof (CircleData, radius), false );
142
+
147
143
vfmtInstanced->setAttrib (" a_instanceColor" , program->getAttributeLocation (" a_instanceColor" ),
148
144
backend::VertexFormat::FLOAT4, offsetof (CircleData, rgba), false );
145
+ vfmtInstanced->setAttrib (" a_instancePosAndRadius" , program->getAttributeLocation (" a_instancePosAndRadius" ),
146
+ backend::VertexFormat::FLOAT4, offsetof (CircleData, position), false );
149
147
vfmtInstanced->setStride (sizeof (CircleData));
150
148
151
149
cmd.setPrimitiveType (CustomCommand::PrimitiveType::TRIANGLE);
@@ -176,10 +174,10 @@ bool Box2DTestDebugDrawNode::initWithWorld(b2WorldId worldId)
176
174
auto vfmtInstanced = pipelinePS->getMutableVertexLayout (true );
177
175
vfmtInstanced->setAttrib (" a_instanceTransform" , program->getAttributeLocation (" a_instanceTransform" ),
178
176
backend::VertexFormat::FLOAT4, offsetof (SolidCircleData, transform), false );
179
- vfmtInstanced->setAttrib (" a_instanceRadius" , program->getAttributeLocation (" a_instanceRadius" ),
180
- backend::VertexFormat::FLOAT, offsetof (SolidCircleData, radius), false );
181
177
vfmtInstanced->setAttrib (" a_instanceColor" , program->getAttributeLocation (" a_instanceColor" ),
182
178
backend::VertexFormat::FLOAT4, offsetof (SolidCircleData, rgba), false );
179
+ vfmtInstanced->setAttrib (" a_instanceRadius" , program->getAttributeLocation (" a_instanceRadius" ),
180
+ backend::VertexFormat::FLOAT4, offsetof (SolidCircleData, radius), false );
183
181
vfmtInstanced->setStride (sizeof (SolidCircleData));
184
182
185
183
cmd.setPrimitiveType (CustomCommand::PrimitiveType::TRIANGLE);
@@ -210,12 +208,10 @@ bool Box2DTestDebugDrawNode::initWithWorld(b2WorldId worldId)
210
208
auto vfmtInstanced = pipelinePS->getMutableVertexLayout (true );
211
209
vfmtInstanced->setAttrib (" a_instanceTransform" , program->getAttributeLocation (" a_instanceTransform" ),
212
210
backend::VertexFormat::FLOAT4, offsetof (CapsuleData, transform), false );
213
- vfmtInstanced->setAttrib (" a_instanceRadius" , program->getAttributeLocation (" a_instanceRadius" ),
214
- backend::VertexFormat::FLOAT, offsetof (CapsuleData, radius), false );
215
- vfmtInstanced->setAttrib (" a_instanceLength" , program->getAttributeLocation (" a_instanceLength" ),
216
- backend::VertexFormat::FLOAT, offsetof (CapsuleData, length), false );
217
211
vfmtInstanced->setAttrib (" a_instanceColor" , program->getAttributeLocation (" a_instanceColor" ),
218
212
backend::VertexFormat::FLOAT4, offsetof (CapsuleData, rgba), false );
213
+ vfmtInstanced->setAttrib (" a_instanceRadiusAndLength" , program->getAttributeLocation (" a_instanceRadiusAndLength" ),
214
+ backend::VertexFormat::FLOAT4, offsetof (CapsuleData, radius), false );
219
215
vfmtInstanced->setStride (sizeof (CapsuleData));
220
216
221
217
cmd.setPrimitiveType (CustomCommand::PrimitiveType::TRIANGLE);
0 commit comments