# Quest3D

Quest3D es la conjunción de un motor de videojuego con una plataforma de desarrollo. Generalmente se usa para arquitectura, diseño de producto, videojuegos, software de entrenamiento y simuladores. Los datos y animaciones son importados de paquetes CAD tales como Maya, 3D Studio Max y AutoCAD, a Quest3D donde son utilizados para la creación de aplicaciones interactivas 3D en tiempo real. Quest3D es un producto desarrollado por Act-3D B.V. en Holanda. Su primera versión fue publicada en septiembre del 2001.

## Entorno de desarrollo

Una de las características más importantantes de Quest3D es la metodología de programación. De una forma totalmente diferente a la de los habituales lenguajes de programación, tales como el C++, el entorno de desarrollo de Quest3D es casi por completo visual. Otra característica destacable es el hecho de que el programador puede modificar la aplicación mientras esta se ejecuta. Esto significa que no existe compilación de código como en los entornos de programación habituales.

### Lógica de las aplicaciones

Las aplicaciones Quest3D se desarrollan conectando componentes funcionales (cajas negras), denominadas "Channels". Los "Channels" vinculados componen una estructura de árbol, que representa la estructura del programa que se implementa. El árbol de cajas negras se ejecuta por completo una vez (al menos) por frame, invocando a cada "channel". Lo que se obtiene como resultado es una aplicación 3D en tiempo real.
Como no hay fase de compilación, o interpretación de un lenguaje de scripting, ya que los "Channels" son cajas con su código precompilado (implementadas en Dynamic Link Libraries), el rendimiento de las aplicaciones es el mismo en fase de diseño que en ejecución, característica muy apreciada cuando se desarrollan aplicaciones en tiempo real.

### Orientación a objetos

Quest3D ha evolucionado en su versión 4.0 y posteriores, permitiendo implementar aplicaciones siguiendo un paradigma de diseño orientado a objetos.
Haciendo uso de su nuevo editor de interfaces y clases, permite de una manera bastante intuituva el encapsulamiento de subárboles de "channels" en "Objetos", que contienen métodos y propiedades. Esta característica aumenta la potencia del entorno, permitiendo aplicaciones mucho más dinámicas.

### Editores

El entorno de Quest3D consiste en diferentes editores especializados en la creación de la aplicación: Editor de "Árbol de Channels", modificación de características de los objetos 3D (modelos 3D), animaciones, programación High Level Shading Language (HLSL) y programación LUA Script entre otros.

### Publicación

Las aplicaciones finalizadas pueden ser publicadas en diferentes formatos, para permitir su visualización en diferentes medios: Fichero ejecutable "standalone" (plataforma Microsoft Windows) y visor WEB basado en control ActiveX. Los navegadores soportados en la actualidad son Internet Explorer y FireFox.

## Requerimientos del sistema

Algunas funcionalidades del motor 3D requieren hardware más específico.
* Windows 2000, Windows XP, Windows Vista (64 or 32 bit) y DirectX 9
* 256 MB RAM
* Procesador de 1Ghz
* Tarjeta gráfica compatible con DirectX
* 32 MB de memoria gráfica
* 400MB de espacio en disco duro

## Licencias

Se pueden adquirir diferentes licencias para el uso tanto comercial como educacional.

## Aplicaciones

Realidad virtual, Videojuegos, visualización arquitectónica, "serious games", simuladores, TV y cine.