|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Hi,
If I understand the documentation, the following code for the texture shoulde be
OK, as it is a identifier + a pigment. However I have the following error
message :Parse Error: No matching } in 'texture',
pigment found instead
Any idea of the pb ?
Thanks,
#declare cubicOak = texture {cubic texture{pigment {image_map {png "chene.png"
}} rotate -90*y } ,texture{pigment {image_map {png "chene.png" }} rotate -90*x
} ,texture{pigment {image_map {png "chene.png" }} } ,texture{pigment
{image_map {png "chene.png" }} rotate -90*y } ,texture{pigment {image_map {png
"chene.png" }} rotate -90*x } ,texture{pigment {image_map {png "chene.png" }}
} , }
light_source {<-3.0,-4.0,10.0>color rgb <0.3864,0.3864,0.3864> spotlight }
//Unnamed Object
box {
<0.0,0.0,0.0>,<1.0,1.0,1.0> matrix <0.3 , 0.0 , 0.0 , 0.0 , 0.4 , 0.0 , 0.0 ,
0.0 , 0.5 , 0.0 , 0.0 , 0.0>texture {cubicOak pigment {White }}}
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On 05/16/2018 07:11 PM, lelama wrote:
> Hi,
> If I understand the documentation, the following code for the texture shoulde be
> OK, as it is a identifier + a pigment. However I have the following error
> message :Parse Error: No matching } in 'texture',
> pigment found instead
>
> Any idea of the pb ?
> Thanks,
>
>
> #declare cubicOak = texture {cubic texture{pigment {image_map {png "chene.png"
> }} rotate -90*y } ,texture{pigment {image_map {png "chene.png" }} rotate -90*x
> } ,texture{pigment {image_map {png "chene.png" }} } ,texture{pigment
> {image_map {png "chene.png" }} rotate -90*y } ,texture{pigment {image_map {png
> "chene.png" }} rotate -90*x } ,texture{pigment {image_map {png "chene.png" }}
> } , }
one more closing brace after the comma
> light_source {<-3.0,-4.0,10.0>color rgb <0.3864,0.3864,0.3864> spotlight }
>
> //Unnamed Object
> box {
> <0.0,0.0,0.0>,<1.0,1.0,1.0> matrix <0.3 , 0.0 , 0.0 , 0.0 , 0.4 , 0.0 , 0.0 ,
> 0.0 , 0.5 , 0.0 , 0.0 , 0.0>texture {cubicOak pigment {White }}}
>
>
>
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On 05/16/2018 08:59 PM, Jim Holsenback wrote:
> On 05/16/2018 07:11 PM, lelama wrote:
>> Hi,
>> If I understand the documentation, the following code for the texture
>> shoulde be
>> OK, as it is a identifier + a pigment. However I have the following error
>> message :Parse Error: No matching } in 'texture',
>> pigment found instead
>>
>> Any idea of the pb ?
>> Thanks,
>>
>>
>> #declare cubicOak = texture {cubic texture{pigment {image_map {png
>> "chene.png"
>> }} rotate -90*y } ,texture{pigment {image_map {png "chene.png" }}
>> rotate -90*x
>> } ,texture{pigment {image_map {png "chene.png" }} } ,texture{pigment
>> {image_map {png "chene.png" }} rotate -90*y } ,texture{pigment
>> {image_map {png
>> "chene.png" }} rotate -90*x } ,texture{pigment {image_map {png
>> "chene.png" }}
>> } , }
>
> one more closing brace after the comma
after the /last/ comma
>
>> light_source {<-3.0,-4.0,10.0>color rgb <0.3864,0.3864,0.3864>
>> spotlight }
>>
>> //Unnamed Object
>> box {
>> <0.0,0.0,0.0>,<1.0,1.0,1.0> matrix <0.3 , 0.0 , 0.0 , 0.0 , 0.4 , 0.0
>> , 0.0 ,
>> 0.0 , 0.5 , 0.0 , 0.0 , 0.0>texture {cubicOak pigment {White }}}
>>
>>
>>
>
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Thank you Jim for the answer. However, the parenthesis seem correct to me.
Here is the same example in a simpler form to avoid checking parenthesis.
The problem seems specific to cubic since when I replace the first box by the
second the code works perfectly.
#declare pb = pigment {Blue}
#declare pw = pigment {White}
#declare cubicOak = texture {cubic texture{pb} ,texture{pb} ,texture{pb }
,texture{pb } ,texture{pb} ,texture{pb} }
#declare myGlass = texture { Glass3 }
box {
<0.0,0.0,0.0>,<1.0,1.0,1.0> texture {cubicOak pw }}
//box {
//<0.0,0.0,0.0>,<1.0,1.0,1.0> texture {myGlass pw }}
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Am 17.05.2018 um 01:11 schrieb lelama:
> Hi,
> If I understand the documentation, the following code for the texture shoulde be
> OK, as it is a identifier + a pigment. However I have the following error
> message :Parse Error: No matching } in 'texture',
> pigment found instead
>
> Any idea of the pb ?
> Thanks,
>
>
> #declare cubicOak = texture {cubic texture{pigment {image_map {png "chene.png"
> }} rotate -90*y } ,texture{pigment {image_map {png "chene.png" }} rotate -90*x
> } ,texture{pigment {image_map {png "chene.png" }} } ,texture{pigment
> {image_map {png "chene.png" }} rotate -90*y } ,texture{pigment {image_map {png
> "chene.png" }} rotate -90*x } ,texture{pigment {image_map {png "chene.png" }}
> } , }
> light_source {<-3.0,-4.0,10.0>color rgb <0.3864,0.3864,0.3864> spotlight }
>
> //Unnamed Object
> box {
> <0.0,0.0,0.0>,<1.0,1.0,1.0> matrix <0.3 , 0.0 , 0.0 , 0.0 , 0.4 , 0.0 , 0.0 ,
> 0.0 , 0.5 , 0.0 , 0.0 , 0.0>texture {cubicOak pigment {White }}}
Wow, that's wild.
I highly recommend adding some more structure to your scene code, by
making use of indentation, for example like so:
#declare cubicOak = texture {
cubic
texture{
pigment {
image_map { png "chene.png" }
}
rotate -90*y
},
texture {
pigment {
image_map { png "chene.png" }
}
rotate -90*x
},
texture {
pigment {
image_map { png "chene.png" }
}
},
texture {
pigment {
image_map { png "chene.png" }
}
rotate -90*y
},
texture {
pigment {
image_map { png "chene.png" }
}
rotate -90*x
},
texture {
pigment {
image_map { png "chene.png" }
}
},
}
Also, another word of wisdon: Avoid using the same image over and over
again, as it unnecessarily eats memory and parsing time. Instead, use
something like:
#declare OakBase = pigment {
image_map { png "chene.png" }
}
#declare cubicOak = texture {
cubic
texture{
pigment { OakBase }
rotate -90*y
},
texture {
pigment { OakBase }
rotate -90*x
},
texture {
pigment { OakBase }
},
texture {
pigment { OakBase }
rotate -90*y
},
texture {
pigment { OakBase }
rotate -90*x
},
texture {
pigment { OakBase }
},
}
This way, the image gets loaded only once, and is shared between the
different textures that make use of it.
But your problem is of a different kind:
box {
<0.0,0.0,0.0>,<1.0,1.0,1.0>
matrix <0.3 , 0.0 , 0.0 ,
0.0 , 0.4 , 0.0 ,
0.0 , 0.0 , 0.5 ,
0.0 , 0.0 , 0.0>
texture {
cubicOak
pigment { White }
}
}
According to the documentation, section 3.4.6 "Texture", the
`PLAIN_TEXTURE` syntax is as follows:
texture {
[TEXTURE_IDENTIFIER]
[PNF_IDENTIFIER...]
[PNF_ITEMS...]
}
with `PNF_ITEMS` being either of:
PIGMENT | NORMAL | FINISH | TRANSFORMATION
Thus, the construct
texture {
TEXTURE_IDENTIFIER
PIGMENT
}
should be valid according to these rules.
However, in `cubicOak` you're using a pattern, so the variable does
/not/ qualify as a regular `TEXTURE_IDENTIFIER`, but rather as a
`PATTERNED_TEXTURE_ID`, and thus the `PATTERNED_TEXTURE` syntax applies:
texture {
[PATTERNED_TEXTURE_ID]
[TRANSFORMATIONS...]
}
(or some other variants that don't fit here)
Note that this syntax only allows for transformations, not pigment (or
normal or finish) overrides.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On 05/17/2018 03:55 AM, lelama wrote:
>
> Thank you Jim for the answer. However, the parenthesis seem correct to me.
well for sure your example wouldn't parse as is ... when i added that
last closing brace it /did/ ... found it by (as suggested) structuring
things ;-)
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
clipka <ano### [at] anonymousorg> wrote:
>
> However, in `cubicOak` you're using a pattern, so the variable does
> /not/ qualify as a regular `TEXTURE_IDENTIFIER`, but rather as a
> `PATTERNED_TEXTURE_ID`, and thus the `PATTERNED_TEXTURE` syntax applies:
>
> texture {
> [PATTERNED_TEXTURE_ID]
> [TRANSFORMATIONS...]
> }
>
>
Thank you, this is very clear !
Sorry for the indentation, this was output from python.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Am 17.05.2018 um 12:12 schrieb Jim Holsenback:
> On 05/17/2018 03:55 AM, lelama wrote:
>>
>> Thank you Jim for the answer. However, the parenthesis seem correct to
>> me.
>
> well for sure your example wouldn't parse as is ... when i added that
> last closing brace it /did/ ... found it by (as suggested) structuring
> things ;-)
That's odd, because my structuring attempts ended up with well-balanced
braces.
I guess this only goes to show how important it is to structure things
-- ideally right from the beginning, because sometimes errors occur even
in the process of trying to structure stuff later.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|