PDF de programación - Lenguajes 3D

Imágen de pdf Lenguajes 3D

Lenguajes 3Dgráfica de visualizaciones

Publicado el 5 de Abril del 2019
785 visualizaciones desde el 5 de Abril del 2019
378,5 KB
15 paginas
Creado hace 9a (15/10/2014)
INDICE



Contenido

Introducción


Primera aproxinación a una solución: El DirectX


3D Engines


IDEs – 'Integrated Development
Environment''Integrated


Conclusión


Bibliografía

Pag.


2

3

6

8


14

15



1

INTRODUCCIÓN



Todo desarrollo de software requiere de un proceso de planificación, y
un videojuego por ser un software de alto nivel de complejidad no es la
excepción a esta regla. De hecho, para la creación de un videojuego es necesario
el empleo de diversos profesionales en distintas áreas.

Todo videojuego presenta una situación inicial que debe ser remediada
por el jugador a lo largo del juego, es decir, se presenta una historia que debe ser
protagonizada por el jugador. Esto implica la necesidad de contar con escritores
que ideen una historia interesante que cuente con buenos personajes, ambientes
y situaciones.

Una vez definida la historia, inspirados en la misma se procede a
diseñar y crear todo tipo de modelos gráficos que comprenden paisajes,
personajes, vehículos, edificios, etc. Por lo tanto, en necesario contar con todo
un equipo de diseñadores y artistas gráficos.

De la misma manera, es de gran relevancia, la definición de efectos de
sonidos y músicas presentes en el juego. Para ello también son necesarios
ingenieros en sonido y compositores musicales.

Desde luego es necesario el diseño e implementación del 'engine del
juego', que es realizado por todo un equipo de programadores, así como
también el trabajo de todos los profesionales mencionados anteriormente.

Este engine consiste en todo el sistema software que compone al juego
en su tiempo de ejecución. Esta compuesto por una serie de subsistemas
especializados en un aspecto particular de juego, tales como: administración de
las entidades del mismo, manejo de la inteligencia artificial de las entidades,
manejo de
jugadores,
sincronización de actividades entre jugadores, obtención de datos de entrada y
presentación de imágenes y sonidos, entre otros.

inventarios, atributos de

las puntuaciones,

los

Además del exhaustivo trabajo que implica diseñar e implementar cada
uno de estas áreas del juego, los de presentación de imágenes y sonido
requieren aún de mayores esfuerzos debido a la interacción intensiva con el
hardware.



2

Las necesidades mínimas de un desarrollador de juegos son:
Acceso directo al hardware: Especialmente importante en el caso de la
tarjeta de video.
Rapidez: La performance en el desarrollo de un juego es fundamental, DirectX
permite obtener todo el rendimiento posible del hardware.
Facilidad: Sin dudas, tareas como configurar el tipo de video, la profundidad
de colores, la reproducción de sonido, la compatibilidad con el hardware
existente, resultan tareas más sencillas trabajando con DirectX en Windows.

Primera aproximación a una solución: El DirectX

Para aminorar los esfuerzos en el área de desarrollo de videojuegos
fueron desarrolladas las APIs. En particular la empresa Microsoft desarrolló el
producto DirectX, el cual es un conjunto de Interfaces de Programación de
Aplicaciones (APIs), que provee una plataforma de desarrollo para PCs basadas
en Windows permitiendo a los desarrolladores de software acceder a las
capacidades del hardware sin la necesidad de escribir un código específico para
cada hardware.

El núcleo de DirectX son las APIs, las cuales actúan como puente entre
el hardware y software. El DirectX para esto, crea una camada intermedia de
software que traduce los comandos genéricos en comandos específicos para
cada dispositivo, aprovechando asi los recursos del hardware.



La arquitectura principal del DirectX está formada por 2
controladores:


La capa de abstracción de Hardware (HAL)
DirectDraw consulta a la HAL para determinar el tipo de hardware
existente en el sistema. Cuando se crea un objeto DirectDraw, DirectDraw
consulta a la HAL para obtener información que se usa para rellenar una tabla
de capacidades o prestaciones de Hardware.

Algunas de las informaciones que guarda la HAL son: donde comienza

la memoria, de video, sus registros y el color de sistema.



3

La capa de emulación de hardware (HEL)

Digámoslo así, cuando nuestra computadora no

tiene ciertas
capacidades de hardware (Acelerador 3D por ejemplo) HEL emula dichas
capacidades vía software.



Esquema del DirecDraw


Las aplicaciones/juegos que se ejecutan en Windows, logran interactuar
con el hardware accediendo a las funciones del DirectX, las cuales se
parametrizan según el Hardware particular en la subcapa HAL, para obtener
todo el rendimiento posible del hardware. Por último la subcapa HAL envía
instrucciones al dispositivo de Hardware. Cuando otra API en particular ofrece
sus servicios a la aplicación de Windows, ésta convierte sus funciones a un
conjunto de funciones del DirectX.



