POV-Ray : Newsgroups : povray.unofficial.patches : Seems that the tesselation patch died before even being born Server Time
2 Sep 2024 00:12:33 EDT (-0400)
  Seems that the tesselation patch died before even being born (Message 15 to 24 of 34)  
<<< Previous 10 Messages Goto Latest 10 Messages Next 10 Messages >>>
From: Gilles Tran
Subject: Re: Seems that the tesselation patch died before even being born
Date: 17 Jan 2001 08:16:09
Message: <3A659AEA.337DE774@inapg.inra.fr>
Warp wrote:

>   So I'm sorry. I can't make it.

I agree with what other people said. Release the patch. Even with the bug it
could still be useful enough for many things and I'm pretty sure that somebody
(or even yourself) will come along and find what happens. Tesselation, like
shaders or radiosity, opens too many significant fields for POV.
Just credit some big software corporation for the bug if you don't want to take
the blame ;-)


G.

--

**********************
http://www.oyonale.com
**********************
Graphic experiments
Pov-ray gallery


Post a reply to this message

From: Warp
Subject: Re: Seems that the tesselation patch died before even being born
Date: 17 Jan 2001 09:09:52
Message: <3a65a7b0@news.povray.org>
I'm just making the required additions to support the tesselate-block
inside meshes. It's a lot easier than I thought.

-- 
char*i="b[7FK@`3NB6>B:b3O6>:B:b3O6><`3:;8:6f733:>::b?7B>:>^B>C73;S1";
main(_,c,m){for(m=32;c=*i++-49;c&m?puts(""):m)for(_=(
c/4)&7;putchar(m),_--?m:(_=(1<<(c&3))-1,(m^=3)&3););}    /*- Warp -*/


Post a reply to this message

From: Warp
Subject: Re: Seems that the tesselation patch died before even being born
Date: 17 Jan 2001 09:21:14
Message: <3a65aa59@news.povray.org>
By the way, instead of _moving_ the tesselate block inside the mesh block,
I'm _adding_ it there.
  That is, the old method still works, ie. you can just create a tesselated
object alone like this:

tesselate { MyObject accuracy 20 smooth }

but you can also add tesselated objects into a mesh like this:

mesh
{ (optionally triangles and smooth triangles)
  tesselate { MyObject1 }
  tesselate { MyObject2 }
}

-- 
char*i="b[7FK@`3NB6>B:b3O6>:B:b3O6><`3:;8:6f733:>::b?7B>:>^B>C73;S1";
main(_,c,m){for(m=32;c=*i++-49;c&m?puts(""):m)for(_=(
c/4)&7;putchar(m),_--?m:(_=(1<<(c&3))-1,(m^=3)&3););}    /*- Warp -*/


Post a reply to this message

From: Chris Huff
Subject: Re: Seems that the tesselation patch died before even being born
Date: 17 Jan 2001 09:59:15
Message: <chrishuff-BA3690.10001817012001@news.povray.org>
In article <3a653acf$1@news.povray.org>, "Jim Kress" 
<kre### [at] kressworkscom> wrote:

> Did you try the tessellation method for which I sent you a link?  It even
> included C++ source code and was free (GPL)

His tesselation code seems to be working fine, it seems to be the adding 
of the triangles to the mesh which is the problem.
I'm beginning to think it would be worth it to write new mesh code for 
use in this kind of patch...a new object type that would be used 
internally and a group of functions for manipulating the data. Or find 
someone to explain the mesh code...

-- 
Christopher James Huff
Personal: chr### [at] maccom, http://homepage.mac.com/chrishuff/
TAG: chr### [at] tagpovrayorg, http://tag.povray.org/

<><


Post a reply to this message

From: Wlodzimierz ABX Skiba
Subject: Re: Seems that the tesselation patch died before even being born
Date: 17 Jan 2001 10:07:57
Message: <3a65b54d$1@news.povray.org>
Warp wrote in message <3a65aa59@news.povray.org>...
>  By the way, instead of _moving_ the tesselate block inside the mesh block,
>I'm _adding_ it there.


