Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.games.development.design > #107
| From | "Skybuck Flying" <Windows7IsOK@DreamPC2006.com> |
|---|---|
| Newsgroups | alt.comp.lang.borland-delphi, alt.comp.periphs.videocards.nvidia.programming, comp.games.development.design, comp.graphics.algorithms |
| Subject | Combining 6 height fields to describe a volume |
| Date | 2011-12-26 10:27 +0100 |
| Message-ID | <8b14e$4ef83dfd$5419acc3$24851@cache70.multikabel.net> (permalink) |
| Organization | Ziggo |
Cross-posted to 4 groups.
Hello, To save memory requirements and also some computation requirements the following idea could be interesting: Instead of describing a volume with voxels in full 3D, instead 6 height fields are used. The volume is like a box/cube, it has 6 sides. Each side receives a height field. This reminds me a little bit of the Terminator 2 technique were cube mapping was used to make the terminator shiny (?!?). Instead the height fields describe from their perspective/side how deep the first voxel is. By combining 6 height fields and applieing some logic it should be possible to determine if a voxel is present or not at a certain coordinate by simplieing examining all 6 height fields. The height fields work or could work like "boolean operations". If any of the height fields "overrule" the others than that's what happens, it gets overruled. For example the rule could be: if one of the six height fields indicates that the voxel is empty/hull/transparent then that's what it should be, it overrules all others. By coming these 6 height fields the volume could also have some gaps here and there, so it doesn't necessarily have to be a shell only. For visualization purposes these height fields could also be overlayed with texture fields/maps. For example if the height fields/volume is turned/visualized into 3D boxes/pixels/voxels then each voxel/box's side could receive a color from one of the height fields. Additional logic could be used to indicate if a certain height field is to be used yes or no. For example the back and the front height/texture fields could be used for front and back panel of the box. Depending on surrounding voxels or logic a certain choice could be made to make it more visually pleasing and could be experimented with. Also some smoothing of voxels/boxes could occur if they are within a certain color range which could be considered part of the same material/sub object, perhaps even normals could be calculated from it to smooth it even further. A special c/c++ or delphi oo class could be made which simply queries the object/volume to know if a certain coordinate has a voxel yes or no and what it's color could be. To the user the object appears as if it was a volume, but inside it simply queries the height fields + some logic to come to a conclusion/decision. I myself don't really have a good working ray tracing engine or volume rendering engine, so these ideas have little value to me but they could be interesting to others. I'm also quite tired *sigh* and might not have the energy or time to spent on researching this further, but perhaps this idea could inspire others to give it a try. Perhaps I might try myself as well ;) The hope is that this might bring "volume rendering" for games a step closer ;) Bye, Skybuck.
Back to comp.games.development.design | Previous | Next — Next in thread | Find similar
Combining 6 height fields to describe a volume "Skybuck Flying" <Windows7IsOK@DreamPC2006.com> - 2011-12-26 10:27 +0100
Re: Combining 6 height fields to describe a volume "Skybuck Flying" <Windows7IsOK@DreamPC2006.com> - 2011-12-26 11:11 +0100
Re: Combining 6 height fields to describe a volume Nicolas Bonneel <nicolas.bonneel@wwwwwwwwanadoo.fr> - 2011-12-26 15:18 +0100
Re: Combining 6 height fields to describe a volume "Skybuck Flying" <Windows7IsOK@DreamPC2006.com> - 2011-12-26 17:03 +0100
csiph-web