// Last edited on DATE TIME by USER
// Processed by remove-cam-lights

background{ color rgb < 0.75, 0.80, 0.85 > }

#declare tx_plastico =
  texture{
    pigment{ color rgb < 0.10, 0.80, 1.00 > }
    finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 }
  }

#declare tx_fosca =
  texture{
    pigment{ color rgb < 1.00, 0.80, 0.10 > }
    finish{ diffuse 0.9 ambient 0.1 }
  }

#declare tx_preta =
  texture{
    pigment{ color rgb < 0.20, 0.20, 0.20 > }
    finish{ diffuse 0.9 ambient 0.1 }
  }

#declare tx_espelho =
  texture{
    pigment{ color rgb < 1.00, 0.85, 0.30 > }
    finish{ diffuse 0.2 reflection 0.7*< 1.00, 0.85, 0.30 > ambient 0.1 }
  }

#declare tx_vidro =
  texture{
    pigment{ color rgb < 0.85, 0.95, 1.00 > filter 0.70 }
    finish{ diffuse 0.03 reflection 0.25 ambient 0.02 specular 0.25 roughness 0.005 }
  }

#declare tx_rosquinha =
 texture{
   pigment{ color rgb < 0.566, 0.276, 0.076 > }
   finish{ diffuse 0.9 ambient 0.1 }
 }

#declare tx_xadrez =
  texture{
    pigment{ checker color rgb < 0.10, 0.32, 0.60 >, color rgb < 1.00, 0.97, 0.90 > }
    finish{ diffuse 0.9 ambient 0.1 }
    scale 2.0
  }

#declare chao =
  box{ <-70,-70,-6>, <+70,+70,-5> }
#declare textoo = text{ ttf "arial.ttf" "OLA" 0.7 0.0 rotate<90,0,0> rotate<0,0,90> texture{tx_preta}}

#macro primeirasLetras(texto, etapa)
  object{ text{ ttf "arial.ttf"
                substr(texto, 1, etapa)
                0.7 0.0
                rotate<90,0,0> rotate<0,0,90>
                texture{tx_preta}
              }
        }
#end

#macro letraChegando(letra, frac, etapa)
  #local posInit = <0,0,0> +<0,etapa*0.68,0>;
  #if (mod(etapa,2)=0)
    #local posFim = <0,0,3> +<0,etapa*0.68,0>;
  #else
    #local posFim = <0,0,-3> +<0,etapa*0.68,0>;
  #end
  #local pos = posFim+frac*(posInit-posFim);
  object{ text{ ttf "arial.ttf"
                letra
                0.7 0.0
                rotate<90,0,0> rotate<0,0,90>
                texture{tx_preta}
              }
          translate pos
        }
#end

#macro logotipo(texto , fase)
  #local n = strlen(texto);
  #local etapa = int(fase*n);
  #local frac = fase*n - etapa;
  #debug concat("etapa=",str(etapa,3,1),"\n" )
  union{
      primeirasLetras(texto, etapa)
      letraChegando(substr(texto, etapa+1, 1), frac, etapa)
  }
#end
#include "eixos.inc"

object{ chao texture{ tx_xadrez }  }

object{logotipo("ABCDEFGHIJKL",clock) scale 1.1 translate<0,-4,0>}

#include "camlight.inc"
#declare centro_cena = < 0.00, 0.00, 0.00 >;
#declare raio_cena = 6.0;
#declare dir_camera = < 14, -7, 4 >;

#declare dist_camera = 70.0;
#declare intens_luz = 1.00;
camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)