Sie sind auf Seite 1von 3

Depuración en Visual C++

La depuración nos permite comprobar que nuestro programa está haciendo lo que querremos que haga.
¿Por qué necesitamos a Direct3D u OpenGL?
– Por que al principio no había uniformidad sobre los drivers para las tarjetas de video.
– Se tuvo que construir una interfaz estándar en medio … y ése fue Windows GDI
– Se tuvieron que crear API’s que no utilizaran las rutinas lentas de dibujo y que permitieran el acceso a la
aceleración por hardware para crear imágenes en 2D y 3D.
¿Quién es mejor DirectX u OpenGL?
– DirectX es una API que encapsula a varias otras: Gráficos (2D y 3D), Sonido, Video, y entrada de
Hardware.
– No se debe de comparar DirectX con OpenGL; se debe comparar OpenGL con Direct3D que es la sub-API
de DirectX que se encarga de las gráficas en 2D y 3D.
– Ninguna es mejor que la otra, ambas cumplen su cometido y ambas son muy similares, difieren en
funciones y clases así como en bibliotecas adicionales.
– AMBAS permiten el acceso a la aceleración por hardware.
¿Qué son las Gráficas por Computadora?
– El conjunto de algoritmos que nos permiten generar una imagen.
¿Qué es una imagen?
– Arreglo bidimensional de puntos de color.
¿Qué es el color?
– La composición de señales de luz dentro del espectro de frecuencias visible para el ojo humano
(promedio).
Composición de colores en los medios físicos
1. Composición aditiva: El color resultante se genera por la suma de componentes de color. Este efecto se da
en medios que emiten luz (monitores por ejemplo), el color resultante está más cerca del blanco que del
negro.
2. Composición substractiva: El color resultante se genera por la resta de componentes de color. Es menos
intenso que las componentes individuales. Este efecto se da en medios que no emiten luz (papel impreso
por ejemplo). El color resultante está más cerca del negro que del blanco.
CMYK vs. RGB
– En RGB el color blanco se obtiene llenando sus componente al 100%, mientras que el negro se obtiene
usando 0% de las componentes.
– En CMYK el color blanco se obtiene al usar 0% de los “tintes”, mientras que el negro se obtiene al saturar
los tintes al 100%.
Pixel: Unidad atómica (indivisible) que compone una imagen. Un pixel se compone de una coordenada (X,Y) y
un color.
El ser humano, ¿ve imágenes discretas o continuas?
– Físicamente hablando; vemos un arreglo de puntos de colores (imágenes discretas), es nuestro cerebro el
que nos hace creer que vemos imágenes continuas.
JPEG
– Este tipo de compresión es tipo “con-pérdida”, es decir, la información resultante no es suficiente para
recuperar la información original.
¿Por qué se le conoce como “color verdadero” (true color)?
– Por que se supone que puede alcanzar tantas intensidades de color como las células del ojo pueden
reconocer como distintas.
El canal Alfa no es una componente per sé, si no más bien nos ayuda a calcular el color final con el que se pinta
el pixel en el monitor. El canal alfa nos permite crear un color a partir de varios colores de imágenes
sobrepuestas.
Procesamiento Digital de Imágenes
– El PDI explota la información que se obtiene de los pixeles y de sus relaciones (posición y frecuencia –
transiciones sobre la posición).

