POV-Ray : Newsgroups : povray.general : Blobs to mesh conversion? Server Time
29 Jul 2024 16:24:18 EDT (-0400)
  Blobs to mesh conversion? (Message 1 to 10 of 20)  
Goto Latest 10 Messages Next 10 Messages >>>
From: [GDS|Entropy]
Subject: Blobs to mesh conversion?
Date: 10 Dec 2010 20:58:33
Message: <op.vni03ubk0819q0@gdsentropy.nc.rr.com>
Hello,

I think I may perhaps remember various segments of conversation on this  
server over the years relating to the ability to convert a pov object to a  
mesh. I am not sure what happened with that. I remember one version for  
object export, which I care nothing about (save the conversion), and then  
other fragments about just converting regular objects to mesh.

My snow/icicle macro uses blobs; it looks great and parses very quickly.  
However, the blobs render so very, very, VERY slowly with interior of any  
kind, not to mention layered slope based material maps...we are talking  
WEEKS for the torus I posted in p.b.i if I use the high quality  
textures...only minutes for the one I posted. SSS will be used for the  
ultimate 3.7 final release of this...but that is not either here or there  
at this juncture.

What good is wonderful geometry if no one can use high quality textures  
with it?

For the final release I would very much like to follow something close to  
the process below:
1) Parse and create my snow/ice in memory (done)
2) Adaptively convert to mesh object (triangle or quadrangle or whatever  
gives the best results at the best time based on geometry)
3) Only render that mesh object, ignoring completely and garbage  
collecting if possible the original blob object. (even better, GC'ing  
adaptively as each object within an extinction radius is converted to mesh)

I would love to hear any good ideas that have a pov SDL or MathML (I can  
convert that to C#, and then to SDL) starting place. I would be even  
happier with something which already does this that I could just hack to  
suit.

That which follows is a bit of last ditch "brainstorm in the last 2 min"  
conjecture, that I really hope I won't need:
Is it possible to create an array of points and Trace() each to the  
surface of the object, so triangles or what-not are created and a mesh  
object would ultimately result?
Is Trace only viable for objects, and not Types?

Is this something that would require "obtaining" the geometry with an SDL  
raytracer that dumps optimized points to a mesh creation/optimization  
macro? (I really hope not..REALLY hope not..)

Thanks,
Ian

-- 
Using Opera's revolutionary email client: http://www.opera.com/mail/


Post a reply to this message

From: Warp
Subject: Re: Blobs to mesh conversion?
Date: 11 Dec 2010 05:07:45
Message: <4d034d70@news.povray.org>
[GDS|Entropy] <gdsHYentropyAThotmailDTcom> wrote:
> 2) Adaptively convert to mesh object (triangle or quadrangle or whatever  
> gives the best results at the best time based on geometry)

  Tesselation is a hard problem. Blobs are relatively easy to tesselate
(because they are finite and don't contain hard edges), but the tesselation
algorithm itself is non-trivial. The so-called marching triangles algorithm
is probably the best one, so you might search for that (but, as said, be
aware that it's a complicated algorithm). In your case the algorithm will
have to be implemented in POV-Ray SDL.

  You can use the inside() function to determine if a point is inside or
outside an object (eg. your blob) and the trace() function to find the
surface. These can probably be used in the tesselation algorithm.

-- 
                                                          - Warp


Post a reply to this message

From: clipka
Subject: Re: Blobs to mesh conversion?
Date: 11 Dec 2010 15:07:15
Message: <4d03d9f3$1@news.povray.org>
Am 11.12.2010 02:58, schrieb [GDS|Entropy]:

> Is this something that would require "obtaining" the geometry with an
> SDL raytracer that dumps optimized points to a mesh
> creation/optimization macro? (I really hope not..REALLY hope not..)

Normally yes - sorry.

But then again, POV-Ray has super-normal powers ;-)

One option that springs to my mind is to render an animation series of 
"slices" of the object, then use an external tool to trace the outlines 
of the shape in order to create a vertex cloud, and ultimately connect 
them to a mesh. Maybe do some sophisticated cleanup to reduce the vertex 
count where possible. Voila.


Post a reply to this message

From: [GDS|Entropy]
Subject: Re: Blobs to mesh conversion?
Date: 13 Dec 2010 22:17:56
Message: <op.vnoor4ym0819q0@gdsentropy.nc.rr.com>
Ah...man...errrrrgh...

So...a little practical advice would be in order here...

What would be the best course of action "in general"?
1) Create some sort of SDL raytracer which creates a mesh of my object  
 from scratch, so people can use realistic ice/snow textures with SSS and  
