POV-Ray : Newsgroups : povray.beta-test : POV-Ray v3.7.1-beta.3 Released : Re: POV-Ray v3.7.1-beta.3 Released Server Time
28 Apr 2024 04:39:37 EDT (-0400)
  Re: POV-Ray v3.7.1-beta.3 Released  
From: Billabong
Date: 27 Feb 2017 04:00:01
Message: <web.58b3e92f48a761e669fde9b50@news.povray.org>
Hi again,
the source is not too long, so I simply pasted it below.
BR Billabong

//================

#version 3.7;

global_settings {
  assumed_gamma 2.2
  max_trace_level 16
}


camera {
  location  <0,1,-2.8>
  up <0,1,0>
  right <1,0,0>
  look_at <0,1,10>
}

#declare Y = -0.2;
#while (Y<2.2)
    light_source {
        0*x
        color rgb 0.7
        translate <0, Y,0.7>
    }
    #declare Y = Y + 0.2;
#end

light_source {
    0*x
    color rgb 2
    translate <0, 0.7,1.7>
}
//--------

sky_sphere { pigment { rgb 1} }

#declare Random = seed(7);

#macro Ice_Texture(Random)
 texture  {
  pigment {
     color rgbf <0.5+rand(Random)/5,0.8+rand(Random)/5,1-rand(Random)/10,1>
  }
  finish {
   diffuse 0.9
   reflection 0.05
   brilliance 7
  }
 }
#end


#macro Fire_Texture(Random,Transparenz)
 texture {
  pigment {
     color rgbf
<1-rand(Random)/10,0.15+rand(Random)/10,rand(Random)/10,Transparenz>
  }
  normal { quilted scale 1-rand(Random)/4 }
  finish {
   diffuse 0.9
   ambient 0.5
   reflection 0.2
   brilliance 2
  }
 }
#end

#macro Triangle_SplitF(point1,point2,point3,Nesting,Transparenz)
  #if(Nesting<15)
   #if(vlength(point1-point2)>vlength(point2-point3))
    #if(vlength(point1-point2)>vlength(point1-point3))
     #local point4 = point1 + (0.4+rand(Random)*0.2)*(point2-point1);
     Triangle_SplitF(point1,point3,point4,Nesting+1,Transparenz)
     Triangle_SplitF(point2,point3,point4,Nesting+1,Transparenz)
    #else
     #local point4 = point1 + (0.4+rand(Random)*0.2)*(point3-point1);
     Triangle_SplitF(point1,point2,point4,Nesting+1,Transparenz)
     Triangle_SplitF(point2,point3,point4,Nesting+1,Transparenz)
    #end
   #else
    #if(vlength(point2-point3)>vlength(point1-point3))
     #local point4 = point2 + (0.4+rand(Random)*0.2)*(point3-point2);
     Triangle_SplitF(point1,point3,point4,Nesting+1,Transparenz)
     Triangle_SplitF(point2,point1,point4,Nesting+1,Transparenz)
    #else
     #local point4 = point1 + (0.4+rand(Random)*0.2)*(point3-point1);
     Triangle_SplitF(point1,point2,point4,Nesting+1,Transparenz)
     Triangle_SplitF(point2,point3,point4,Nesting+1,Transparenz)
    #end
   #end
 #else
  triangle{point1,point2,point3 Fire_Texture(Random,Transparenz)}
 #end
#end

Triangle_SplitF(<-10,-10,5>,<10,-10,5>,<10,10,5>,0,0)
Triangle_SplitF(<-10,-10,5>,<-10,10,5>,<10,10,5>,0,0)


#macro Tetraeder(point1,point2,point3,point4,Texture)
mesh {
 triangle{point1,point2,point3 texture{Texture}}
 triangle{point1,point2,point4 texture{Texture}}
 triangle{point1,point4,point3 texture{Texture}}
 triangle{point4,point2,point3 texture{Texture}}
}
#end


