Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - javamak

Pages: [1]
1
Hello,

I am do some 2D drawing in bottom of the screen so trying to convert the 2D position into 3D using reproject2D3DWS method and doing some calculations and converting back into 2D using project3D2D method. But I always get the returned 2D values around the middle of the screen.

here is a sample code to reproduce it.

System.out.println("X:"+e.getX() +",Y:"+e.getY());
      SimpleVector v = Interact2D.reproject2D3DWS(jpctPanel.getWorld().getCamera(), jpctPanel.getBuffer(),
            e.getX(), e.getY()).normalize();
      System.out.println(Interact2D.project3D2D(jpctPanel.getCamera(), jpctPanel.getBuffer(), v));

Mouse coord: X:420,Y:458
Output of above code: (904.2925,487.36615,0.0047869836)

X:1480,Y:402
(909.04944,487.11993,0.0047874274)

any help.

Thanks.

2
Support / getting Indexbuffer from Object 3d
« on: December 16, 2015, 04:25:01 pm »
Hello,

I am trying to create a TriangleIndexVertexArray Object from Object3D for GImpactMeshShape (JBullet intergration). How do I get the IndexBuffer? The below code works for BvhTriangleMeshShape but GImpactMeshShape  throws IndexOutOfBoundsException. calculating the indexBuffer is the problem. Please help.

Code: [Select]
private static TriangleIndexVertexArray createIndexVertexArray(Object3D obj) {
RigidObject ro = RigidObjectManager.getInstance().getRigidObject(obj.getName());

int numTriangles = obj.getMesh().getTriangleCount();
int numVertices = obj.getMesh().getVertexCount();
// int numVertices = obj.getMesh().getUniqueVertexCount();
//4 represents Byte size of Integer
ByteBuffer indexBuffer = BufferUtils.createByteBuffer(numVertices * 4).order(ByteOrder.nativeOrder());
for (int i=0; i<numTriangles; i++) {

indexBuffer.putInt(i);
indexBuffer.putInt(i);
indexBuffer.putInt(i);
}

ByteBuffer vertexBuffer = BufferUtils.createByteBuffer(numVertices * 4).order(ByteOrder.nativeOrder());
vertexBuffer.clear();

SimpleVector[] vertices = ro.getvController().getSourceMesh();
for (int i = 0; i < vertices.length; i++) {
vertexBuffer.putFloat(vertices[i].x);
vertexBuffer.putFloat(vertices[i].y);
vertexBuffer.putFloat(vertices[i].z);
}
vertexBuffer.rewind();
indexBuffer.rewind();

TriangleIndexVertexArray vertexArray = new TriangleIndexVertexArray(numTriangles, indexBuffer, 3*4, obj.getMesh().getVertexCount(), vertexBuffer, 3*4);
return vertexArray;
}

Thanks.

3
Support / calcMinDistance returns 1.0E12
« on: November 24, 2015, 12:35:31 pm »
Hello,

I am new to the forum and new to 3D programming as well. Trying to get good understanding of JPCT. What is wrong with the below code.

Code: [Select]
float distance = world.calcMinDistance(cam.getPosition(), obj.getTransformedCenter(), 10000 );
The obj is a cube and visible on screen.
Cam position = (0.0,0.0,-170.0)
ob center = (-3.973643E-8,0.0,0.0)

Thanks.

Pages: [1]