Horde3D
http://horde3d.org/forums/

Simple Cylinder Characters
http://horde3d.org/forums/viewtopic.php?f=2&t=706
Page 1 of 1

Author:  johnoriginal [ 18.04.2009, 21:35 ]
Post subject:  Simple Cylinder Characters

Hi everybody,
I am a new user of Horde3D. My goal is to basically use it as a visualizer tool for some projects that I am working on. Anyway, the past couple days I managed to smoothly import several maya scenes into the engine, as well as integrate my existing code. The problem is that for testing purposes I would like to visualize characters using just simple colored cylinders. I know that I can import a cylinder with a proper colored texture map, or use opengl functions to draw it, but is there any other option?
Thnx

Author:  marciano [ 18.04.2009, 22:41 ]
Post subject:  Re: Simple Cylinder Characters

Hi, great to hear that porting your project over to Horde went smooth so far.

The functionality for quickly drawing geometry for debugging purposes is something I have already thought about. We plan to add some function drawDebugGeometry that just takes a list of vertex positions and renders them as triangles with a specified color. Unfortunately this feature is still on the TODO list and I can't tell you when exactly we will find the time to implement it.

Author:  johnoriginal [ 19.04.2009, 13:06 ]
Post subject:  Re: Simple Cylinder Characters

Thanks marciano for your reply. I agree that this would be a nice add-on feature for a future release.

Author:  attila [ 11.05.2009, 21:00 ]
Post subject:  Re: Simple Cylinder Characters

I have a similar problem. I would like to render some dynamic geometry, like HP bars above the character, lightning/electric discharge, breakable objects, cloth, rope and soft bodies. I think a dynamic geometry resource could solve this problem.
Most of these problems could be solved only modifying vertex data, but I don't know the OpenGL VBO interface too well, so i don't know the performance implications.

In D3D9 you have static-managed(shouldn't be modified), dynamic-discard-overwrite(for particle and similar stuffz), default-pool-nondynamic(you can modify it once per frame without performance problems). AFAICS OpenGL have something similar with VBO's stream, static, dynamic.

So I think the two alternatives are to use dynamic buffer and update it when needed
or store the vertex data in system memory and render it as stream. Both of these could be done by adding set*** interfaces to the geometry resource.

Any better alternatives?

Author:  marciano [ 12.05.2009, 20:42 ]
Post subject:  Re: Simple Cylinder Characters

@attila: Yeah, we definitely need a convenient way to render dynamic geometry. VBO updates in OpenGL are working at acceptable performance (we already use them for morphing and software skinning). It is only that glMapBuffer which is the equivalent to the D3D buffer mapping is less efficient but using glBufferData should be ok.

Dynamic updates always require special care. If a buffer that should be updated is still referenced in the GPU push buffer, then a stall will be introduced since the driver needs to wait until the current buffer data is no more required.

Good read:
Using Vertex Buffer Objects (VBOs)

Page 1 of 1 All times are UTC + 1 hour
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/