|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
High!
In between, I'm trying to program a macro for generating joined bezier
patches from heightfield bitmaps... but even reading out the pixel data
from a small test image fails!
bicubic_patch
{
type 0
#declare a=0;
#while (a<4)
#declare b=0;
#while (b<4)
// <5+b*10, eval_pigment(patch, <1/8+b/4, 7/8-a/4,
0>).red*50+eval_pigment(patch, <1/8+b/4, 7/8-a/4, 0>).green*(50/256),
35-a*10>
#warning str(eval_pigment(patch, <1/8+b/4, 7/8-a/4, 0>.red, 0, 3);
#if (b<3 | a<3)
,
#end
#declare b=b+1;
#end
#declare a=a+1;
#end
texture
{
pigment { color rgb <1, 0.5, 0> }
finish { ambient 0.2 diffuse 1 brilliance 0.4 }
}
}
Whenever I try to run this, I get the message "')' expected, float
function 'float constant' found instead", with the #warning... line and
line 630 in functions.inc highlighted!
See you in Khyberspace!
Yadgar
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Looks like you're missing a bracket (like the warning says, just the place
it says so is wrong):
> #warning str(eval_pigment(patch, <1/8+b/4, 7/8-a/4, 0>.red, 0, 3);
Where do you close eval_pigment or str?
--
aka "Tim Nikias v2.0"
Homepage: <http://www.nolights.de>
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
High!
Tim Nikias schrieb:
> Looks like you're missing a bracket (like the warning says, just the place
> it says so is wrong):
>
>
>>#warning str(eval_pigment(patch, <1/8+b/4, 7/8-a/4, 0>.red, 0, 3);
>
>
> Where do you close eval_pigment or str?
Yes, I see... but even when I close eval_pigment correctly, I get the
message "Bad operands for period operator" in line 629 of functions.inc!
See you in Khyberspace!
Yadgar
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Well, firstly your vector is commented out, there's a // before the <
But assuming that's just a typo when you posted the message, I think this is
a problem with pov's bicubic patch syntax. I had a similar thing when I was
trying to write some code to generate triangles. It seems pov doesn't like
evaluating variables for control points like that. The only way round it I
found was to write the values out to a file then #include it. So hopefully
I'm missing something and someone here can come up with a better solution.
Of course, your problem might be something else entirely...
Tek
http://evilsuperbrain.com
"Yadgar" <yaz### [at] gmxde> wrote in message news:436### [at] gmxde...
> High!
>
> In between, I'm trying to program a macro for generating joined bezier
> patches from heightfield bitmaps... but even reading out the pixel data
> from a small test image fails!
>
> bicubic_patch
> {
> type 0
> #declare a=0;
> #while (a<4)
> #declare b=0;
> #while (b<4)
> // <5+b*10, eval_pigment(patch, <1/8+b/4, 7/8-a/4,
> 0>).red*50+eval_pigment(patch, <1/8+b/4, 7/8-a/4, 0>).green*(50/256),
> 35-a*10>
> #warning str(eval_pigment(patch, <1/8+b/4, 7/8-a/4, 0>.red, 0, 3);
> #if (b<3 | a<3)
> ,
> #end
> #declare b=b+1;
> #end
> #declare a=a+1;
> #end
> texture
> {
> pigment { color rgb <1, 0.5, 0> }
> finish { ambient 0.2 diffuse 1 brilliance 0.4 }
> }
> }
>
> Whenever I try to run this, I get the message "')' expected, float
> function 'float constant' found instead", with the #warning... line and
> line 630 in functions.inc highlighted!
>
> See you in Khyberspace!
>
> Yadgar
>
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Yadgar wrote:
> High!
>
> In between, I'm trying to program a macro for generating joined bezier
> patches from heightfield bitmaps... but even reading out the pixel data
> from a small test image fails!
>
> bicubic_patch
> {
> type 0
> #declare a=0;
> #while (a<4)
> #declare b=0;
> #while (b<4)
> // <5+b*10, eval_pigment(patch, <1/8+b/4, 7/8-a/4,
> 0>).red*50+eval_pigment(patch, <1/8+b/4, 7/8-a/4, 0>).green*(50/256),
> 35-a*10>
> #warning str(eval_pigment(patch, <1/8+b/4, 7/8-a/4, 0>.red, 0, 3);
> #if (b<3 | a<3)
> ,
> #end
> #declare b=b+1;
> #end
> #declare a=a+1;
> #end
> texture
> {
> pigment { color rgb <1, 0.5, 0> }
> finish { ambient 0.2 diffuse 1 brilliance 0.4 }
> }
> }
>
Without the rest of the code, it is kind of hard to test, but maybe this
is better: (pay no attention to the style, it's just me)
bicubic_patch
{
type 0
#declare a=0;
#while (a<4)
#declare b=0;
#while (b<4)
// removed "//" from infront of <5+b*10......
<
5+b*10,
eval_pigment(patch, <1/8+b/4, 7/8-a/4, 0>).red*50
+eval_pigment(patch, <1/8+b/4, 7/8-a/4, 0>).green*(50/256),
35-a*10
>
// added ")" here >>----------------------------------------->
#warning str(eval_pigment(patch, <1/8+b/4, 7/8-a/4, 0>).red, 0, 3);
#if (b<3 | a<3) , #end
#declare b=b+1;
#end
#declare a=a+1;
#end
texture{
pigment { color rgb <1, 0.5, 0> }
finish { ambient 0.2 diffuse 1 brilliance 0.4 }
}
}
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|