did you consider my proposition to put tesselation as part of object modifiers ?

ABX


Post a reply to this message

From: Nicolas Calimet
Subject: Re: Seems that the tesselation patch died before even being born
Date: 17 Jan 2001 10:52:44
Message: <3A65D143.6762CD60@free.fr>
> mesh
> { (optionally triangles and smooth triangles)
>   tesselate { MyObject1 }
>   tesselate { MyObject2 }
> }

	My question will sound weird, but...
	Can you tesselate a mesh object ?

	The use would be to change the number of triangles in the
initial mesh, for instance to get a 'preview' mesh that would have
10 times less triangles - a little faster to render, but much faster
to parse especially when creating the bounding box tree.
	For me it would be quite interesting. In my patch I'm using
a simple (and crude) vertex decimation method to quickly simplify
mesh objects (from binary files, so it's different from the normal
parsing) for previewing purpose. The resulting mesh looks like a
building of cubic blocks rather than a smooth thing. See some
examples on this page:

http://pov4grasp.free.fr/features/grasp_surface/preview.php3

	If your code works for mesh objects, and is really fast,
then I've two reasons more to support you for releasing your patch
pretty soon so that someone can fix the bug you mention (I'm not
this superguy I suspect) !


*** Nicolas Calimet
*** http://pov4grasp.free.fr


Post a reply to this message

From: Warp
Subject: Re: Seems that the tesselation patch died before even being born
Date: 17 Jan 2001 11:03:36
Message: <3a65c258@news.povray.org>
Wlodzimierz ABX Skiba <abx### [at] abxartpl> wrote:
: did you consider my proposition to put tesselation as part of object modifiers ?

  I think that would be more difficult than it may sound.
  When povray parses an object, it creates internally an object of that
type. A tesselation modifier would have to change that object to a mesh
object.
  I'm not sure if there is any advantage in this either.

-- 
char*i="b[7FK@`3NB6>B:b3O6>:B:b3O6><`3:;8:6f733:>::b?7B>:>^B>C73;S1";
main(_,c,m){for(m=32;c=*i++-49;c&m?puts(""):m)for(_=(
c/4)&7;putchar(m),_--?m:(_=(1<<(c&3))-1,(m^=3)&3););}    /*- Warp -*/


Post a reply to this message

From: Warp
Subject: Re: Seems that the tesselation patch died before even being born
Date: 17 Jan 2001 11:04:59
Message: <3a65c2aa@news.povray.org>
Nicolas Calimet <pov### [at] freefr> wrote:
: 	Can you tesselate a mesh object ?

  The patch can tesselate any solid object with a finite bounding box.
  If you want to tesselate a mesh, you'll have to make it solid (with
the inside_vector feature). I haven't tested it, but it should work
(as long as the solid mesh patch works).

-- 
char*i="b[7FK@`3NB6>B:b3O6>:B:b3O6><`3:;8:6f733:>::b?7B>:>^B>C73;S1";
main(_,c,m){for(m=32;c=*i++-49;c&m?puts(""):m)for(_=(
c/4)&7;putchar(m),_--?m:(_=(1<<(c&3))-1,(m^=3)&3););}    /*- Warp -*/


Post a reply to this message

From: Wlodzimierz ABX Skiba
Subject: Re: Seems that the tesselation patch died before even being born
Date: 17 Jan 2001 11:34:23
Message: <3a65c98f@news.povray.org>
ough, I don't like write explanations becouse my vocabulary appears poor :-(

Warp wrote in message <3a65c258@news.povray.org>...
>Wlodzimierz ABX Skiba <abx### [at] abxartpl> wrote:
>: did you consider my proposition to put tesselation as part of object
modifiers ?
>
>  I think that would be more difficult than it may sound.

I did it for my deform patch
Everything what it need is to change parse_object_mod to return (OBJECT *)
and change Parse_*() functions.

