![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
In article <3d4f7bdd@news.povray.org>,
"Ben Chambers" <bdc### [at] yahoo com> wrote:
> > > Second, a recursive object (ie, a fractal).
> > Like an L-system? That would be very interesting...I haven't done
> > anything with them. Not sure how useful it would be though.
>
> Why not just script one?
Simple: slow parsing. Since POV 4.0 will probably use a VM for the
language, that isn't such a big deal for the future.
--
Christopher James Huff <chr### [at] mac com>
POV-Ray TAG e-mail: chr### [at] tag povray org
TAG web site: http://tag.povray.org/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Ben Chambers wrote:
>
> "Christopher James Huff" <chr### [at] mac com> wrote in message
> news:chr### [at] netplex aussie org...
>
> > > Second, a recursive object (ie, a fractal).
> >
> > Like an L-system? That would be very interesting...I haven't done
> > anything with them. Not sure how useful it would be though.
>
> Why not just script one?
To allow memory to be saved (at the expense of rendering speed, but
some people would welcome that).
Regards,
John
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Le Forgeron wrote:
>
> Christopher James Huff wrote:
>
> > In article <3D4EC82C.C892E71F@hotmail.com>,
> > John VanSickle <evi### [at] hotmail com> wrote:
> >
> >>First, incorporate quadrilaterals into the mesh object. This would
> >>make polygon modelling simpler.
> >>
> >
> > That wouldn't really be a primitive, just an addition to the mesh
> > syntax. Probably quite easy, just look at how it parses triangles
> > and add code to parse a quad instead, splitting it into two
> > triangles to add to the mesh.
>
> Why stop at the quadrilateral, let's have also a plain polygon
>
> (no hole) in the mesh parser (while still storing only triangles).
> Then handling the quadrilateral is just a subcase of the generic
> polygon.
I was actually thinking of storing the quads as quads, internally,
on the guess that they can be optimized to the point that they render
faster than the two triangles that would replace each.
Maybe not.
I'm also working on my subdivision surface macros, and have found a
way to extend the Loop surface to support quadrilaterals in addition
to triangles; hence my interest in adding that to the mesh.
Regards,
John
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
John VanSickle <evi### [at] hotmail com> wrote:
> First, incorporate quadrilaterals into the mesh object. This would
> make polygon modelling simpler.
What would be the advantage of this over using two triangles?
--
#macro M(A,N,D,L)plane{-z,-9pigment{mandel L*9translate N color_map{[0rgb x]
[1rgb 9]}scale<D,D*3D>*1e3}rotate y*A*8}#end M(-3<1.206434.28623>70,7)M(
-1<.7438.1795>1,20)M(1<.77595.13699>30,20)M(3<.75923.07145>80,99)// - Warp -
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Warp wrote:
> John VanSickle <evi### [at] hotmail com> wrote:
>
>>First, incorporate quadrilaterals into the mesh object. This would
>>make polygon modelling simpler.
>>
>
> What would be the advantage of this over using two triangles?
None for native pov, but when converting other 3D mesh formats, some
of them do not stick to the triangles and have either quadrilaterals,
or simple polygon ("simple", because not like the Pov polygon object).
So supporting the polygon in mesh would allows an easier writing of the
conversion programs.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Warp wrote:
>
> John VanSickle <evi### [at] hotmail com> wrote:
> > First, incorporate quadrilaterals into the mesh object. This would
> > make polygon modelling simpler.
>
> What would be the advantage of this over using two triangles?
When something is extruded, it makes more sense to extrude edges as
quads rather than a pair of triangles.
It also makes it easier to deal with a problem involving the Loop
method of surface subdivision.
Regards,
John
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
I have another advantage: UV-mapping a quadrilateral consisting of two
triangles simply doesn't work right. A true quadrilateral with properly
implemented UV-mapping would work right.
Of course this poses a problem: How do you texture an UV-mapped
quadrilateral in patological cases (eg. when it's concave)?
--
#macro M(A,N,D,L)plane{-z,-9pigment{mandel L*9translate N color_map{[0rgb x]
[1rgb 9]}scale<D,D*3D>*1e3}rotate y*A*8}#end M(-3<1.206434.28623>70,7)M(
-1<.7438.1795>1,20)M(1<.77595.13699>30,20)M(3<.75923.07145>80,99)// - Warp -
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On 9 Aug 2002 16:39:31 -0400, Warp <war### [at] tag povray org> wrote:
> Of course this poses a problem: How do you texture an UV-mapped
>quadrilateral in patological cases (eg. when it's concave)?
I can tell you how to do the forward operation (i.e. from uv to xyz),
but I gave up trying to reverse it, although I am dead sure it has a
unique solution.
Peter Popov ICQ : 15002700
Personal e-mail : pet### [at] vip bg
TAG e-mail : pet### [at] tag povray org
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
By the way, this scene demonstrates the problem with uv-mapping when
using two triangles to make a quadrilateral (AFAIK there's no way to
avoid this effect):
camera { location -z*4 look_at 0 }
mesh2
{ vertex_vectors { 4, <-2,-1.5,0>, <2,-1.5,0>, <1,1.5,0>, <-1,1.5,0> }
uv_vectors { 4, <0,0>, <1,0>, <1,1>, <0,1> }
face_indices { 2, <0,1,2>, <0,2,3> }
uv_mapping
texture
{ pigment { gradient x color_map { [0 rgb 0][1 rgb 1] } scale .1 }
finish { ambient 1 }
}
}
A true quadrilateral could interpolate the texture along the whole
quadrilateral instead of the two separate triangles, giving a more logical
result.
--
#macro N(D)#if(D>99)cylinder{M()#local D=div(D,104);M().5,2pigment{rgb M()}}
N(D)#end#end#macro M()<mod(D,13)-6mod(div(D,13)8)-3,10>#end blob{
N(11117333955)N(4254934330)N(3900569407)N(7382340)N(3358)N(970)}// - Warp -
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Warp wrote:
>
> I have another advantage: UV-mapping a quadrilateral consisting of
> two triangles simply doesn't work right. A true quadrilateral with
> properly implemented UV-mapping would work right.
> Of course this poses a problem: How do you texture an UV-mapped
> quadrilateral in patological cases (eg. when it's concave)?
Put a warning in the docs that it may not work right...
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |