/cg_proyecto2_ray_tracing

Primary LanguageCGNU General Public License v3.0GPL-3.0

cg_proyecto2_ray_tracing

Uso

Por defecto la aplicación si se corre sin ningún parámetro, esta usará el archivo escenario.txt dentro de la carpeta archivos y generará una imagen .avs con resolución 1008 x 567.

Si se desea otro tipo de formato de imagen entonces seguir los siguientes pasos

./bin/main 
           escenario_archivo
           escenario_archivo formato_imagen
           escenario_archivo formato_imagen width height

Ejemplos

./bin/main
./bin/main escenario
./bin/main escenario jpg
./bin/main escenario jpg 504 283

make run
make run i="escenario" t="jpg" w="504" h="283"

Escenario

Estructura txt


//AMBIENTE/
{
    5,
    IA
}


/FOCO/
{
    0,
    {IP, C1, C2, C3},
    {X, Y, Z}
}


/OJO/
{
    3,
    {X, Y, Z}
}


/FRAME/
{
    4,
    {X1, Y1, Z1},
    {X2, Y2, Z2}
}


/ESFERA/
{
    1,
    {R, G, B},
    {KD, KA, KN, KS},
    {X, Y, Z},
    Radio
}


/CONJUNTO DE POLIGONOS/
{
    2,
    {R, G, B},
    {KD, KA, KN, KS},
    { 
        [
            {X1, Y1, Z1},
            {X2, Y2, Z2},
            {X3, Y3, Z3},
            {X4, Y4, Z4}
        ],
        [
            {X1, Y1, Z1},
            {X2, Y2, Z2}
        ],
        .
        .
        .
    }
}

Glosario
KD Coeficiente de reflexión difusa
KA Coeficiente de iluminación ambiente
KN Tamaño de la mancha del reflejo de la luz
KS Coeficiente de reflexión especular
IP Intensidad de la luz del foco
IA Iluminación ambiente
C1, C2, C3 Caída de la luz