Examen Final Flashcards

1
Q

¿Qué es un conjunto ortonormal de vectores?

A

Son un conjunto de vectores perpendiculares normalizados que sirven como base de un sistema de referencia

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

La siguiente línea de código ejecuta un kernel ¿de qué manera?
kernelFun <(2, 1)> (a, b, c);

a) Ninguna de las opciones
b) 3 bloques de 1 thread
c) 1 thread y 2 bloques
d) 2 bloques y 1 thread

A

a) Ninguna de las opciones

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

El siguiente kernel se ejecutan con 1 blque y 10 threads. El tamaño de a, b, c es de 10. El arreglo a y b ambos tienen valores de 0 a 9 y el arreglo c está lleno de ceros. ¿Cuál será el resultado en c?

__global__ void addKernel(int *c, const int a, const intb)
{
int i = threadIdx.x;
if(i > 5)
c[i] = a[i] + b[i];
}

A

0, 0, 0, 0, 0, 0,12, 14, 18

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

¿A qué se refiere el frustrum usado por la cámara?

A

Son 6 planos que delimitan la información a proyectar en la cámara

Tiene forma de pirámide cuya punta se encuentra en la posición de la cámara

Contiene todo lo visible por la cámara

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

¿Cuál es el resultado del producto cruz entre 2 vectores?

A

Un vector perpendicular

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

El z-buffer guarda todas las distancias de todos los objetos en la escena 3D

A

Falso

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

CUDA es un lenguaje de programación

A

Falso

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Los threads de CUDA toman la información de memoria RAM para procesar la información en GPU

A

Falso

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Cuando un kernel de CUDA se ejecuta, el programa en CPU se congela esperando la terminación de la ejecución del kernel

A

Falso

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

La instrucción cudaMemcpy de CUDA reserva y copia memoria tanto de host a device como de device a host

A

Falso

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

El origen de los procesadores gráficos se remonta a la necesidad de procesar datos genéricos de manera rápida y eficiente

A

Falso

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Los primeros procesadores gráficos permitían la iluminación global pero no era en tiempo real

A

Falso

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

El modelo de iluminación de Phong intenta representar de manera precisa el comportamiento de la luz. Su ejecución y calidad depende de la GPU con la que sea usado

A

Falso

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

En el experimento de la cámara de pinhole siempre usamos el plano de la imagen del fondo de la cada por ser más preciso que el frontal

A

Falso

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

En el experimento de la cámara de pinhole el tamaño del agujero en la caja determina el tamaño de la imagen

A

Falso

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Propiedades de las coordenadas homogéneas

A

Utilizan una dimensión superior para realizar operaciones en dimensiones inferiores utilizando una única matriz

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

¿Qué receptores se encuentran al fondo de la retina?

A

Conos y bastones

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Bastones

A

Más numerosos que los conos, responsables por la visión en condiciones de baja luz y no funcionan en luz brillante. No ven color

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Conos

A

No responden en condiciones de baja luz, responsables por la visión de alta resolución y la percepción de color. Más centrados al centro

20
Q

Punto ciego de nuestro ojo en la retina

A

Nervio óptico

21
Q

Bases ortogonales

A

Si todos los vectores de dicho conjunto tienen norma igual a uno entonces son vectores ortonormales

22
Q

¿Qué son las coordenadas homogéneas?

A

Se refieren a coordenadas usadas para expresar multiplicaciones y traslaciones en una sola operación. Esto, subiendo una dimensión

23
Q

¿Qué es un conjunto ortonormal de vectores?

A

Sn un conjunto de vectores perpendiculares normalizados que sirven como base de un sistema de referencia

24
Q

Sistema coordenado Euclidiano

A

Definido por 2 o 3 ejes ortogonales igualmente escalados (ortonormales)

El valor de cada una de las coordenadas corresponde a la proyección ortogonal del vector en dicho punto sobre el eje determinado

25
Q

Cliping Space

A

Espacio siempre visto por la cámara, definido por 6 planos

26
Q

Plano de Proyección

A

Pasar oficialmente de 3D a 2D.

La proporción del plano de proyección es llamado aspect ratio de la pantalla (ancho / altura)

