POV-Ray : Newsgroups : povray.general : Is this a bug? Server Time
29 Nov 2024 19:54:27 EST (-0500)
  Is this a bug? (Message 1 to 5 of 5)  
From: Hugo
Subject: Is this a bug?
Date: 3 Jun 2005 19:35:03
Message: <42a0e927@news.povray.org>
Hi,







#declare MyTexture = texture{ pigment {agate} }

#declare MyOtherTexture = texture{  MyTexture pigment{ granite} }



are legal, but



#declare MyTexture = texture{ uv_mapping pigment {agate} }

#declare MyOtherTexture = texture{  MyTexture pigment{ granite} }



cause a parser error on the second declaration: no matching } in 'texture', 
pigment found instead.



Is this a bug or there is some reason for things work this way?



I also found recently that POVRAY crashes on my system when using the old 
tiles texture without specifying one (or both) textures of the list, e.g.



sphere{0.0, 1.0 texture{tiles {tile2}} }



results in a message box:

The POV-Ray core rendering threw an unhandled exception.

The backend thread has been shut down and will not be able to perform any 
further renders.





Could someone please confirm it?







Thanks in advance,



Hugo.


Post a reply to this message

From: Jim Charter
Subject: Re: Is this a bug?
Date: 4 Jun 2005 11:18:01
Message: <42a1c629$1@news.povray.org>
Hugo wrote:
> Hi,
> 
> 
> 

> 
> 
> 
> #declare MyTexture = texture{ pigment {agate} }
> 
> #declare MyOtherTexture = texture{  MyTexture pigment{ granite} }
> 
> 
> 
> are legal, but
> 
> 
> 
> #declare MyTexture = texture{ uv_mapping pigment {agate} }
> 
> #declare MyOtherTexture = texture{  MyTexture pigment{ granite} }
> 
> 
> 
> cause a parser error on the second declaration: no matching } in 'texture', 
> pigment found instead.

Not sure about whether a bug.  You are overriding the pigment declared 
in MyTexture with the definition that follows.  I guess once you 
introduce uvmapping you can't do that.

This seems to work:

#declare MyTexture = texture {  pigment {agate} }


#declare MyOtherTexture =
texture {  uv_mapping MyTexture  pigment { granite} }


Post a reply to this message

From: Bob Hughes
Subject: Re: Is this a bug?
Date: 4 Jun 2005 15:41:13
Message: <42a203d9$1@news.povray.org>
Well, it does work okay if not doing a texture, as in the following:

#declare UV_Pigment = pigment { uv_mapping agate }

#declare UVP_Changed = pigment { UV_Pigment granite }

sphere {0,1 texture {UVP_Changed}}

So this seems to be a problem with the way texture alone is done.


As for the 'tiles' error, that pattern type is only a vague memory to me. 
Must be something going back to the earliest POV versions. I do get that 
same problem in both 3.6 and 3.5. #version directive didn't help.

I'm not exactly sure how to write it. Looking at the documentation it would 
seem correct to write it like so:

texture {tiles T1 tile2 T2}

with T1 and T2 being previously declared textures.

POV complains about a missing leading brace "{" and instead a texture 
identifier found, yet I would have thought it were used like the checker 
pattern.

Hugo, was that tiles usage taken from an earlier scene file? Or was it 
you're own interpretation of how it the syntax for it is to be written. 
Or... did you attempt following the error message suggestion that a { was 
missing if leaving it out?

I'm curious how you happened across this problem, since it seems something 
left in for backwards compatibility and not something people might be using 
still today. Of course, regardless, anything in POV is certainly supposed to 
be possible without a crash but I think the correct syntax needs to be 
realized.

Bob Hughes


Post a reply to this message

From: Hugo
Subject: Re: Is this a bug?
Date: 5 Jun 2005 03:54:08
Message: <42a2afa0@news.povray.org>
> I'm not exactly sure how to write it. Looking at the documentation it 
> would seem correct to write it like so:
>
> texture {tiles T1 tile2 T2}
>
> with T1 and T2 being previously declared textures.

In fact the correct syntax for the old tile texture is:
texture{ tiles{ T1 tile2 T2 } } , where T1 and T2 are complete texture 
statements.

> Hugo, was that tiles usage taken from an earlier scene file? Or was it 
> you're own interpretation of how it the syntax for it is to be written. 
> Or... did you attempt following the error message suggestion that a { was 
> missing if leaving it out?
>
> I'm curious how you happened across this problem, since it seems something 
> left in for backwards compatibility and not something people might be 
> using still today. Of course, regardless, anything in POV is certainly 
> supposed to be possible without a crash but I think the correct syntax 
> needs to be realized.

Actually I am working on a POV parser and I had to check if one could
omit the textures of the list, like with the others block pattern textures.

Thank you for your answers,

Hugo.


Post a reply to this message

From: Larry Hudson
Subject: Re: Is this a bug?
Date: 5 Jun 2005 19:42:00
Message: <42a38dc8@news.povray.org>
Hugo wrote:
> Actually I am working on a POV parser and I had to check if one could
> omit the textures of the list, like with the others block pattern textures.

Hmmm...  Just curious.  Is there a published formal definition (BNF or 
similar) for the POVRay SDL?  I'm sure the POVRay team has something 
like that for their own use, but I'm not sure if that would be available 
for the general public.  Of course, there's the standard documentation, 
but I mean something more explicitly formal.  I've never checked into 
this myself, and I wouldn't (or couldn't) use it if it were available. 
But I just wondered...

      -=- Larry -=-


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.