4
\$\begingroup\$

I'm interested in applying the following technique:

  • Define game objects using a object definition DSL similar to what you would use for a raytracer (e.g. POVRay)
  • Use a specialised raytracer to sample the shape of the object as a mesh and render a texture/normal map for the object
  • Subsequently use the generated mesh / textures in a 3D game engine as usual

It seems like this technique would be a good way of developing a lot of high quality meshes fairly efficiently, assuming a resoanably expressive object definition DSL.

Has this technique been effectively used anywhere?

\$\endgroup\$
2
  • 1
    \$\begingroup\$ I don't think the ray tracing method would work well. Because such objects can be pathologically concave, you would have to trace rays from every possible point in space in order to properly guess the shape of the mesh. \$\endgroup\$ Commented May 7, 2012 at 10:31
  • \$\begingroup\$ This would likely be very quick for low-resolution voxels (Minecraft). Doing it on the GPU would be a must (either with a geometry shader or a vertex cloud) - as recalculating this each frame would be prohibitive on the CPU. It would come down to measurement though: prototype it and see :). \$\endgroup\$ Commented May 8, 2012 at 10:54

1 Answer 1

1
\$\begingroup\$

What you are looking for might be Marching Cubes to generate the geometry, and that method can be very useful for sampling parametric volumes. The problem is that you might need a very large resolution sampling grid to achieve sufficient surface quality, and you may need to optimize the mesh afterwards regardless to minimize irregularities, see enter image description here for example.

You could have a look at vector field displacement:enter image description here

But without more details about what it is you want to procedurally generate, I don't really know if this would be useful to you or not.

\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .