fix Linux version of ConstraintDemo
This commit is contained in:
@@ -135,9 +135,10 @@ static const char* solveConstraintRowsCL= \
|
||||
" float4 m_angularComponentA;\n"
|
||||
" float4 m_angularComponentB;\n"
|
||||
" \n"
|
||||
" float4 m_appliedPushImpulse;\n"
|
||||
" float4 m_appliedImpulse;\n"
|
||||
"\n"
|
||||
" float m_appliedPushImpulse;\n"
|
||||
" float m_appliedImpulse;\n"
|
||||
" int m_padding1;\n"
|
||||
" int m_padding2;\n"
|
||||
" float m_friction;\n"
|
||||
" float m_jacDiagABInv;\n"
|
||||
" float m_rhs;\n"
|
||||
@@ -274,27 +275,27 @@ static const char* solveConstraintRowsCL= \
|
||||
"\n"
|
||||
"void resolveSingleConstraintRowGeneric(__global b3GpuSolverBody* body1, __global b3GpuSolverBody* body2, __global b3SolverConstraint* c)\n"
|
||||
"{\n"
|
||||
" float deltaImpulse = c->m_rhs-c->m_appliedImpulse.x*c->m_cfm;\n"
|
||||
" float deltaImpulse = c->m_rhs-c->m_appliedImpulse*c->m_cfm;\n"
|
||||
" float deltaVel1Dotn = dot3F4(c->m_contactNormal,body1->m_deltaLinearVelocity) + dot3F4(c->m_relpos1CrossNormal,body1->m_deltaAngularVelocity);\n"
|
||||
" float deltaVel2Dotn = -dot3F4(c->m_contactNormal,body2->m_deltaLinearVelocity) + dot3F4(c->m_relpos2CrossNormal,body2->m_deltaAngularVelocity);\n"
|
||||
"\n"
|
||||
" deltaImpulse -= deltaVel1Dotn*c->m_jacDiagABInv;\n"
|
||||
" deltaImpulse -= deltaVel2Dotn*c->m_jacDiagABInv;\n"
|
||||
"\n"
|
||||
" float sum = c->m_appliedImpulse.x + deltaImpulse;\n"
|
||||
" float sum = c->m_appliedImpulse + deltaImpulse;\n"
|
||||
" if (sum < c->m_lowerLimit)\n"
|
||||
" {\n"
|
||||
" deltaImpulse = c->m_lowerLimit-c->m_appliedImpulse.x;\n"
|
||||
" c->m_appliedImpulse.x = c->m_lowerLimit;\n"
|
||||
" deltaImpulse = c->m_lowerLimit-c->m_appliedImpulse;\n"
|
||||
" c->m_appliedImpulse = c->m_lowerLimit;\n"
|
||||
" }\n"
|
||||
" else if (sum > c->m_upperLimit) \n"
|
||||
" {\n"
|
||||
" deltaImpulse = c->m_upperLimit-c->m_appliedImpulse.x;\n"
|
||||
" c->m_appliedImpulse.x = c->m_upperLimit;\n"
|
||||
" deltaImpulse = c->m_upperLimit-c->m_appliedImpulse;\n"
|
||||
" c->m_appliedImpulse = c->m_upperLimit;\n"
|
||||
" }\n"
|
||||
" else\n"
|
||||
" {\n"
|
||||
" c->m_appliedImpulse.x = sum;\n"
|
||||
" c->m_appliedImpulse = sum;\n"
|
||||
" }\n"
|
||||
"\n"
|
||||
" internalApplyImpulse(body1,c->m_contactNormal*body1->m_invMass,c->m_angularComponentA,deltaImpulse);\n"
|
||||
@@ -733,4 +734,5 @@ static const char* solveConstraintRowsCL= \
|
||||
" }\n"
|
||||
" }\n"
|
||||
"}\n"
|
||||
"\n"
|
||||
;
|
||||
|
||||
Reference in New Issue
Block a user