POV-Ray : Newsgroups : povray.windows : Parsing error with Pov Ray addon for blender. "No matching } in 'texture'" : Re: Parsing error with Pov Ray addon for blender. "No matching } in 'textur= Server Time
16 Oct 2024 01:16:59 EDT (-0400)
  Re: Parsing error with Pov Ray addon for blender. "No matching } in 'textur=  
From: Mr
Date: 28 Mar 2020 08:40:01
Message: <web.5e7f44ada20699786adeaecb0@news.povray.org>
"tylerm8101" <tyl### [at] gmailcom> wrote:
> "Mr" <mauriceraybaud [at] hotmail dot fr>> wrote:
> > "tylerm8101" <tyl### [at] gmailcom> wrote:
> > > Thomas de Groot <tho### [at] degrootorg> wrote:
> > > > Op 10/09/2019 om 05:10 schreef tylerm8101:
> > > > > Hi.
> > > > >
> > > > > I'm using the Pov ray addon for Blender 2.79. On windows 10.
> > > > >
> > > > > Yesterday I ran into an issue where it wouldn't parse correctly. So... I
looked
> > > > > at what Pov ray said:
> > > > >
> > > > > "Parse error: No matching } in 'texture', undeclared identifier
'Material_051'
> > > > > found instead."
> > > > >
> > > > > It also highlighted a line of text:
> > > > >
> > > > > "texture{Material_051}"
> > > > >
> > > > > This text was apart of a larger group of text:
> > > > >
> > > > > #declare MAT_Material_034 =
> > > > > texture{
> > > > >          slope { lampTarget1 }
> > > > >          texture_map {
> > > > >              [0.98 finish {diffuse 0.72}]
> > > > >              [0.002
> > > > >                  pigment {rgbft<1, 0.638, 0.716, 0, 0>}
> > > > >                  finish {shader_Material_034}
> > > > >              ]
> > > > >          }
> > > > >      }
> > > > >      texture_list {
> > > > >          9
> > > > >   texture{Material_051}
> > > > >
> > > > >   texture{Material_052}
> > > > >
> > > > >   texture{Material_034}
> > > > >
> > > > >   texture{Material_035}
> > > > >
> > > > >   texture{Material_038}
> > > > >
> > > > >   texture{Material_059}
> > > > >
> > > > >   texture{Material_015}
> > > > >
> > > > > Im not sure if I needed to show more, I dont know what influences what.
Sorry.
> > > > >
> > > > >
> > > > >
> > > >
> > > > Those types of errors are often difficult to track down. At first guess
> > > > I would suggest to check:
> > > >
> > > > - is Material_51 included somewhere in the scene or in another include
> > > > file, and if yes, is its built consistent? If no, include the texture
> > > > and see if everything works.
> > > >
> > > > - what happens if you comment out texture{Material_051} (and change the
> > > > preceding '9' into '8')? Is the error gone? if not, does the error now
> > > > mention Material_052? i.d. the next texture in the list?
> > > >
> > > > - if no remedy, copy here the complete MAT_Material_034 texture so that
> > > > we may look at it.
> > > >
> > > > - as last resort (or first one) a successful testing involves to
> > > > gradually build up the texture from simple to complex and each time test
> > > > the result. If it works, add a new element until the error appears: you
> > > > then know where the problem arises from.
> > > >
> > > > --
> > > > Thomas
> > >
> > > Hi.
> > >
> > > Sorry this is a late reply but I was contacted by a dude named Alain Martel who
> > > emailed me and said this...
> > >
> > >
> > > " This looks highly suspicious to me :
> > >   #declare MAT_Material_034 =
> > >

> > >
> > > Look if you have a
> > > #dedclare MAT_Material_051
> > > somewhere in your scene.
> > >
> > > If that's the case, look in the settings if you can prevent prepending

> > >
> > > Alternately, do a search and replace to replace all instances of

> > >
> > >
> > >
> > > I couldn't ask him anything because google can't recognize his address, Ill ask
> > > them here...
> > >
> > >
> > > I have a #declare MAT_Material_051 in the file, what exactly does this do and
> > > why is it bad?
> > >
> > > If I change the MAT_Material to just Material, would It need the same amount of
> > > indentation?
> > >
> > > And... how could I possibly prevent materials having MAT_ prepended by using the
> > > settings?
> >
> > Anything after declare can be arbitrary provided it's written the same way when

> > "MAT" prefix, it appeared to us, in a way, safer, as it avoided confusion with
> > POV syntax reserved keywords such as "texture" or "material" and here "MAT" also
> > specifies the hierarchy of the translated Blender
> > item to be a material (in Blender terms), as opposed to a texture (in Blender
> > terms) that can be nested into the said materials. Since users of the graphical
> > interface could perfectly have given them the same names, this explains our way
> > of thinking as a disambiguation.  Now, this does not mean that you should not go
> > over your scene and check whether every named #declare MAT_something is also
> > called as MAT_something later in the scene. And, if not, you could indeed rename
> > them with the same name (but it can be whatever you want). To do this it is
> > required that you first fully grasp what is attempted by a stable working
> > version of the script (before Blender 2.8 broke everything leaving us with huge
> > rewriting tasks(2.78 should do)). Namely and as explained in my previous link,
> > try to understand:
> > *POV-Ray "finish map" trick that is used to create specular maps,
> > *layered textures, as they are used to overlay various textures that could have
> > transparencies,
> > *what the "metallic" keyword does since it is used to emulate the colored
> > specular feature of previous Blender versions by specifying a colored but
> > trasparent finish to put over a simpler form of pigment,
> > * normal and image_map to be used into the respective bump and diffuse Blender
> > influence channels from texture slots (Blender 2.8 broke texture slots)
> > *Finally the replacement of a texture by a function to be able to call its
> > components (whatever.s to get its saturation or .v for value) and this allows it
> > to be used equally in grey level expecting keywords or other channels with just
> > one initial declaration.
> >
> > You will find all of this, and even more, into the excellent POV-Ray
> > documentation which is objectively the best in the world, Thanks mostly to Jim
> > Holsenback ! (...and the rest of this lovely community :-))
> > I hope you do get there, so you can help us to get the exporter back on its feet
> > after the earthquake through which we managed to hold what remains together ;-)
> > Thanks for your patience.
>
> Hi.
>
> That is a lot of jargon.
>
>
> This doesn't have to do anything with my problem, but yesterday I downloaded the
> blender 2.79 nightly build, which allowed me to basically restart Blender.
>
> When I want to enable the Pov ray addon it has these 2 branches, one saying
> "binaries location" and the other say "include location".
>
> I usually put the pvengine64.exe in the Binary branch, but leave the "Included"
> empty. Am I supposed to put something there? And.. am I supposed to even put the
> pov ray executable in the binaries branch?

Hi, sorry for the very late response which probably is no longer necessary but
still worth giving for archival :
The two fields aren't as necessary under windows where most things get
autodetected but providing them is safer : Binary path is indeed your
pvengine64.exe path,  while include path is the path where your default POV
includes will be such as colors.inc etc.


Post a reply to this message

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