POV-Ray : Newsgroups : povray.beta-test : 3.8.0 block pattern, density list parsing issue. : 3.8.0 block pattern, density list parsing issue. Server Time
20 Apr 2024 07:55:50 EDT (-0400)
  3.8.0 block pattern, density list parsing issue.  
From: William F Pokorny
Date: 5 Jan 2018 09:38:20
Message: <5a4f8ddc$1@news.povray.org>
The following test scene parses fine in 3.7.0.4.

It fails to parse in 3.8/master at commit bb85b4fd on Sat Nov 18 
22:10:56 2017 +0100.

In digging the last commit I've found which works is 2c4e9f2 on Fri Jun 
13 09:50:05 2014 +0200. Some time between that commit and 9b10411 on Mon 
Jul 21 23:17:10 2014 +0200 something changes such that we get this core 
dump:

povray_9b10411:  backend/parser/express.cpp:3129:  boost::shared_ptr<X>
pov::Parser::Parse_Blend_List(int, pov::ColourBlendMapConstPtr, int)
[with MAP_T = pov::GenericPigmentBlendMap; pov::ColourBlendMapConstPtr =
boost::shared_ptr<const pov::ColourBlendMap>]:  Assertion `Blend_Type ==
PIGMENT_TYPE' failed.  Aborted (core dumped)

At some point between d1d01eb on Fri Sep 18 19:12:10 2015 and eeeb2c5 on 
Sun Jan 3 02:13:09 2016 the core dump is fixed and we start to get part 
of the parse error which carries forward to the present day.

Still digging, but no more time for it today and unsure when I can get 
back to it. Posting what I have.

//--- Block pattern density lists.
//    OK in 3.7.0.4
//    Fails to parse in 3.8/master as of commit bb85b4fd
//    on Sat Nov 18 22:10:56 2017 +0100.
#version 3.7;
global_settings { assumed_gamma 1 }
#declare Sphere00 = sphere { <0,0,0>, 0.5 }
#declare Red = srgb <1,0,0>;
#declare Dred = density { color Red }
#declare Green = srgb <0,1,0>;
#declare Dgreen = density { color Green }
#declare Blue = srgb <0,0,1>;
#declare Dblue = density { color Blue }
#declare Yellow = srgb <1,1,0>;
#declare Dyellow = density { color Yellow }
#declare Cyan = srgb <0,1,1>;
#declare Dcyan = density { color Cyan }
#declare Magenta = srgb <1,0,1>;
#declare Dmagenta = density { color Magenta }
#declare DensityBrick = density {
     brick
     density { Dred }
     density { Dgreen }
     scale 0.2 warp {turbulence 0.5}
}
#declare DensityChecker = density {
     checker
     density { Dred }
     density { Dgreen }
     scale 0.2 warp {turbulence 0.5}
}
#declare DensityObject = density {
     object {
         Sphere00
         density { Dred }
         density { Dgreen }
     }
     warp {turbulence 0.5}
}
#declare DensityHexagon = density {
     hexagon
     density { Dred }
     density { Dgreen }
     density { Dblue }
     scale 0.2 warp {turbulence 0.5}
}
#declare DensitySquare = density {
     square
     density { Dred }
     density { Dgreen }
     density { Dblue }
     density { Dyellow }
     warp {turbulence 0.5}
}
#declare DensityCubic = density {
     cubic
     density { Dred }
     density { Dgreen }
     density { Dblue }
     density { Dyellow }
     density { Dcyan }
     density { Dmagenta }
     warp {turbulence 0.5}
}
#declare DensityTriangular = density {
     triangular
     density { Dred }
     density { Dgreen }
     density { Dblue }
     density { Dyellow }
     density { Dcyan }
     density { Dmagenta }
     scale 0.2 warp {turbulence 0.5}
}
//--- end


Post a reply to this message

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