내가 NDK (나는 안드로이드에 대한 Vuforia's imagetarget 예를 사용하고 있습니다) 내 안드로이드 프로그램에 총알 물리 엔진을 구현하고, 설정하고 제대로 작동하지만 난/렌더링에 내 충돌 상자 /면을 그릴 싶습니다 내 강체 (btRigidBody)/충돌 셰이프 (btCollisionShape)를 참조하십시오, 나는 이것이 가능하지만, 그것을 할 수있는 방법에 대한 자습서를 찾을 수 없습니다!Bullet Physics 콜리 전 본문/모양을 그리거나 렌더링하는 방법은 무엇입니까?
나는 hello world Bullet physics tutorial on their wiki page 촬영 나는 충돌 몸을 볼 수있는 OpenGL을 ES 2.0에있는 3D 개체로 떨어지는 물리학의 몸에서 변환을 적용하여 수정 한, 여기에 내가 이의를 렌더링하는 데 사용하고있는 코드는 다음과 같습니다
void drawRigidBody(btRigidBody* body,QCAR::Matrix44F modelViewMatrix, unsigned int textureID)
{
btTransform trans;
body->getMotionState()->getWorldTransform(trans);
LOG("sphere pos: (x %f , y %f, z %f)",trans.getOrigin().getX(),trans.getOrigin().getY(),trans.getOrigin().getZ());
float physicsMatrix[16];
trans.getOpenGLMatrix(physicsMatrix);
SampleUtils::scalePoseMatrix(kObjectScale, kObjectScale, kObjectScale,
&modelViewMatrix.data[0]);
QCAR::Matrix44F modelViewProjection, objectMatrix;
SampleUtils::multiplyMatrix(&modelViewMatrix.data[0], physicsMatrix, &objectMatrix.data[0]);
SampleUtils::multiplyMatrix(&projectionMatrix.data[0], &objectMatrix.data[0], &modelViewProjection.data[0]);
glVertexAttribPointer(vertexHandle, 3, GL_FLOAT, GL_FALSE, 0,
(const GLvoid*) &signVerts[0]);
glVertexAttribPointer(normalHandle, 3, GL_FLOAT, GL_FALSE, 0,
(const GLvoid*) &signNormals[0]);
glVertexAttribPointer(textureCoordHandle, 2, GL_FLOAT, GL_FALSE, 0,
(const GLvoid*) &signTexCoords[0]);
glEnableVertexAttribArray(vertexHandle);
glEnableVertexAttribArray(normalHandle);
glEnableVertexAttribArray(textureCoordHandle);
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, textureID);
glUniformMatrix4fv(mvpMatrixHandle, 1, GL_FALSE,
(GLfloat*)&modelViewProjection.data[0]);
glDrawArrays(GL_TRIANGLES, 0, signNumVerts);
}
편집 : btBoxShape의 코드를 찾고 난 당신이 상자 정점 법선 잡아 수 있습니다주의 :
btVector3** vertices= wallShape->getVertices();
btVector3**normals = wallShape->getNormals();
을하지만 당신은 특정의 정점 포인트를 그릴 인덱스의 목록을 잡을 수 없습니다 주문! 내가 올바르게 기억
이 보인다! 불행하게도 내 C++는 내가 NDK 물건에 대한 코드 조각에 의해 점점하지만 난 적절한 C++ 클래스를 작성하는 브러시해야 할거야처럼 보이는 봤는데 (내가 주로 자바 프로그래밍을 한 안드로이드 개발자 인) 녹슨입니다 – AndroidNoob