|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
High!
While playing around with procedurally generated countries' flags, I
tried to use them in patterns... and to make it simple in the beginning,
I started with a checker pattern containing the flags of Palau and
Trinidad and Tobago:
The include file containing the texture definitions (I plan to program
all sovereign countries' flags of the world later on):
// beginning of procflags.inc
#declare F_NoLights =
finish
{
ambient 1
diffuse 0
}
#declare P_Flag_Palau =
pigment
{
spherical
color_map
{
[0 rgb <0, 0.75, 1>]
[0.0001 rgb <0, 0.75, 1>]
[0.0001 rgb <1, 1, 0>]
}
// translate <-0.1, 0, 0.03>
}
#declare T_Flag_Palau =
texture
{
pigment { P_Flag_Palau }
finish { F_NoLights }
}
#declare P_Flag_TrinidadAndTobago =
pigment
{
gradient x
triangle_wave
color_map
{
[0.87 rgb <1, 0, 0>]
[0.87 rgb 1]
[0.92 rgb 1]
[0.92 rgb 0]
}
rotate y*45
}
#declare T_Flag_TrinidadAndTobago =
texture
{
pigment { P_Flag_TrinidadAndTobago }
finish { F_NoLights }
}
// end of procflags.inc
And the actual test scene:
// beginning of procflagstest.pov
#include "procflags.inc"
plane
{
y, 0
texture
{
pigment
{
checker
pigment { P_Flag_Palau }
pigment { P_Flag_TrinidadAndTobago }
}
finish { ambient 1 diffuse 0 }
}
}
camera
{
location <0, 10, 0>
look_at 0
angle 40
}
// end of procflagstest.pov
...but the textures continue through the checker pattern rather than
being "copied" into each checker cell (see attached picture) - is this a
general shortcoming of the checker pattern, or are there ways to avoid this?
See you on www.khyberspace.de!
Yadgar
Post a reply to this message
Attachments:
Download 'procflagstest.png' (4 KB)
Preview of image 'procflagstest.png'
|
|
| |
| |
|
|
|
|
| |
| |
|
|
=?ISO-8859-1?Q?J=F6rg_=27Yadgar=27_Bleimann?= <yaz### [at] gmxde> wrote:
> ...but the textures continue through the checker pattern rather than
> being "copied" into each checker cell (see attached picture) - is this a
> general shortcoming of the checker pattern, or are there ways to avoid this?
All the checker pattern does is "weave" two textures (or pigments or whatever)
together in an alternating fashion. It does no transformations whatsoever on
the textures themselves.
This is not a "shortcoming" - it's just the way the checker pattern works.
Having the pattern repeat for each tile is not always desired, so that requires
an additional operation, a so-called warp (more precisely, a repeat warp in this
case; you probably need two of them). See "3.5.12.6.2 Repeat Warp" in the POV
3.6 documentation.
Post a reply to this message
|
|
| |
| |
|
|
From: Jörg 'Yadgar' Bleimann
Subject: Re: Textured block pattern problem
Date: 24 Mar 2009 22:16:19
Message: <49c993f3@news.povray.org>
|
|
|
| |
| |
|
|
clipka wrote:
> This is not a "shortcoming" - it's just the way the checker pattern works.
> Having the pattern repeat for each tile is not always desired, so that requires
> an additional operation, a so-called warp (more precisely, a repeat warp in this
> case; you probably need two of them). See "3.5.12.6.2 Repeat Warp" in the POV
> 3.6 documentation.
Oh, it's legal to use more than one warp in each pattern? Then here we
go! But there's still one problem: almost all countries' flags are
rectangles (usually at a 3:2 ratio) rather than squares, so I need to
scale the checker cells *before* I insert the defined textures...
See you in Khyberspace!
Yadgar
Post a reply to this message
Attachments:
Download 'procflagstest.png' (5 KB)
Preview of image 'procflagstest.png'
|
|
| |
| |
|
|
From: Jörg 'Yadgar' Bleimann
Subject: Re: Textured block pattern problem
Date: 24 Mar 2009 22:30:33
Message: <49c99749@news.povray.org>
|
|
|
| |
| |
|
|
High!
>But there's still one problem: almost all countries' flags are
> rectangles (usually at a 3:2 ratio) rather than squares, so I need to
> scale the checker cells *before* I insert the defined textures...
I got it... scaling the checker pattern and then reciprocally rescaling
the textures does the trick!
plane
{
y, 0
texture
{
scale x*1.5
pigment
{
checker
pigment { P_Flag_Palau scale 0.3 scale <2/3, 0, 0> translate
<0.42, 0, 0.5> warp { repeat x } warp { repeat z } }
pigment { P_Flag_TrinidadAndTobago scale <2/3, 0, 0> translate
x*0.65 warp { repeat x } warp { repeat z } }
}
finish { ambient 1 diffuse 0 }
}
}
See you in Khyberspace!
Yadgar
Post a reply to this message
Attachments:
Download 'procflagstest.png' (15 KB)
Preview of image 'procflagstest.png'
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"clipka" <nomail@nomail> wrote:
> an additional operation, a so-called warp (more precisely, a repeat warp in this
> case; you probably need two of them). See "3.5.12.6.2 Repeat Warp" in the POV
> 3.6 documentation.
Dang, I completely forgot about repeat warps. Looks like I reinvented the wheel
again... ;-)
Post a reply to this message
|
|
| |
| |
|
|
From: Jaime Vives Piqueres
Subject: Re: Textured block pattern problem
Date: 25 Mar 2009 09:17:28
Message: <49ca2ee8@news.povray.org>
|
|
|
| |
| |
|
|
> Dang, I completely forgot about repeat warps. Looks like I reinvented the
> wheel again... ;-)
I always thought that POV-Ray was specially crafted for people who like to
reinvent the 3D wheel... :)
--
Jaime
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Jaime Vives Piqueres <jai### [at] ignoranciaorg> wrote:
> > Dang, I completely forgot about repeat warps. Looks like I reinvented the
> > wheel again... ;-)
>
> I always thought that POV-Ray was specially crafted for people who like to
> reinvent the 3D wheel... :)
It's often quicker to do so than go hunting through docs and resources...!
I was making some textures the other day by drawing pictures with spherical and
boxed pigments, then tessellating them. Because I was using pigment functions
to combine the various shapes, it seemed obvious to call them as
fn(x-floor(x), 0, z-floor(z)).x
to get the repetition...
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"Bill Pragnell" <bil### [at] hotmailcom> wrote:
> > I always thought that POV-Ray was specially crafted for people who like to
> > reinvent the 3D wheel... :)
>
> It's often quicker to do so than go hunting through docs and resources...!
>
> I was making some textures the other day by drawing pictures with spherical and
> boxed pigments, then tessellating them. Because I was using pigment functions
> to combine the various shapes, it seemed obvious to call them as
>
> fn(x-floor(x), 0, z-floor(z)).x
>
> to get the repetition...
Yeah. It seems that most things are actually quite trivial in POV - at least in
the original latin sense, literally meaning "having three ways" ;)
In this case, another one would be to use the pattern as a function image (see
3.5.11.16) without the "once" keyword ;) (didn't test it, but I guess it should
tile like any proper image would)
You know you've been raytracing too long when...
... you know every little trick the POV SDL has to offer ;)
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Jaime Vives Piqueres wrote:
> I always thought that POV-Ray was specially crafted for people who like to
> reinvent the 3D wheel... :)
Or at least the sphere.
--
Darren New, San Diego CA, USA (PST)
My fortune cookie said, "You will soon be
unable to read this, even at arm's length."
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Darren New <dne### [at] sanrrcom> wrote:
> Jaime Vives Piqueres wrote:
> > I always thought that POV-Ray was specially crafted for people who like to
> > reinvent the 3D wheel... :)
>
> Or at least the sphere.
Yeah, those are "tri-vial" as well: You can use POV's standard sphere{}, but
occasionally you are better off with a sperical blob element. And occasionally
you may have reason to model it as an isosurface - or a mesh, for that
matter...
Using bicubic patches to approximate a sphere seems to be a bit difficult
though...
;)
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |