POV-Ray : Newsgroups : povray.programming : Isosurface-to-mesh : Re: Isosurface-to-mesh Server Time
28 Jul 2024 20:29:29 EDT (-0400)
  Re: Isosurface-to-mesh  
From: TonyB
Date: 22 Jul 1999 18:51:48
Message: <3797923D.B8CB86D3@panama.phoenix.net>
> Currently the isosurface renders slowly.  I have a proposition:
> Could we make a new object, maybe named iso_mesh, which looks exactly the
> same as an isosurface in POV code, but is transformed to a mesh (via
> marching cubes) before rendering?  This could potentially greatly

Yes, I'm sure you could. And should. I see the future of POV depending on
triangles. If you don't start making objects out of triangles you'll never
take POV as far as the bigger packages (unless you don't mind making the
rendering time longer, which I don't like).

> speed up the rendering of an isosurface (of course, at the cost of image
> quality and memory usage).  I'll maybe work on it eventually, but I'm so

Of course it will use more memory, but I don't think the quality of the image
will suffer. If you do it like bicubic patches do it, then it won't be
noticeable, unless too low a UV setting is used.

> busy with other projects that it would be a long time before I could get
> started, and by then maybe something more interesting would have come up
> and I'd forget about it.  Thoughts?  Anyone interested in trying it?

It definitely needs to be done. I propose a new syntax for objects to be made
effective in version 5.0 (seeing as version 3.5 is just an official
superpatch, and 4.0 is just a c++ rewrite). My suggested syntax is as
follows:

(example)

[before]
sphere {location, radius[, strength] texture}

[new syntax]
sphere
{
 location, radius[, strength] texture
 triangles on smoothen on
 resolution N (or) resolution <x,y,z>
}

These three new commands would be made available to all pov objects. The
'triangles on' and 'smooth on' would be operated like 'hollow on' and other
similar instructions. The idea is that with 'triangles on' we tell pov to
forget about making the sphere like it used to and make it out of triangles,
using methods like Uwe Zimmerman has implemented. 'smoothen on' should be
self-explanatory. The 'resolution [N]/[<x,y,z>]' is meant to tell pov to make
the object out of N triangles, or to break it down into <x,y,z> pieces (like
Chris Colefax's explode.inc) and figure the triangles from that (I don't know
which option would be better, or if both could be implemented). The idea of
the triangle system is both to decrease rendering times, and to make the 3d
accelaration video cards of use to pov users. Also, this allows for
deformations like bend, twist, vortex, and displacement mapping, and so much
more, without having to do it through the isosurface patch. The benefit of
this being optional is that without the flags set to on, pov proceeds the
older, slower, more precise, less memory-consuming methods that we know and
love today. Please comment on the do-ability of this.

--
Anthony L. Bennett
http://welcome.to/TonyB

Graphics rendered
by the Dreamachine.


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.