POV-Ray : Newsgroups : povray.general : Details on layered textures/materials : Re: Details on layered textures/materials Server Time
3 May 2024 15:06:29 EDT (-0400)
  Re: Details on layered textures/materials  
From: William F Pokorny
Date: 8 Apr 2024 06:56:02
Message: <6613cd42$1@news.povray.org>
On 4/8/24 03:55, Thomas de Groot wrote:
> I noticed earlier in the code provided by Chris, that /inside/ the 
> (sub-) macros he used a semicolon to end a texture. The original code of 
> the granite macro did not have those and - iirc - they were not used as 
> such any more since... POV-Ray 3.5? 3.6?
> 
> Anyway, you can safely delete one of the two M_Granite textures, 
> provided that you add a semicolon at the end of the declaration (and 
> before invoking the texture obviously)

Hi.

FWIW. With my current yuqk fork(a) running what Bill posted, without the 
second declaration of a M_Granite texture ID or the added semicolon, I get:

File 'granite_texture_1.mcr' line 580:
Parse Error:
Cannot assign uninitialized identifier 'M_Granite'
to non-optional LValue of:
'Tex'.
This error sometimes comes about due a prior, situationally, missing 
semicolon.
Fatal error in parser: Cannot parse input.
Render failed

There are issues in all the recent parser variations with respect to 
sometimes necessary, but missing semicolons. The yuqk fork has addressed 
a few of them in its version of the parser, but certainly not all.

The worst cause flaky behavior during parsing without any notice 
something has gone wrong.

Bill P.

(a) - A version compiled to allow lower case identifiers. Plus, I needed 
to add the noise generator to use as the last argument to f_noise3d(). 
The inbuilt functions in official releases of POV-Ray always use noise 
generator 2.


Post a reply to this message

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