|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
I'm trying to use the HF_ functions in shapes.inc to generate a mesh from a
small .png file.
I simply added a new funtion to the example file given in the include files
demo. When I did, I got an error.
//==============================
#declare MyFunction = function{pattern {bumps scale 0.2}}
// MyFunction above works...
#declare MyTest = function
{ pigment
{ image_map
{png "testHF.png"
map_type 0 interpolate 2
}
}
} // <- this replacement produces an error.
// shapes.inc pops up and marks the bit of code named above
object {
HF_Square
( MyTest, // MyFunction was here, but I replaced it.
off,
off,
<60,60>,
on,
"",
<0.0, 0.1, 0.0>,
<1.5, 0.5, 1.5>
)
texture {
pigment {color rgb 1}
finish {ShinyFinish}
}
translate <-3.0, 0.0,-3.2>
}
// ===========
// The error that happens pops up shapes.inc and a line in the
// HFCreate_() macro gets marked. See note below.
// ====
#local J = 1;
#while (J<=xRes)
#local K = 1;
#while (K<=zRes)
PArr[J][K], // <-- this code gets highlited in yellow
#declare K = K+1;
#end
#declare J = J+1;
#end
//====================================
What do I do to get an image file used as a function?
normdoering
Post a reply to this message
|
|
| |
| |
|
|
From: Warp
Subject: Re: Can anyone show me the proper syntax for this...
Date: 8 Nov 2002 09:59:20
Message: <3dcbd147@news.povray.org>
|
|
|
| |
| |
|
|
normdoering <nor### [at] yahoocom> wrote:
> #declare MyFunction = function{pattern {bumps scale 0.2}}
> // MyFunction above works...
> #declare MyTest = function
> { pigment
> { image_map
> {png "testHF.png"
> map_type 0 interpolate 2
> }
> }
> } // <- this replacement produces an error.
> // shapes.inc pops up and marks the bit of code named above
The macros take functions which return scalars. You are trying to give
it a function which returns colors, so it won't work.
What you need to do is to make a temporary function which will convert
the color returned by MyTest() to a scalar. For example:
#declare MyTestHeight = function { MyTest(x,y,z).hf }
Then you can give 'MyTestHeight' as parameter to the macro.
--
#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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Warp wrote:
>normdoering <nor### [at] yahoocom> wrote:
>> #declare MyFunction = function{pattern {bumps scale 0.2}}
>> // MyFunction above works...
>
>> #declare MyTest = function
>> { pigment
>> { image_map
>> {png "testHF.png"
>> map_type 0 interpolate 2
>> }
>> }
>> } // <- this replacement produces an error.
>> // shapes.inc pops up and marks the bit of code named above
>
> The macros take functions which return scalars. You are trying to give
>it a function which returns colors, so it won't work.
> What you need to do is to make a temporary function which will convert
>the color returned by MyTest() to a scalar. For example:
>
>#declare MyTestHeight = function { MyTest(x,y,z).hf }
>
> Then you can give 'MyTestHeight' as parameter to the macro.
And ".hf" isn't the only dot operator. The others are listed in the
isosurface area. A little re-writting and you could submit two functions to
HF_ macros, one that gives the height information and one for cutting off
unused areas of the square. Maybe the .red, .green and .blue operators
could be used for coding undercuts.
normdoering
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|