> When povray parses an object, it creates internally an object of that
> type. A tesselation modifier would have to change that object to a mesh
> object.

when you tesselate object you do it probably to use it insted of original object
for user there could be no difference - only speed up

>  I'm not sure if there is any advantage in this either.


I know that some peoples don't like such word like "modeller" according to
POV-script
but in modellers there is taskbar with operations applied to object and
rotation, scale and other linear operations are neighbours for twisting,
bending, screwing and neighbours for smoothing by removing of vertex, incresing
amount of vertex and something.

I you have ready function Parse_Tesselation() I can try simple apply to my
modified source of deform patch to apply your syntax and my proposed syntax.

hmm, I don't think that I explained :-(

ABX


Post a reply to this message

From: Jérôme Grimbert
Subject: Re: Seems that the tesselation patch died before even being born
Date: 18 Jan 2001 04:15:48
Message: <3A66B445.C9C8BA03@atosorigin.com>
Wlodzimierz ABX Skiba wrote:
> 
> ough, I don't like write explanations becouse my vocabulary appears poor :-(
> 
> Warp wrote in message <3a65c258@news.povray.org>...
> >Wlodzimierz ABX Skiba <abx### [at] abxartpl> wrote:
> >: did you consider my proposition to put tesselation as part of object
> modifiers ?
> >
> >  I think that would be more difficult than it may sound.
> 
> I did it for my deform patch
> Everything what it need is to change parse_object_mod to return (OBJECT *)

That modification would be easy, maybe...

> and change Parse_*() functions.

But not that one : do you have an idea of the number of functions 
to patch ?

Moreover I found it counter-productive and dangerous:
 let's say we have a CSG operation (not a union) and
 you modify ONE of the component to tesselate while the
 other components remained unchanged.
 I'm not sure the CSG would still be possible.
 As a basic-final-user, I cannot understand why modifying a tiny attribute of
 a sphere/superellipsoid/cone/cylinder/box/whatever in a CSG construct 
 make a script failure...

Sincerely, I just like the way the tesselation object was introduced:
 it is a new object. dot. 
 Trying to be able to have the mesh object able to include it in
 its definition may or not be a good thing, I do not know.


> 
> > When povray parses an object, it creates internally an object of that
> > type. A tesselation modifier would have to change that object to a mesh
> > object.
> 
> when you tesselate object you do it probably to use it insted of original object
> for user there could be no difference - only speed up

No, at least for me: tesselation would also provide a different aspect
 (the 'polygon'/facet aspect), and that's also interesting.
 (instead of playing with the normal vector with a complex pattern)


> 
> >  I'm not sure if there is any advantage in this either.
> 
> I know that some peoples don't like such word like "modeller" according to
> POV-script
> but in modellers there is taskbar with operations applied to object and
> rotation, scale and other linear operations are neighbours for 

Yes the classical mods,

> twisting,
> bending, screwing 

This is the 'classical' problem with the POV approach: the intersection
of an object with a curved ray...

The 'twist/bend/screw' cannot be applied to all objects, but you
could make them to be some new 'object' (?) that would take a 
mesh-like object and some parameters:

 twist { object {my_mesh}, <center.x,center.y,center.z>,<axis.x,axis.y,axis.z>,
angle... }
 bend { object {my_mesh}, <center.x,center.y,center.z>,...}
 screw { object {my_mesh}, <center.x,center.y,center.z>,<axis.x,axis.y,axis.z>,
pitch... } 

Then when parsing, your 'object' is twisted/bent/screwed by 'simply' applying
a blind transformation to each vertex of the mesh

(beware: you not only have to transform the position of the vertex, but also
the normal... so the 'simply' is an overstatement).

>and neighbours for smoothing by removing of vertex, incresing
> amount of vertex and something.

That should be easy with the parameter of tesselation.


Post a reply to this message

<<< Previous 10 Messages Goto Latest 10 Messages Next 10 Messages >>>

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