27
Q

¿En qué factores se basan la mayoría de los modelos de iluminación?

A

Componente Difuso
Componente Ambiental
Componente Especular

28
Q

¿Cómo está compuesto el modelo de iluminación Phong?

A

Ambiente + Difuso + Especular = Phong

29
Q

¿Qué se necesita para calcular Phong?

A

L normal de la superficie, el vector de dirección de la luz, el vector hacia el observador y el vector reflejado

30
Q

Luz Ambiental

A

Componente que representa la luz producida por el entorno. Dispersión de todos los objetos.

Denota la intensidad de la luz al ambiente. Es la cantidad de luz del ambiente que es reflejada por una superficie

31
Q

Reflexión difusa

A

Componente que representa la luz de una fuente que se dispersa por la superficie de los objetos.

Nace de la premisa de que la luz proveniente de cualquier fuente de iluminación es reflejada de manera uniforme en toda dirección

32
Q

Reflexión especular

A

Componente que representa la luz que es reflejada directo al observador.

Objetos metálicos o pulidos

33
Q

Forward Raytracing

A

Se sigue la trayectoria de un fotón hasta que choque con el plano de la imagen

Se podría lanzar únicamente los rayos que tengan potencial de interactuar con un pixel de la imagen, lo cual se complica a medida que se consideran diferentes materiales

34
Q

Problemas del Forward Raytracing

A

Se asume que se va a encontrar por cada fotón un choque con el plano de la imagen a generar

Simular la interacción de todos los fotones que interactúan con los objetos de una escena no es una implementación práctica

35
Q

Backward Raytracing

A

Proceso inverso al forward raytracing. En lugar de tratar de encontrar los rayos emitidos por la luz que choquen con el plano de la imagen, se busca desde la imagen el camino del rato que choca con cada pixel.

Se realiza una emisión de rayos. En su versión más simple se conoce como raycasting

Cada rayo emitido tendrá interacciones con diversos objetos, aplicando diversas condiciones dependiendo del objeto con el que se interactúa

36
Q

Backward Raytracing - Rayos

A

No se busca únicamente las itneracciones directas de los rayos emitidos, si no también los rebotes y creaciones de nuevos rayos -> Raytracing

37
Q

Backward Raytracing - Raycasting

A

Los rayos emitidos directamente desde la cámara son conocidos como rayos primarios, durante cada interacción y creación de nuevos rayos se denominan rayos secundarios. También existen rayos que no tendrán interacción en absoluto

38
Q

Implementación Raycast

A

Lanzar rayos a través del plano de la imagen

Origen de los rayos: cámara

Se lanzan tantos rayos como pixeles existan en la imagen

Se define al rayo con un origen y dirección, cámara y punto en el plano de la imagen, especificicamente el centro de cada pixel

Se busca la intersección del rayo con algún objeto de la escena. Cuando no colisionan con cada se considera que proyectan a infinito

Después del primer rebote se calcula un rayo rebotado, realizando una nueva búsqueda de intersecciones con todos los objetos en la escena. Cada intersección nueva aporta al color final del pixel que lanzó el rayo, si intersecta con una luz se calcula la iluminación correspondiente.

39
Q

addKernel«<1, size»>(dev_c, dev_a, dev_b);

A

Número de bloques y número de threads

40
Q

¿Qué cantidad de threads se recomienda mandar?

A

Mínimo 128 threads

41
Q

Kernel

A

Encapsulamiento de código que se va a ejecutar. Serie de instrucciones encapsuladas en una especie de función la cual se va a ejecutar en paralelo usando threads, donde cada uno tomará una copia del código y lo ejecutará

42
Q

cudaStatus = cudaMemcpy(dev_a, a, size * sizeof(int), cudaMemcpyHostToDevice);

A

Se copia la memoria, Destino, Origen, Cantidad (cuánta información), y la dirección de dónde a dónde.

43
Q

CUDA Índices

A

i = blockDim.x * blockIdx.x + thread.x

j = blockDim.y * blockIdx.y + thread.y

index = j * width + i

44
Q

Cantidad máxima de threads por bloque

A

1024 threads por bloque

45
Q
A