Jump to content
  • Advertisement


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

Shadow Mint

Voxel Rendering

This topic is 6299 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I''m looking for an efficient algorithm to render a series of voxels. By render I mean, literally, render, as in Draw-on-the-screen. The voxel I''m using is NOT a height map, it''s a (large) series of points in 3D space, each with their own RGBA value (represented by a really long 1D array of values, an x scale length, y scan length and z scan length). I''ve thought a bit about the problem, and I''m not sure what direction to take for the solution; So far I''ve come up with defining a sphere around the cube containing the voxel, and having a "view window", defined by the angle of elevation from the center of the sphere up, and the angle of rotation from the center of sphere around. From this I generate a plane based on the tanjent to the to sphere surface of dimensions x * y pixels. Now what I want to know is how to map the contents of the voxel onto that plane. I''m considering either some kind of matrix tranformation to map linearly map the pixels (X,Y,Z) to the plane (X, Y), but that means running the transformation on every element of voxel (and as the voxel gets big, that becomes a real chore). Especially since I can''t see any way of optimizing the process to ignore multiple pixels which will map to the same 2D coordinate. Does any have any better ideas on how to do this? I''ve heard you can (somehow) use ray tracing algorithms to render a voxel like this, but I''m dubious it won''t be even more ineffecient. Any thoughts on the matter welcome! I couldn''t find a great deal of info on this anywhere...

Share this post

Link to post
Share on other sites
Guest Anonymous Poster
This is usually solved by billbording in OGL or D3D.
(flat-shaded billbords)

Share this post

Link to post
Share on other sites

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!