#include "../SpuDoubleBuffer.h"
#include "BulletCollision/BroadphaseCollision/btBroadphaseProxy.h"
#include "BulletCollision/CollisionShapes/btConvexInternalShape.h"
#include "BulletCollision/CollisionShapes/btCylinderShape.h"
#include "BulletCollision/CollisionShapes/btStaticPlaneShape.h"
#include "BulletCollision/CollisionShapes/btOptimizedBvh.h"
#include "BulletCollision/CollisionShapes/btTriangleIndexVertexArray.h"
#include "BulletCollision/CollisionShapes/btSphereShape.h"
#include "BulletCollision/CollisionShapes/btCapsuleShape.h"
#include "BulletCollision/CollisionShapes/btConvexShape.h"
#include "BulletCollision/CollisionShapes/btBvhTriangleMeshShape.h"
#include "BulletCollision/CollisionShapes/btConvexHullShape.h"
#include "BulletCollision/CollisionShapes/btCompoundShape.h"
#include "../SpuDoubleBuffer.h"
Go to the source code of this file.
Classes | |
struct | SpuConvexPolyhedronVertexData |
struct | CollisionShape_LocalStoreMemory |
struct | CompoundShape_LocalStoreMemory |
struct | bvhMeshShape_LocalStoreMemory |
Defines | |
#define | MAX_NUM_SPU_CONVEX_POINTS 128 |
#define | MAX_SPU_COMPOUND_SUBSHAPES 16 |
#define | MAX_SHAPE_SIZE 256 |
#define | MAX_SPU_SUBTREE_HEADERS 32 |
#define | USE_BRANCHFREE_TEST 1 |
Functions | |
void | computeAabb (btVector3 &aabbMin, btVector3 &aabbMax, btConvexInternalShape *convexShape, ppu_address_t convexShapePtr, int shapeType, const btTransform &xform) |
not supported on IBM SDK, until we fix the alignment of btVector3 | |
void | dmaBvhShapeData (bvhMeshShape_LocalStoreMemory *bvhMeshShape, btBvhTriangleMeshShape *triMeshShape) |
void | dmaBvhIndexedMesh (btIndexedMesh *IndexMesh, IndexedMeshArray &indexArray, int index, uint32_t dmaTag) |
void | dmaBvhSubTreeHeaders (btBvhSubtreeInfo *subTreeHeaders, ppu_address_t subTreePtr, int batchSize, uint32_t dmaTag) |
void | dmaBvhSubTreeNodes (btQuantizedBvhNode *nodes, const btBvhSubtreeInfo &subtree, QuantizedNodeArray &nodeArray, int dmaTag) |
int | getShapeTypeSize (int shapeType) |
getShapeTypeSize could easily be optimized, but it is not likely a bottleneck | |
void | dmaConvexVertexData (SpuConvexPolyhedronVertexData *convexVertexData, btConvexHullShape *convexShapeSPU) |
void | dmaCollisionShape (void *collisionShapeLocation, ppu_address_t collisionShapePtr, uint32_t dmaTag, int shapeType) |
void | dmaCompoundShapeInfo (CompoundShape_LocalStoreMemory *compoundShapeLocation, btCompoundShape *spuCompoundShape, uint32_t dmaTag) |
void | dmaCompoundSubShapes (CompoundShape_LocalStoreMemory *compoundShapeLocation, btCompoundShape *spuCompoundShape, uint32_t dmaTag) |
unsigned int | spuTestQuantizedAabbAgainstQuantizedAabb (unsigned short int *aabbMin1, unsigned short int *aabbMax1, const unsigned short int *aabbMin2, const unsigned short int *aabbMax2) |
void | spuWalkStacklessQuantizedTree (btNodeOverlapCallback *nodeCallback, unsigned short int *quantizedQueryAabbMin, unsigned short int *quantizedQueryAabbMax, const btQuantizedBvhNode *rootNode, int startNodeIndex, int endNodeIndex) |
#define MAX_NUM_SPU_CONVEX_POINTS 128 |
Definition at line 36 of file SpuCollisionShapes.h.
#define MAX_SHAPE_SIZE 256 |
Definition at line 38 of file SpuCollisionShapes.h.
#define MAX_SPU_COMPOUND_SUBSHAPES 16 |
Definition at line 37 of file SpuCollisionShapes.h.
#define MAX_SPU_SUBTREE_HEADERS 32 |
Definition at line 77 of file SpuCollisionShapes.h.
#define USE_BRANCHFREE_TEST 1 |
Definition at line 97 of file SpuCollisionShapes.h.
void computeAabb | ( | btVector3 & | aabbMin, | |
btVector3 & | aabbMax, | |||
btConvexInternalShape * | convexShape, | |||
ppu_address_t | convexShapePtr, | |||
int | shapeType, | |||
const btTransform & | xform | |||
) |
not supported on IBM SDK, until we fix the alignment of btVector3
Definition at line 32 of file SpuCollisionShapes.cpp.
void dmaBvhIndexedMesh | ( | btIndexedMesh * | IndexMesh, | |
IndexedMeshArray & | indexArray, | |||
int | index, | |||
uint32_t | dmaTag | |||
) |
Definition at line 134 of file SpuCollisionShapes.cpp.
void dmaBvhShapeData | ( | bvhMeshShape_LocalStoreMemory * | bvhMeshShape, | |
btBvhTriangleMeshShape * | triMeshShape | |||
) |
now DMA over the BVH
Definition at line 107 of file SpuCollisionShapes.cpp.
void dmaBvhSubTreeHeaders | ( | btBvhSubtreeInfo * | subTreeHeaders, | |
ppu_address_t | subTreePtr, | |||
int | batchSize, | |||
uint32_t | dmaTag | |||
) |
Definition at line 140 of file SpuCollisionShapes.cpp.
void dmaBvhSubTreeNodes | ( | btQuantizedBvhNode * | nodes, | |
const btBvhSubtreeInfo & | subtree, | |||
QuantizedNodeArray & | nodeArray, | |||
int | dmaTag | |||
) |
Definition at line 145 of file SpuCollisionShapes.cpp.
void dmaCollisionShape | ( | void * | collisionShapeLocation, | |
ppu_address_t | collisionShapePtr, | |||
uint32_t | dmaTag, | |||
int | shapeType | |||
) |
Definition at line 230 of file SpuCollisionShapes.cpp.
void dmaCompoundShapeInfo | ( | CompoundShape_LocalStoreMemory * | compoundShapeLocation, | |
btCompoundShape * | spuCompoundShape, | |||
uint32_t | dmaTag | |||
) |
Definition at line 238 of file SpuCollisionShapes.cpp.
void dmaCompoundSubShapes | ( | CompoundShape_LocalStoreMemory * | compoundShapeLocation, | |
btCompoundShape * | spuCompoundShape, | |||
uint32_t | dmaTag | |||
) |
Definition at line 248 of file SpuCollisionShapes.cpp.
void dmaConvexVertexData | ( | SpuConvexPolyhedronVertexData * | convexVertexData, | |
btConvexHullShape * | convexShapeSPU | |||
) |
Definition at line 215 of file SpuCollisionShapes.cpp.
int getShapeTypeSize | ( | int | shapeType | ) |
getShapeTypeSize could easily be optimized, but it is not likely a bottleneck
Definition at line 151 of file SpuCollisionShapes.cpp.
unsigned int spuTestQuantizedAabbAgainstQuantizedAabb | ( | unsigned short int * | aabbMin1, | |
unsigned short int * | aabbMax1, | |||
const unsigned short int * | aabbMin2, | |||
const unsigned short int * | aabbMax2 | |||
) | [inline] |
Definition at line 99 of file SpuCollisionShapes.h.
void spuWalkStacklessQuantizedTree | ( | btNodeOverlapCallback * | nodeCallback, | |
unsigned short int * | quantizedQueryAabbMin, | |||
unsigned short int * | quantizedQueryAabbMax, | |||
const btQuantizedBvhNode * | rootNode, | |||
int | startNodeIndex, | |||
int | endNodeIndex | |||
) |
Definition at line 261 of file SpuCollisionShapes.cpp.