interior

or

2) Forget #1 and just perfect what I have, and put a big fat disclaimer  
about using any texture with IOR and filter/transmit, because single  
pixels can take a week or more..

or

3) Somehow find exemplars of macros which raytrace/mesh convert/export so  
I can Frankenstein something half respectable


So long as you do not use any fancy textures, this thing flies...

Given all I have going on I really don't think #1 is very practical if  
starting from absolute scratch.

#2 simply doesn't taste right to me...

Maybe if someone has retained a *good and simple* SDL raytracer sample,  
which I know has been posted at some time, *and* if I someone has a copy  
of a *good and simple* mesh converter, of which I also know exists and has  
been posted, #1 or #3 may become significantly more feasible. #3 looks  
best to me..

I know someone made a mesh object pov converter one time...but I don't  
know where to start in finding it..if I could just get my hands on those  
things previously listed, I know I could hack something together that  
would (probably with some advice from the community) get the job done and  
be re-usable for other macros in at least some capacity.

Does anyone remember the names of the files/who made, the sdl raytracers,  
mesh converters and export utilities I mentioned?

Ian McDonald


On Sat, 11 Dec 2010 15:06:47 -0500, clipka <ano### [at] anonymousorg> wrote:

> Am 11.12.2010 02:58, schrieb [GDS|Entropy]:
>
>> Is this something that would require "obtaining" the geometry with an
>> SDL raytracer that dumps optimized points to a mesh
>> creation/optimization macro? (I really hope not..REALLY hope not..)
>
> Normally yes - sorry.
>
> But then again, POV-Ray has super-normal powers ;-)
>
> One option that springs to my mind is to render an animation series of  
> "slices" of the object, then use an external tool to trace the outlines  
> of the shape in order to create a vertex cloud, and ultimately connect  
> them to a mesh. Maybe do some sophisticated cleanup to reduce the vertex  
> count where possible. Voila.


-- 
Using Opera's revolutionary email client: http://www.opera.com/mail/


Post a reply to this message

From: Chris Cason
Subject: Re: Blobs to mesh conversion?
Date: 13 Dec 2010 22:28:22
Message: <4d06e456@news.povray.org>
On 12/12/2010 07:06, clipka wrote:
> One option that springs to my mind is to render an animation series of 
> "slices" of the object, then use an external tool to trace the outlines 
> of the shape in order to create a vertex cloud, and ultimately connect 
> them to a mesh. Maybe do some sophisticated cleanup to reduce the vertex 
> count where possible. Voila.

The mesh camera with the max_distance setting could be used to probe an
entire blob in a single render. 

  http://wiki.povray.org/content/Documentation:Reference_Section_3#Max_Distance

Of course this doesn't solve the problem of getting the point cloud into
vertexes.


Post a reply to this message

From: Chris Cason
Subject: Re: Blobs to mesh conversion?
Date: 13 Dec 2010 22:36:37
Message: <4d06e645@news.povray.org>
On 11/12/2010 12:58, [GDS|Entropy] wrote:
> What good is wonderful geometry if no one can use high quality textures  
> with it?

are the textures you're using suitable for baking? (I see you are using
interior, so I'm guessing not).

if it seriously would take weeks to render at any reasonable resolution,
then it might be worthwhile for me to run the render in question under a
profiler to see where the time is being spent. however there's no chance of
that happening this year due to the pending release of 3.7.

-- Chris


Post a reply to this message

From: [GDS|Entropy]
Subject: Re: Blobs to mesh conversion?
Date: 13 Dec 2010 23:05:05
Message: <op.vnoqypja0819q0@gdsentropy.nc.rr.com>
Interesting...quite interesting.

I wonder though; no matter the non-blob approach taken, it seems that when  
considering the textures, if one were to have two blobs of differing  
texture they would no longer "mix" as they do with blob objects. If this  
is the case then a lot of the realism gained through slope textures+blobs  
would be lost.

Ian

On Mon, 13 Dec 2010 22:28:21 -0500, Chris Cason  
<del### [at] deletethistoopovrayorg> wrote:

