Archived

This topic is now archived and is closed to further replies.

Zer

Fitting vertex blending into an object hierarchy!

Recommended Posts

Hello! Presently my scene hierarchy is a hierarchical quadruply linked list (up, down, left, right) since it basically makes cleanup easier etc. Anyhow, I realize it''s easy to have an object hierarchy work if I don''t want to blend between certain matrices, but I''d like to make it so torches can have particle systems coming out of the top of them and the like, right? Great, great, no problem at all. But here''s the problem. What am I supposed to do about areas where I''d like multiple matrices to be blending between eachother instead of transforms using only 1 matrix? How am I supposed to fix them into my object hierarchy? They don''t seem like they''d fit anywhere at all, really. Also, is there a more efficient way for doing what I am thinking of: 1) Scene class derived from linked list class''s object derivation. 2) Texture manager, particle manager, surface manager and vertex buffer manager classes all derived from a ''repository'' derivation of my linked list class which has quick access into 64 linked list classes and uses them for hashing. 3) I call scene->draw(camera) and it passes it to everything below it to pipeline buffers, wherein the various draw routines call commands to add things to the pipeline buffers, and the pipeline add routine separates said requests into the appropriate passes. 4) Pipeline buffers, now all filled up with data, Z-sort (I figure for future use this''ll make more sense, as opposed to sorting by texture state etc., but this is up for grabs) front to back, and the alpha ones from back to front, calling the surface manager to set up the surface info which calls the texture manager, blah blah blah...then the vertex buffer manager is called to request a specific frame of animation which it then calls DrawIndexedPrimitive on. 5) I''m thinking of keeping text and particles separate from the main pipe, I may make a ''loose polygons'' one for it. Anyone have any comments on this? Good/bad method? Any experience you can share in this area? Also, one thing that really bugs me is that I have to update the whole vertex buffer (at least if I don''t have access to multiple streams, as is the case with pre-DX8 hardware, read: everything) if I only want to change the texture coordinates. Or make a whole new one if I want a different amount of textures. Is there any way to get around this stupidity?

Share this post


Link to post
Share on other sites