Use the kF_UseGjkConvexCastRaytest for more accurate picking

fix upAxis in some demos
This commit is contained in:
erwincoumans
2018-10-27 11:38:38 -07:00
parent a44df2b0a6
commit bdda7af8d7
4 changed files with 6 additions and 3 deletions

View File

@@ -13,10 +13,10 @@ struct DrawGridData
int upAxis;
float gridColor[4];
DrawGridData(int upAxis = 1)
DrawGridData(int upAx = 1)
: gridSize(10),
upOffset(0.001f),
upAxis(upAxis)
upAxis(upAx)
{
gridColor[0] = 0.6f;
gridColor[1] = 0.6f;

View File

@@ -10,6 +10,7 @@
#include "CommonGraphicsAppInterface.h"
#include "CommonWindowInterface.h"
#include "BulletCollision/NarrowPhaseCollision/btRaycastCallback.h"
struct CommonRigidBodyBase : public CommonExampleInterface
{
@@ -317,6 +318,7 @@ struct CommonRigidBodyBase : public CommonExampleInterface
btCollisionWorld::ClosestRayResultCallback rayCallback(rayFromWorld, rayToWorld);
rayCallback.m_flags |= btTriangleRaycastCallback::kF_UseGjkConvexCastRaytest;
m_dynamicsWorld->rayTest(rayFromWorld, rayToWorld, rayCallback);
if (rayCallback.hasHit())
{

View File

@@ -78,7 +78,7 @@ struct SimpleInternalData
m_ffmpegFile(0),
m_renderTexture(0),
m_userPointer(0),
m_upAxis(0),
m_upAxis(1),
m_customViewPortWidth(-1),
m_customViewPortHeight(-1)
{

View File

@@ -10753,6 +10753,7 @@ bool PhysicsServerCommandProcessor::pickBody(const btVector3& rayFromWorld, cons
//btCollisionWorld::ClosestRayResultCallback rayCallback(rayFromWorld, rayToWorld);
MyResultCallback rayCallback(rayFromWorld, rayToWorld);
rayCallback.m_flags |= btTriangleRaycastCallback::kF_UseGjkConvexCastRaytest;
m_data->m_dynamicsWorld->rayTest(rayFromWorld, rayToWorld, rayCallback);
if (rayCallback.hasHit())
{