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

background { color rgb < 1.00, 1.00, 1.00 > }

#declare vermelho =
  texture {
    pigment { color rgb < 1.00, 0.00, 0.00 > }
  }

#declare verde =
  texture {
    pigment { color rgb < 0.00, 1.00, 0.00 > }
  }

#declare azul =
  texture {
    pigment { color rgb < 0.00, 0.00, 1.00 > }
  }

#declare cinza =
  texture {
    pigment { color rgb < 0.33, 0.33, 0.33 > }
  }

#declare branco =
  texture {
    pigment { color rgb < 1.00, 1.00, 1.00 > }
  }

#declare Metallic_Finish =
  finish {
    metallic
    ambient 0.1
    diffuse 0.65
    specular 0.85
    roughness 0.01
    reflection 0.45
    brilliance 1.5
  }

#declare Aluminum =
  texture {
    pigment { rgb <0.55, 0.5, 0.45> }
    finish { Metallic_Finish }
  }

#declare Starfield =
  texture {
    pigment {
      granite
      color_map {
        [0.72 rgb 0.00]
        [0.72 rgb 0.20]
        [0.75 rgb 0.40]
        [0.78 rgb 0.60]
        [0.81 rgb 0.80]
        [0.85 rgb 0.95]
        [0.91 rgb 1.00]
        [0.91 rgb 0.00]
      }
      scale 0.015
    }
    finish { ambient 1 }
  }

#include "eixos.inc"

#macro obra(texto)

  text {
    ttf "arial.ttf" texto 0.15, 0.00
    texture { verde }
    rotate 180 * z
    rotate -90 * x
  }

#end

#macro asa(altura, larY, compX, textura)

  union {
    box {
      <0.00, -0.05, 0.00>
      <0.40 * compX, 0.05, 0.50 * altura>
      texture { textura }
    }

    box {
      <0.40 * compX, -0.05, 0.00>
      <0.70 * compX, 0.05, 0.35 * altura>
      texture { textura }
    }

    box {
      <0.70 * compX, -0.05, 0.00>
      <compX, 0.05, 0.20 * altura>
      texture { textura }
    }
  }

#end

#macro pedQuadrado(altura, larY, compX, textura)

  union {

    box {
      <0.00, 0.00, 0.00>,
      <compX, larY, altura>
      texture { Aluminum }
    }

    box {
      <-0.10, -0.10, 0.00>,
      <compX + 0.10, larY + 0.10, 0.10>
      texture { textura }
    }

    box {
      <-0.10, -0.10, altura>,
      <0.10 + compX, 0.10 + larY, altura - 0.10>
      texture { textura }
    }

    box {
      <-0.10, -0.10, 0.00>
      <0.10 + compX, 0.00, altura>
      texture { textura }
    }

    box {
      <-0.10, larY, 0.00>
      <0.10 + compX, larY + 0.10, altura>
      texture { textura }
    }

  }

#end

#macro logo(texto)

  union {
    union {
      object { pedQuadrado(2.00, 1.00, 1.00, Starfield) }

      object { asa(2.00, 1.00, 1.00, Starfield)
        rotate x * (30 - 50 * clock)
        translate z * 2.00
        translate y * 0.50
      }

      object { asa(2.00, 1.00, 1.00, Starfield)
        rotate x * (150 + 50 * clock)
        translate y * 0.50
      }

        rotate -90 * x
        rotate 45 * z
        translate (1.50 + clock) * z
        translate 1.20 * x
    }

    object { obra(texto)
      scale 0.90
      rotate -45 * z
      translate (0.70 + clock) * z
      translate 1.90 * x
      translate 0.70 * y
    }

  }

#end

union {
  object { eixos( 3.00 ) }
  object { logo("SciFi") }

}

#include "camlight.inc"
#declare centro_cena = < 0.00, 0.00, 0.00 >;
#declare raio_cena = 6.00;
#declare dir_camera = < 7.00, 14.00, 4.00 >;
#declare dist_camera = 6.00;
#declare intens_luz = 1.00;
camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)