Sign in to follow this  
q3805508

problems of designing a Real-Time Collision Detection System

Recommended Posts

(I am not an English speaker,I hope you can understand my words)
I am designing my Collision Detection System for my Engine and I got some problems. First I think it is OK to detect Object-Object collision by just test if their Bounding Volume(AABB in my engine) collide,but it is not enough for Ray-Object case.When I want some more accurate results I have to lock the vertex buffer and index buffer of the geometry and test all triangles against the ray in object space.I am been told that locking the buffer of rendering geometry is inefficent so I want to find some way to get more approximate results for ray-object collision but not to lock the buffer of the geometry.Maybe I should use tighter bounding volume like k-DOP and convex hull but I think It didn't work well when the geometry is very concave.
I will be very grateful if you can give me some suggestions.

Share this post


Link to post
Share on other sites
You should maintain a copy of the mesh in memory for collision detection so that you do not have to lock the vertex buffer each frame. It is actually quite common to use different meshes for collision and rendering. The rendering mesh should be very detailed and also contains some visual only elements while the mesh used for collision is usually much simpler so that the collision detection calculation is faster.

Share this post


Link to post
Share on other sites
[quote name='apatriarca' timestamp='1342950183' post='4961902']
You should maintain a copy of the mesh in memory for collision detection so that you do not have to lock the vertex buffer each frame. It is actually quite common to use different meshes for collision and rendering. The rendering mesh should be very detailed and also contains some visual only elements while the mesh used for collision is usually much simpler so that the collision detection calculation is faster.
[/quote]
Thank you very much
It sounds like a good solution.
(I can't find "reply" button so I clicked "report" button by mistake I hope it will not get you into trouble ,sorry for that)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this