#macro Tetraeder_Split(point1,point2,point3,point4,Nesting)
  #if(Nesting<12)
   #local vl12 = vlength(point1-point2);
   #local vl13 = vlength(point1-point3);
   #local vl14 = vlength(point1-point4);
   #local vl23 = vlength(point2-point3);
   #local vl24 = vlength(point2-point4);
   #local vl34 = vlength(point3-point4);
   #if(vl12>=vl13 & vl12>=vl14 & vl12>=vl23 & vl12 >= vl24 & vl12 >= vl34)
    #local point1a = point1;
    #local point2a = point2;
    #local point3a = point3;
    #local point4a = point4;
   #else
    #if(vl13>=vl14 & vl13>=vl23 & vl13 >= vl24 & vl13 >= vl34)
     #local point1a = point1;
     #local point2a = point3;
     #local point3a = point2;
     #local point4a = point4;
    #else
     #if(vl14>=vl23 & vl14 >= vl24 & vl14 >= vl34)
      #local point1a = point1;
      #local point2a = point4;
      #local point3a = point2;
      #local point4a = point3;
     #else
      #if(vl23 >= vl24 & vl23 >= vl34)
       #local point1a = point2;
       #local point2a = point3;
       #local point3a = point1;
       #local point4a = point4;
      #else
       #if(vl24 >= vl34)
        #local point1a = point2;
        #local point2a = point4;
        #local point3a = point1;
        #local point4a = point3;
       #else
        #local point1a = point3;
        #local point2a = point4;
        #local point3a = point1;
        #local point4a = point2;
       #end
      #end
     #end
    #end
   #end

   #local point5a = point1a + (0.4+0.2*rand(Random))*(point2a-point1a);
   Tetraeder_Split(point1a,point4a,point3a,point5a,Nesting+1)
   Tetraeder_Split(point2a,point4a,point3a,point5a,Nesting+1)
 #else
  Tetraeder(point1,point2,point3,point4,Ice_Texture(rand(Random)))
 #end

#end

Tetraeder_Split(<-0.8,0,-0.8>,<0.8,0,-0.8>,<0,2.4,0>,<0,0,-0.7>,0)
Tetraeder_Split(<-0.8,0,0.8>,<0.8,0,0.8>,<0,2.4,0>,<0,0,0.7>,0)
Tetraeder_Split(<-0.8,0,-0.8>,<-0.8,0,0.8>,<0,2.4,0>,<-0.7,0,0>,0)
Tetraeder_Split(<0.8,0,-0.8>,<0.8,0,0.8>,<0,2.4,0>,<0.7,0,0>,0)

triangle {<-1.45,-0.8,0.8>,<1.45,-0.8,0.8>,<0,2.8,0.8> pigment {rgb 1} }













William F Pokorny <ano### [at] anonymousorg> wrote:
> On 02/25/2017 07:20 AM, Billabong wrote:
> > Thank you so much for pushing forward for a new release stepping of Povray.
> >
> > I am new in this forum. I have been using V3.7 for some years and now trying out
> > the beta releases. I am re-rendering some of the old competition sources and
> > found a source file that crashes at parsing in beta.3 and also beta.2, but runs
> > fine on the v3.7. I have a pretty standard machine running Win10.
> >
> > I don't know whether you are interested to use such source for debugging and how
> > I can contribute such source?
> >
> > BR Billabong
> >
> >
>
> Yes, interested. If you can prune down to some minimal set of SDL
> causing the crash(1) - more interested :-). Pruned to a small number of
> lines you can post it inline here. Otherwise largish text files can be
> posted to the povray.text.scene-files group (or as an attachment to a
> new github issue - needs to have a .txt suffix added). If you can create
> zip files or tar files these can be posted as binaries to the
> povray.binaries.scene-files group or again to github as an attachment to
> an issue.
>
> There is further detail on how to report bugs at the bottom of this wiki
> page:
>
> http://wiki.povray.org/content/HowTo:Contents
>
> Bill P.


Post a reply to this message

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