> On 12/12/2010 07:06, clipka wrote:
>> One option that springs to my mind is to render an animation series of
>> "slices" of the object, then use an external tool to trace the outlines
>> of the shape in order to create a vertex cloud, and ultimately connect
>> them to a mesh. Maybe do some sophisticated cleanup to reduce the vertex
>> count where possible. Voila.
>
> The mesh camera with the max_distance setting could be used to probe an
> entire blob in a single render.
>
>   http://wiki.povray.org/content/Documentation:Reference_Section_3#Max_Distance
>
> Of course this doesn't solve the problem of getting the point cloud into
> vertexes.


-- 
Using Opera's revolutionary email client: http://www.opera.com/mail/


Post a reply to this message

From: [GDS|Entropy]
Subject: Re: Blobs to mesh conversion?
Date: 13 Dec 2010 23:10:21
Message: <op.vnoq7hhj0819q0@gdsentropy.nc.rr.com>
It has taken 4 days to render 1 pixel that I am now looking at. :(

I do not think the textures would bake well, as they are slope based and  
use interior, in addition to the fact they are designed to be blended by  
the "blobbing" of differently textured blobs.

However the profiler idea is very interesting.

I have converted a beta of this to pov 3.7 but it blows up during  
parse/just before render with an "unspecified error"; this was attempted  
using only a pigment of <1,1,1> and nothing more complex. No syntax errors  
encountered. The MegaPov #set keyword is the only non-standard feature  
used; #local works fine with 3.6 but not 3.7 when I tested, if I recall  
correctly.

Ian

On Mon, 13 Dec 2010 22:36:36 -0500, Chris Cason  
<del### [at] deletethistoopovrayorg> wrote:

> On 11/12/2010 12:58, [GDS|Entropy] wrote:
>> What good is wonderful geometry if no one can use high quality textures
>> with it?
>
> are the textures you're using suitable for baking? (I see you are using
> interior, so I'm guessing not).
>
> if it seriously would take weeks to render at any reasonable resolution,
> then it might be worthwhile for me to run the render in question under a
> profiler to see where the time is being spent. however there's no chance  
> of
> that happening this year due to the pending release of 3.7.
>
> -- Chris


-- 
Using Opera's revolutionary email client: http://www.opera.com/mail/


Post a reply to this message

From: [GDS|Entropy]
Subject: Re: Blobs to mesh conversion?
Date: 13 Dec 2010 23:18:05
Message: <op.vnorkds20819q0@gdsentropy.nc.rr.com>
Ok; very good then. I know someone has already made something of this sort  
here...and I have seen a number of c# versions.

My snow/icicle macro already uses trace and inside, but I was quite  
unaware that a point was a valid parameter of the inside method; I thought  
that it only accepted objects. I guess pov has overloads too. ;)

I have noticed a pattern...almost everything I want to do with a computer  
involves complicated stuff that hasn't been implemented yet lol! ;)

Ian

On Sat, 11 Dec 2010 05:07:45 -0500, Warp <war### [at] tagpovrayorg> wrote:

> [GDS|Entropy] <gdsHYentropyAThotmailDTcom> wrote:
>> 2) Adaptively convert to mesh object (triangle or quadrangle or whatever
>> gives the best results at the best time based on geometry)
>
>   Tesselation is a hard problem. Blobs are relatively easy to tesselate
> (because they are finite and don't contain hard edges), but the  
> tesselation
> algorithm itself is non-trivial. The so-called marching triangles  
> algorithm
> is probably the best one, so you might search for that (but, as said, be
> aware that it's a complicated algorithm). In your case the algorithm will
> have to be implemented in POV-Ray SDL.
>
>   You can use the inside() function to determine if a point is inside or
> outside an object (eg. your blob) and the trace() function to find the
> surface. These can probably be used in the tesselation algorithm.
>


-- 
Using Opera's revolutionary email client: http://www.opera.com/mail/


Post a reply to this message

From: clipka
Subject: Re: Blobs to mesh conversion?
Date: 14 Dec 2010 07:40:18
Message: <4d0765b2@news.povray.org>
Am 14.12.2010 05:05, schrieb [GDS|Entropy]:
> Interesting...quite interesting.
>
> I wonder though; no matter the non-blob approach taken, it seems that
> when considering the textures, if one were to have two blobs of
> differing texture they would no longer "mix" as they do with blob
> objects. If this is the case then a lot of the realism gained through
> slope textures+blobs would be lost.

You could do a render with the different textures replaced by simple 
pigments "red 1", "green 1" and "blue 1", respectively. The resulting 
data could be used as a basis for a texture_map to apply to the mesh via 
UV mapping.


Post a reply to this message

Goto Latest 10 Messages Next 10 Messages >>>

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