1
Convolución: “Integral qué tanto se intersecta una función g conforme ésta se desplaza sobre otra función f”.
La convolución se puede expresar como suma de productos de polinomios; donde cada coeficiente equivale a
una valor muestreado de la función discreta. La convolución se expresa como un proceso de filtrado.
Gráficas 2D -Composición
– La composición no es más que la suma de la función/imagen 1 con la función/imagen 2 en base a:
– ColorFinal = ColorImagen1*Alfa1 + ColorImagen2*Alfa2
– El problema de las gráficas 2.5D es que no consideran un escalamiento de la imagen a proyectar. Para
realizar dicho escalamiento, hay que transformar la imagen.
Trazado de Rayos
– El algoritmo de trazado de rayos (ray-tracing en Inglés) es uno de los dos algoritmos más comunes para
generar gráficas por computadora. El trazado de rayos se basa en el fenómeno de la luz rebotando en
superficies para así hacerse visibles al ojo humano.
– El otro algoritmo es el algoritmo de rasterización, a veces conocido como z-buffer.
– El trazado de rayos es más antiguo que el algoritmo de z-buffer pero aún tiene presencia en la industria;
principalmente en la industria del cine/tv en vez de la de los videojuegos (consolas y computadoras
personales).
Trazado de rayos hacia adelante
– Los rayos se lanzan desde una(s) fuente(s) de luz hacia la escena.
Desventajas del trazado de rayos hacia adelante:
– Rayos desperdiciados (no todos los rayos golpean objetos en la escena).
– Posible carencia de rayos (no todos los pixeles en la escena renderizada (?) se colorearán con alguna rebote
de un rayo).
– Desempeño inversamente proporcional al número de rayos.
Trazado de rayos hacia atrás
– A diferencia del trazado de rayos hacia adelante, el trazado de rayos hacia atrás traza rayos de la cámara a
través del grid de visualización (monitor/imagen).
– Primitivas de trazado (figuras geométricas elementales que se usan para generar escenas con el algoritmo
de trazado de rayos).
o Esferas
o Planos
o Triángulos
– Primitivas adicionales:
o Cajas y cubos
o Toroides
o Conos
o Pirámides
o Discos
o Cilindros
o Parches

2
El Sistema Operativo ha sido un factor clave que define los tipos de programas que se pueden hacer.
¿Cuáles son los recursos de una computadora?
– Aceleradora gráfica, tarjeta de sonido, disco duro, puertos (USB, firewire, RS-232, paralelo, etc), RAM.

¿Qué significa administrar los recursos de una computadora?


– En términos generales es presentar una “interfaz” a un usuario para accesar ese recurso.
– La interfaz es un conjunto de operaciones que se pueden ejecutar sobre el recurso. Por ejemplo:
– Crear directorio en un disco duro, mover un archivo de un directorio a otro.
– Leer estado de una tecla, leer estado del ratón.
– Enlazar archivo de sonido y buffer de la tarjeta de sonido.
– Dibujar una textura para una superficie tridimensional.

¿Por qué han sido los S.O.’s quienes han definido principalmente los tipos de programas?
– Por que los S.O.’s contienen elementos de software reutilizables por los programadores.

En base a su interfaz con el usuario, en general, existen 5 tipos de programas:


1. Línea de comandos
2. Ventanas simuladas en línea de comandos *
3. Ventanas nativas S.O.
4. Ventanas en Máquinas Virtuales (Java, CLR -.Net-)
5. Demonios
Este es un ejemplo de programas que fueron más allá de lo que el S.O. les permitía.

Línea de comandos
– Se tenía el concepto de pixel, pero la unidad básica de dibujo en la pantalla es un carácter (8x8, 8x16,
16x16, 16x32 pixeles, etc.)
– Este tipo de programas refleja el concepto que los humanos manejamos como “encapsulamiento”; es decir,
la asociación de datos y operaciones sobre una misma entidad.

Ventanas nativas al S.O.


– Este tipo de programas usan las bibliotecas del S.O. para poder dibujar en el monitor.
– En este caso, la unidad básica de dibujo en el monitor al fin es el pixel por sí solo.
– En general, cada programa se le asocia una (a veces más, a veces menos) “ventana” para interactuar con el
usuario.
– La ventana del programa “encapsula” los datos y operaciones del programa que representa.
– Se les considera ventanas “nativas” por que usan las mismas definiciones de ventanas que el S.O. usa para
dibujarse.

Ventanas en máquinas virtuales


– ¿Qué es una máquina virtual?
– Una máquina virtual es un conjunto de códigos que se pone entre un S.O. y un Máquina virtual programa.
– La función principal de una máquina virtual es la portabilidad entre S O ’s, decir, que el programa que se
crea para un S.O. pueda ser usado en cualquier otro S.O. sin necesidad de modificar nada en el programa.

Un “demonio” es un tipo de programa que no presenta una interfaz gráfica al usuario para interactuar.
– ¿Por qué? – Estos programas se diseñan para funcionar de forma “invisible” al usuario o porque no
requieren de una interfaz.
– Ejemplos:
o Invisibles: Antivirus, simuladores de dispositivos, etc.
o No requieren interfaz: Servicios en servidores (sic).
– Nota: En ocasiones se hace uso de otro programa para poder interactuar indirectamente con el demonio.
o Ejemplo: Antivirus, servicios en servidores.
3

Das könnte Ihnen auch gefallen