We are students of Tzu Chi University in Taiwan. We would like to implement
a game like foldit (http://fold.it/portal/), but is simpler.
We want to draw the 3d structure of a protein and let users use mouse to
drag a segment of a protein to change its structure. The distance between
two atoms is fixed, thus the backbone of a protein likes a chain of solid
object. While a segment is dragged, all segments are moved accordingly.
Could someone please tell us how to do it?
how to implement a game like foldit(http://fold.it/portal/)
-
- Posts: 1
- Joined: Thu Mar 15, 2012 3:35 pm
-
- Posts: 49
- Joined: Sun Jan 29, 2012 10:01 pm
Re: how to implement a game like foldit(http://fold.it/porta
Since atoms are quite round, it can be simulated as position based physics on the graphics card with DirectX or OpenGL. The only demanding thing is the serial broad phase to avoid quadratic complexity.
One texture can be used for storing the position of each particle and another texture for velocity. Pixel shaders are then used as functions for generating the midpoint, calculating the forces, applying forces to velocity and moving particles according to velocity.
The game foldit seems to be simpler than that because all closed cycles are one rigid shape.
It looks like they use a skeleton that update from the roots to the leafs every time something is rotated.
One texture can be used for storing the position of each particle and another texture for velocity. Pixel shaders are then used as functions for generating the midpoint, calculating the forces, applying forces to velocity and moving particles according to velocity.
The game foldit seems to be simpler than that because all closed cycles are one rigid shape.
It looks like they use a skeleton that update from the roots to the leafs every time something is rotated.
-
- Posts: 12
- Joined: Tue Feb 28, 2012 7:34 pm
Re: how to implement a game like foldit(http://fold.it/porta
The thing you might need to get used to is a SceneGraph-oriented graphics engines, where any rendering object can be a child of another one so that child's transformations are inherited from parents.
It seems to me that such a structure is not common in Bullet, so maybe you need to find a graphics engine with collision detection features and it can be enough. Maybe I wrong, so I'm looking forward for any next posts.
It seems to me that such a structure is not common in Bullet, so maybe you need to find a graphics engine with collision detection features and it can be enough. Maybe I wrong, so I'm looking forward for any next posts.