lunes, 27 de agosto de 2007

Práctica 1: "Ambiente de trabajo y conf. de proyectos"

OBJETIVO

En esta primer práctica lo que se quiso hacer es conocer el ambiente de trabajo en el que se desarrollaran las prácticas (Visual Studio 2005 ó Visual C++ 2005), así como la correcta instalación de componentes extras (glut) que son necesarios para que un proyecto se ejecute de la manera que queramos.

SOFTWARE

Para realizar la práctica requerimos de programas y archivos instalados en nuestro sistema. Los programas y archivos son Visual C++ 2005 y Glut de Open GL. Las direcciones donde se encuentran estos archivos son:
  • http://www.microsoft.com/spanish/msdn/vstudio/express/VC/default.mspx (Para Visual C++ 2005)
  • http://www.opengl.org/resources/libraries/glut/ (Librerias Glut)
DESARROLLO

El primer paso es instalar Visual C++, para esto si ga las instrucciones de descarga e instalación que se dan . Una vez instalado podemos abrir el programa. Al principio es un poco tardado debido a que se tienen que configurar algunas cosas dentro de este programa.

Ya dentro de visual lo primero que hicimos fue conocer el entorno de trabajo de este programa, el cual, luce parecido a versiones anteriores de este. El primer paso para crear un proyecto es abrir un nuevo documento. Esto se hace seleccionando la pestaña de Archivo/Nuevo/Proyecto en la barra de menús. En seguida de esto aparecerá un sub-menú donde podremos elegir el tipo de proyecto que querramos realizar. Seleccionamos la pestaña de Win32 y automáticamente apareceran las subclases de esta selección. Se elige la opción Aplicación de consola Win32, dandole un nombre a este proyecto y se verifica la ruta en la que se alojarán los archivos de los proyectos realizados. Esta ruta se encuentra debajo de la casilla donde se pone nombre y es importante hacer notar que esta ruta se puede modificar para tener bien ubicados estos archivos. Después de esto aceptamos.

A continuación aparecerá un asistente para la configuración de aplicaciones Win32, hacemos clic en siguiente y aparecerá otro menú de configuración donde debemos seleccionar el tipo de aplicación deseada. En este caso, aplicación de consola. También debemos hacer clic en la pestaña de proyecto vacío en las opciones adicionales. Escogemos proyecto vacío ya que no queremos que se le agregue ningún archivo de origen al proyecto. Hacemos clic en finalizar y listo.

Ya estando en el área de trabajo principal agregamos un archivo .c haciendo clic en Proyecto/Agregar nuevo elemento. En el menú de categorias escogemos la opción codigo y dentro de plantillas la opción de archivo C++ (.cpp), dándole un nombre al archivo y quitando la extensión .cpp y dándole extensión .c, de otra manera se guardará como archivo C++.

En seguida se abre el editor con el nombre del archivo en una pestaña en la parte superior del editor. Para probar que todo funcione correctamente se hace una prueba, haciendo un pequeño programa como lo es el "Hola mundo":

# include "stdio.h"
void main(void)
{
printf("Hola mundo.\n");
}

Nos dirigimos a la pestaña generar/generar solucion de la barra de menú (F7). Al hacer esto el programa compila el código y da un resúmen de lo encontrado, es decir, te dice si hay errores. Después de esto debemos depurar el código, haciendo clic en la opción Depurar/Iniciar depuración (F5). Al hacer esta acción vemos que el programa se ejecuta pero lo hace tan rápido que no se puede apreciar bien. Para corregir esto lo que se debe hacer es elegir la opción Depurar/Iniciar sin depurar con lo cual el programa se ejecuta y espera a que se oprima alguna tecla para salir.

Con estes breve ejecicio verificamos que el programa Visual C++ este funcionando correctamente.

PASOS A SEGUIR PARA CONFIGURAR UN PROYECTO QUE PUEDA UTILIZAR LA LIBRERIA GLUT

Ahora debemos de enfocarnos en los 2 archivos glut que descargamos. Se descomprimen los 2 archivos descargados (glut37.zip y glutdlls37beta.zip), seguido de esto se crea una nueva carpeta en la ruta que mejor convenga a cada uno. Esta carpeta tendrá el nombre de devel (preferentemente, aunque no es forsozo) y dentro de esta carpeta se crearan otras 3 nuevas carpetas con los nombres: lib, dll e include.

Dentro de la carpeta lib se tendrán que copiar los dos archivos con la extensión .lib que fueron descomprimidos del archivo glutdlls37beta.zip. La carpeta dll contendrá los dos archivos con la extensión .dll que fueron descomprimidos de este mismo archivo. En la carpeta include se debe de crear una nueva carpeta con el nombre de GL y dentro de esta carpeta se debe de poner el archivo glut.h que también fue descomprimido anteriormente.

Habiendo hecho estos pasos lo que sigue es cambiar la variable de entorno del sistema para que automaticamente reconozca los archivos .dll que ocupa este proyecto. Este tema se tratará a fondo en los siguientes puntos.

Para poder ejecutar el código que se desee usando glut se deben de hacer algunos cambios dentro del ámbito de desarrollo de Visual C++ 2005. Estos cambios son:
  1. Teniendo ya un proyecto creado junto con un archivo de código, tenemos que ir al menú de Proyecto y elegir la opción Propiedades. Al hacer esto se desplegará una serie de pestañas, de las cuales sólo nos interesan 2. La primera es la que dice C/C++, damos clic en el símbolo + y se desplegará un submenú, ahí damos click en General y en la opción de Directorios de inclusión adicionales colocamos la ruta que contiene la carpeta include donde previamente se había guardado el archivo glut.h.
  2. La segunda pestaña que nos interesa es la que dice vinculador. Al igual que con C/C++ al dar clic sobre esta pestaña se desplegará un submenú en donde le debemos de dar clic a la opción General y en la línea donde dice Directorios de bibliotecas adicionales le damos la ruta de la carpeta lib, la cual contiene los archivos con extensión .lib que descargamos.
Habiendo hecho esto, se puede continuar con la ejecución del proyecto.

Diferencia
entre crear un proyecto C++ Win 32 Console Aplication y un proyecto C++ Win 32 project

La diferencia entre estas dos opciones radica en que cada una de ellas tiene opciones de configuración diferentes para crear un proyecto. Mientras que para una aplicación de consola los archivos de aplicación incluyen un archivo .cpp y una función main vacía, para el Win 32 project se crea una aplicación ejecutable en Windows. En esta última opción los archivos de aplicación incluyen un archivo projectname.cpp.

DIFERENCIA ENTRE EJECUTAR UNA APLICACION EN MODO DE DEPURACION Y SIN DEPURAR

La mayor diferencia que se tiene entre estas 2 opciones es que cuando se ejecuta una aplicación sin depurar, los errores en el tiempo de ejecución no se toman en cuenta, mientras que cuando se hace en el modo de depuración se tiene un mayor control sobre el programa, ya que los errores en tiempo de ejecución los podemos ver y corregir, además de que se pueden apreciar mejor los cambios que se le hacen sobre la marcha al programa.

VARIABLES DE ENTORNO: CÓMO SE CREAN Y/O MODIFICAN EN WINDOWS VISTA

Las variables de entorno son cadenas que contienen información como la unidad, la ruta de acceso o el nombre del archivo. Controlan el comportamiento de diversos programas. Todos los usuarios pueden agregar, modificar o quitar una variable de entorno de usuario. Sin embargo, sólo un administrador puede agregar, modificar o quitar una variable de entorno de sistema.

En el caso de windows vista es bastante fácil el poder hacerlo. Lo primero que se debe de hacer es entrar en la opció de panel de control (Inicio->Panel de control). Una vez ahí se escoge la opción de sistema, a continuación en el menú que aparece a la derecha se da un clic en el link "Configuración avanzada de sistema". Es importante hacer notar que para acceder a este panel de configuración se debe de contar con los privilegios de administrador, ya sea entrando desde la cuenta del administrador o dándo el nombre de usuario y contraseña del administrador.

Una vez dicho esto y accediendo a este link, se presenta un menú, en el cual en la parte inferior del lado derecho hay un botón con la inscripción "Variables de entorno". Le damos clic a este botón y nos aparece otro menú donde se puede apreciar un cuadro que contiene nombre y uno de ellos es el de PATH. Hacindo doble clic sobre el nombre aparece de nueva cuenta un menú dondese leen 2 opciones: nombre de la variable y valor de la variable. Hacemos clic en el segundo y colocamos el puntero en el final de la cadena. Se arega un ; que es la indicación de que se va a agregar una ruta para esta variable PATH y se escribe la ruta de la carpeta o archivo que se desee anexar, en este caso en particular nosotros deseamos incluir a la carpeta dll.




TAREA 1

WGA (Windows Genuine Advantage)

Es un programa Active X creado por Microsoft para detectar si el SO Windows que se ejecuta en esa PC fue comprado a Microsoft o no. Esta comprobación se lleva a cabo cuando se ingresa al Centro de Downloads de Windows en internet y se intenta bajar un producto “Premium”.

La intención de Microsoft al crear el WGA es que las personas que posean Windows Ilegal (una copia sin pagar a Microsoft) no puedan tener los mismos beneficios que aquellos que tienen una copia original de Microsoft.


VESA (Video Electronics Standards Association)

es una asociación internacional de fabricantes de electrónica. Fue fundada por NEC en los años 80 del siglo XX, con el objetivo inicial de desarrollar pantallas de vídeo con una resolución común de 800x600 píxeles. Desde entonces, la VESA ha otros estándares relacionados con funcionalidades de vídeo en periféricos de los IBM PC y compatibles, como conectores, BIOS o características de la frecuencia, transmisión y sincronización de la imagen.
XGA (Extended Graphics Array)

El arreglo de gráficos extendido es un refinamiento de la VGA estándar. Este sistema provee un bus maestro de 32 bits para sistemas mico basado en canal. El bus maestro tiene su propio procesador que le permite operar independientemente de la motherboard, liberando el procesador principal.

Este sistema permite mejor resolución y colores que el VGA y puede retener hasta 1M de memoria de video. La resolución es variable dependiendo del modelo seleccionado, siendo un máximo de 1024x768 con 256 colores de una paleta de 262,144 colores. A una resolución de 640x480 puede tener una calidad de color casi fotográfica.
VGA (Video Graphics Array)

Esta tarjeta adaptadora de arreglos gráficos de video superó las limitaciones que los adaptadores anteriores tenían en la visualización de color de alta calidad. Los adaptadores anteriores usaban señales digitales para controlar las 3 pistolas de electrones de el CRT. Cada pistola era encendida o apagada por estas señales y limitada a una visualización de 8 colores. Añadiendo una intensidad de señal baja y alta el número de colores que se visualizaban podía alcanzar 16.

La tarjeta VGA genera señales análogas para controlar las pistolas de electrón y debido a eso puede controlar la intensidad de cada pistola variando los niveles. La tarjeta VGA desplegaba texto en una caja de caracteres de 9x16 y tenía una resolución de 640x480.
EGA (Enhanced Graphics Adapter)

El siguiente estándar de la IBM después del CGA fue este. Ofrecía mejoras en la resolución y muchos más colores que la CGA, aunque las habilidades de la EGA seguian siendo muy pobres comparadas con las de los aparatos modernos. EGA ofrecia una salida gráfica arriba de los 16 colores (escogidos de una paleta de 64) a resoluciones de pantalla de 640x350 o texto de 80x25 con 16 colores, todo esto con unaactualización a 60 Hz.

El nivel gráfico EGA es el mínimo requerimiento para windows 3.x y se puede también utilizar en un sistema con windows 3.0.
CGA (Color graphics Adapter)

IBM presentó esta tarjeta de video en 1981 y fue la primera de la corriente principal en soportar gráficas de color en una PC. La CGA soporta diferentes tipos de modalidades; la calidad del modo de texto más alta es de 80x25 caracteres en 16 colores. El rango de las modalidades gráficas desde un monocromo son de 640x200 (que es más baja que la tarjeta Hércules) a 16 colores con 160x200. Esta tarjeta se actualiza a 60 Hz.

Notese que la resolución máxima de la CGA es, de hecho, significativamente más baja que la MDA: 640x200. Estos puntos son accesibles individualmente cuando en un modo gráfico pero en texto cada caracter estaba formado por una matriz de 8x8, en vez de la de MDA de 9x14, resultando en una calidad de texto mucho más pobre. La CGA fue obsoleta cuando fue reemplazada por la EGA.