4

Los componentes de DirectX son:


DirectDraw

DirectDraw es una librería de bajo nivel contenida principalmente en el
archivo ddraw.dll, que le permite al programador acceder al hardware de video
directamente. Además a través de DirectDraw podemos implementar varias
técnicas para el manejo de
intercambio de páginas,
sobreimpresiones, etc.

la memoria,

Direct3D

Direct3D proporciona un librería que permite optimizar la renderización
de objetos 3D tomando las ventajas del hardware existente, o mediante software
si no se encontrara el hardware adecuado.

Renderización: es una técnica que permite que los objetos y escenarios
virtuales tengan una apariencia que se aproxime a lo observado en el mundo
real. Para ello son adicionados a los objetos variaciones de colores y áreas de
sombra. Es una de las etapas mas complicadas en el proceso de generación de
imágenes en los juegos, pues exige una carga pesada de cálculos para
transformar imágenes 3D en bidimensionales, determinando cuales polígonos
estarán visibles o no en un determinado momento, que efectos de iluminación
serán aplicados, etc.
DirectSound

Como su nombre lo indica, la librería de DirectSound maneja todo lo
relacionado con el sonido. Proporcionado tecnologías de mixing, sonido estéreo
y 3D, aprovechando al máximo las capacidades del hardware.

DirectPlay

DirectPlay se encarga de las características multijugador de los juegos.

DirectInput

Proporciona una interfaz para el manejo de entrada y salida. Como el

teclado, el mouse, joystick, etc.

DirectSetup

Se utiliza para automatizar la instalación de los controladores DirectX.



5



Contando aún, con productos como el DirectX el desarrollo de los
aspectos visuales de los juegos implican gran consumo de tiempo por parte del
programador, debido a la necesidad primaria de entender el funcionamiento de
estos productos, además de la cantidad de líneas de código necesarias para
obtener un resultado de dimensiones atómicas.

En otras palabras las APIs como el DirectX proporcionan soluciones
necesarias pero no suficientes para los desarrolladores debido a la necesidad de
programar rutinas de muy bajo nivel.

Esto sugiere la necesidad de nuevas herramientas para el desarrollo de

aplicaciones/juegos.



La primera herramienta para mejorar el desarrollo de los juegos es el
Engine 3D, el cual es una biblioteca de programación que permite un desarrollo
de aplicaciones 3D más sencilla en comparación a las APIs 3D generales como
por ej. DirectX. Mecanismo gráfico responsable por la creación de objetos e
texturas.

Existe un conjunto de herramientas mas completas aún que los Engine
3D, estas proveen un IDE (entorno de desarrollo integrado), su propio engine
y/o lenguajes de programación especializados, además de herramientas para la
creación de los recursos gráficos. A continuación mencionaremos algunas de
estas herramientas de mayor relevancia.



6


SDL (Simple DirectMedia Layer)


Es una API de desarrollo multimedia y multiplataforma libre, usada

para juegos, emuladores, demos y aplicaciones multimedia en general.



Entre las capacidades que ofrece se encuentran:
Video: se puede escoger y establecer modos de video, pintar pixel en pantalla,
cargar y desplegar imágenes.

Eventos: se puede desplegar eventos, consultar eventos y el estado de los
eventos.

Sonido: activa o inicializa el dispositivo de audio y reproducir sonidos.
Hilos: puede crear hilo simple y sincronizar el acceso a recursos.

Temporizadores: puede obtener el tiempo actual y esperar un determinado
tiempo.

Plataformas soportadas: Linux, Windows.


La biblioteca Simple DirectMedia Layer esta disponible bajo la
licencia LGPL versión 2. La cual permite que otros usuarios modifiquen las
bibliotecas sin que ello altere la ejecución de aplicaciones creadas con versiones
anteriores de las bibliotecas. “costo gratis “.



7

IDEs - 'Integrated Development Environment''I


BlitzBASIC


Es un lenguaje de programación diseñado con el fin de escribir
videojuegos y se caracteriza por su potencia y flexibilidad. Este lenguaje provee
capacidades de 2D - 3D.

El conjunto de comandos de 3D ofrecido por este lenguaje es tan
sencillo de manipular como el conjunto de comandos 2D. Ya que el BlitzBASIC
se basa en el conocido BASIC, este hereda sus características de facilidad de uso
y de aprendizaje, lo cual convierte al BlitzBASIC ideal para programadores
principiantes. Blitz
  • Links de descarga
http://lwp-l.com/pdf15651

Comentarios de: Lenguajes 3D (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad