Removing the cubes.

Since the current geometry generator uses well defined mathematical shapes to generate the voxels that make up the geometry, ho possible/desireable is it to skip the voxel step entirely, and just generate the surfaces directly, from the superelipsoids, rather than from the voxels?

Comments

  • edited November 2014
    I think for some things, generating surfaces would make sense. Are you talking about storing those surfaces in non-voxelly form as well?

    I can't speak to performance improvements, especially since the engine is in a rather early stage. Though Gavan mentioned recently that there may be some benefit to using triangles instead of voxels (and voxels instead of polygons):
    gavanw said:

    The interesting thing about rendering as points is that there are far fewer vertex transforms to do (and you also can ignore the triangle shader stage, although from what I gather on some hardware it is actually slower to not use triangles). Also, becomes far more efficient when voxels are smaller than a pixel in the rendered image. I have an idea of how to fill the gaps using just points, will see if it works at some point.

    Edit: Gavan is referring to rendering voxels as points instead of the current method (which I assume would require triangles?). So I'm not sure I've answered your question, sorry. :)
  • edited November 2014
    This is an interesting question. I guess only Gavan can give the final answer (although I think it'll be too much changes for the engine).
    However it reminds me of an voxel engine I saw : far landscape was rendered with similar techniques Gavan is using allowing lots of details, but close up details were rendered as meshes (triangles) allowing to remove the "cubic" aspect for close-ups.

  • Japa said:

    Since the current geometry generator uses well defined mathematical shapes to generate the voxels that make up the geometry, ho possible/desireable is it to skip the voxel step entirely, and just generate the surfaces directly, from the superelipsoids, rather than from the voxels?

    Good question -

    The main concern is about generating normals properly, in addition to internal materials. Once you destroy one of these superellipsoid objects (or have complex pieces like intersection holes created by windows, calculating normals becomes a nightmare. It is very easy with voxels, as is additional destruction. In a sense, the granularity of voxels provides a simpler framework to calculate things around, at the cost of being more discrete (i.e. in terms of voxel resolution).
  • Basically, possible, but you'd need a totally ingenious algorithm. Yes?
  • Clement said:

    This is an interesting question. I guess only Gavan can give the final answer (although I think it'll be too much changes for the engine).
    However it reminds me of an voxel engine I saw : far landscape was rendered with similar techniques Gavan is using allowing lots of details, but close up details were rendered as meshes (triangles) allowing to remove the "cubic" aspect for close-ups.

    I've done something like this before, results can be seen here:

    image

    More pictures from that set can be found here:
    http://www.gavanw.com/screenshots.html

  • Talvieno said:

    Basically, possible, but you'd need a totally ingenious algorithm. Yes?

    Its been done in some solid modeling programs, but it is far from the scope of something I would tackle. :)

Sign In or Register to comment.