// Last edited on DATE TIME by USER // Processed by remove-cam-lights #include "textures.inc" #include "eixos.inc" #include "transforms.inc" #include "shapes.inc" background{ color rgb < 0.75, 0.80, 0.85 > } #declare fonte = "latinwd.ttf" #macro writeAlign(texto, alinhamento, mat, pos) #local espessura=0.3; #local totalWidth = Text_Space(fonte, texto, 1, 0); #if (alinhamento > 0) #local _pos = pos; #else // (align < 0) #local _pos = -totalWidth -pos; #end object { text{ ttf fonte texto espessura, 0 texture {mat} translate<_pos,-0.35,-espessura/2> } #if (alinhamento < 0) scale <-1,1,1> #end } #end #local TransformDirection = array[3][4] { { < 1,0,0>, <1,0,0>, < 0, sqrt(2),-sqrt(2)>, < 0, sqrt(2), sqrt(2)> }, { < 1,0,0>, <0,1,0>, <-sqrt(2), 0, sqrt(2)>, <-sqrt(2), 0,-sqrt(2)> }, { <-1,0,0>, <0,0,1>, <-sqrt(2), sqrt(2), 0>, < sqrt(2), sqrt(2), 0> } }; #macro putchar(texto, eixo, pos) object { writeAlign(texto, TransformDirection[eixo][0].x, Chrome_Metal, pos) Shear_Trans(TransformDirection[eixo][1], TransformDirection[eixo][2], TransformDirection[eixo][3] ) } #end #macro invertString(stri) stri #end #macro logotipo(texto, fase) #local n = strlen(texto); #local tamA = int((n+2)/3); #local tamB = int((n+1)/3); #local tamC = int((n+0)/3); #local subtextos = array[3] { substr(texto, 1, tamA), substr(texto, 1+tamA, tamB), substr(texto, 1+tamA+tamB, tamC) } #local etapa = int(fase*n); #local frac = fase*n - etapa; #local posFinalEixo = array[3]; #local posFinalEixo[0] = 2; #local posFinalEixo[1] = 2; #local posFinalEixo[2] = 2; union { #local i=0; object{ eixos(5.00) } #while (i, 120) translate <-scene_radius/2, -scene_radius/2, -scene_radius/2> } #end logotipo("ABCXYZ123", clock) #include "camlight.inc" #declare centro_cena = <0,0,0>; #declare raio_cena = scene_radius; #declare dir_camera = <1,1,1>; #declare dist_camera = 20; #declare intens_luz = 1.00; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)