REND386 Vintage VR- La real Realidad VIRTUAL, una pausa noventera

Realmente quisiera escribir un extenso artículo acerca de: “¿Qué es realmente la realidad virtual?”. Pero, me tomaré el atrevimiento de hacer el primer tributo en español al paquete  RED386 escrito en idioma español, paquete de programación creado por Bernie Roehl y Dave Stampe en el año 1991.

Antes de iniciar, quisiera recomendar el libro “EL CREADOR DE MUNDOS VIRTUALES” del mismo Bernie Roehl (Anaya Multimedia – 1995), del cual extraigo muchas ideas. Recuerdo haber leído un centenar de veces aquel libro mirando detenidamente todos los esquemas e ideas, extasiado con la promesa de aquella no tan novedosa tecnología.

RED386.jpg
Captura de pantalla de la DEMO REND386.

La Realidad Virtual es antiquísima, tanto como el boom mediático de los monóculos.

En mis largos años de estudiantes de la tecnología y de la ciencia, lamento no haber visto buenos artículos de VR, que no pretendan venderles la VR como la  ultima novedad a la  venta.

Con el presente artículo adicionalmente expresaré un deseo adicional ver algún día una:  “REAL REALIDAD VIRTUAL PARA TODOS”.

virtuality_-_motorcycle
La realidad virtual como invento humano lleva muchos años con nosotros.

BREVE INTRODUCCIÓN

Es importante separar la realidad virtual de los cascos de realidad virtual, o por lo menos lo es para entender de qué trata todo esto. Iniciaré un poco comentando que NO es realidad virtual, una vista al REND386 y finalizaré explicando el cómo sería una Realidad Virtual (VR) real para todos.

Aaron Brancotti AKA Babele Dunnit demoing REND386
Realidad virtual sin cascos (monóculos)  y nadie decía nada,
Fuente de la imagen: See How Strange And Trippy Virtual Reality Was 20 Years Before The Oculus Rift

Mi intención con la presente entrada es enfatizar en la siguiente idea: La realidad virtual vintage nació con una premisa más ambiciosa que la actual, pero al igual que la contemporánea murió anticipadamente en manos del mercado de masas

Iniciemos con lo que NO es  Realidad Virtual vintage:

  • Cascos estereoscópios como Oculus, HTC o clones similares
  • Cascos estereoscópios con celulares o pantallas de celulares
  • Tener un mando en la mano, teclado o un dispositivo con botones postrado en una silla

Visita:

  • The virtual reality gaming revolution that wasn’t, un honroso artículo sobre Jonathan Waldern quien en los noventas lidero la realidad virtual, en un corto “boom” que le dejo miles de millones de dólares, pero ningún recuerdo en nuestros corazones.

EL REND386 (DOS C++) – PROGRAMACIÓN VINTAGE VR

El paquete deriva su nombre del microprocesador 80386, un microprocesador fabricado por INTEL y pilar en la popularidad de los ordenadores personales tipo PC/AT. Igualmente, uno de los primeros procesadores de 32 btis y  altamente extendido.

Para la misma época, mediados de los 90 del siglo pasado, podíamos encontrar computadores (ordenadores) de  alto costo (estaciones de trabajo) como la  IRIS  de SILICON GRAPHICS para la investigación en la Realidad Virtual. Pero, la genialidad del REND386  es el ser la primera forma de “realidad virtual para todos”, el cual solo  nos exigía de una modesta computadora personal “clon” o compatible IBM con un microprocesador Intel 386.

red386

La filosofía de los creadores de la libreria  REND386 para 1991  era ser de libre uso, permitiendo mostrar gráficos poligonales en un viejo adaptador VGA,  limitados a un poco mas de 16 (de los 256 colores posible en VGA)  a una resolución máxima de 320×200 píxels. En ella incorporaron muchas de las funciones que los investigadores en realidad virtual consideraron los más importantes.

Los requisitos básicos del paquete para 1991:

  • Computadora con un microprocesador  INTEL i386 o similar.
  • Sistema operativo MS-DOS y una  disquetera
  • Un buen adaptador VGA  y un monitor  VGA
  • Un compilador C de BORLAND (Turbo C 3.0/5.0,  si mal no recuerdo)

El primer objetivo en la realidad virtual primitiva fue el de construir gráficos en 3D. Ahora bien,  mediante matemática 3D como dios manda, no hablo de los famosos planos del Wolfenstein 3D o Doom.

REND386: Esto es 3D a principios de los 90s. El poder del sombreado FLAT
http://www.seanclark.me.uk/homebrew-virtual-reality

En el caso de Wolfenstein 3D (1992), debo hacer una pausa haciendo énfasis en la primitiva técnica de “Ray Casting” popularizada por   John Carmack  (quien es un genio).

File:Simple raycasting with fisheye correction.gif
RayCasting. Fuente de la Imagen Wikipedia.

El Wolfenstein 3D original era una suerte de mapa 2D en el cual cada textura se ubica  rebordeando el mapa,  una vez ubicado el jugador el algoritmo lanza un rayo recorriendo el mapa 2D y ubicando en perspectiva las texturas únicamente donde el rayo imaginario la golpea.  El mismo Señor Carmack   mejoró su técnica 3D con el Quake 2, pero  tendríamos que esperar más de 5 años y un procesador Pentium, año  1996.

Retomemos el REND386,  mostrar gráficas reales en 3D  requiere de un procesamiento extensivo de matrices o álgebra lineal  las cuales son la base de la transformación de los puntos o vértices de  polígonos  en coordenadas 3D hasta las coordenadas 2D en el monitor. El REND386 resolvía el tema de la potencia computacional mediante largas rutinas en el lenguaje ensamblador del Intel 386; lo cual lo hacia  muy dependiente del compilador y del sistema operativo = “plataforma”.

Fuente de la imagen: http://www.opengl-tutorial.org

Les invito a visitar la entrada “Programación en 3d la GPU principios básicos para no programadores, ni ingenieros –acerca de la GPU-CPU los algoritmos un relato sin código” En la cual dedico largas líneas para la introducción a los temas de 3D para el publico general.

Como segundo objetivo principal ofrecer nuevas formas para ingresar datos o HAPTICA, con la ambición principal de obtener una interacción más rica ante los  usuarios, tanto entrada de datos como salida. Desde aquella época se ambicionaba mejorar la interacción con el usuario.

Tercer objetivo y el más importante fue un  sistema totalmente altruista, sus objetivos estaban lejos de vender cascos “a casco porro”. Realmente deseaban promover la Realidad Virtual a todo nivel.

Definición.  Háptica:  todo el conjunto de sensaciones no visuales y no auditivas que experimenta un individuo.

PowerGlove de Nintendo 1989

Una de las genialidades del REND386 fue implementar el PowerGlove (1989), un mando desarrollado por la empresa Nintendo. Este periférico utiliza ultrasonido para detectar la posición del guante mediante dos emisores. Eran otros tiempos,  en donde aparatos como estos tenían cierta utilidad real, no solo colocarlo en un estante como un enfermo coleccionista.

Bernie Roehl en su libro  de 1995,  “EL CREADOR DE MUNDOS VIRTUALES”,  plantea muchas alternativas de háptica primitiva e ingeniosas formas de montar dispositivos de visualización útiles en realidad virtual.

Dentro de las ideas expuestas en el libro:

  • Utilizar TV portátil como una alterativa de visualizacion (mono/estereoscópica).
  • Seguimiento de cabeza (headtracking) con la ayuda de potenciómetros.
  • Modificaciones en el Powerglove, un dispositivo muy impreciso y requiere una modificación para usos en  VR.
  • Uso de las primeras gafas 3D activas, como por ejemplo las fabricadas por  SEGA (SegaScope 3-D).
Las primeras formas de HeadTraking consistían en arreglos de potenciométros
Fuente imagen: http://www.retro-vr.co.uk/test/rise.html
¡ ¡ Montar Cascos en los 90 implicaba el uso de viejos televisores de mano!!

El Sr. Bernie Roehl continúo trabajando en la realidad virtual:

  1. En la versión REND386 del libro de 1995 (que no pude utilizar dado que no existen muchas copias) implementó:
    • OGRE un lenguaje para generar figuras 3D (3D-Estudio o maya estaban años de ser las opciones en los 90s).
    • Sistema de gestión de eventos (teclado, render etc).
    • Un primitivo lenguaje Script de animación en tiempo real.
  2. Desarrolló AVRIL una versión de ANSI C del REDN386 un poco menos dependiente del ensamblador del 386, pero no podremos compilarlo en versiones  GNU C*.
  3. Contribuciones en el VR-HTML una versión de HTML (pre-era HXML) para popularizar la Realidad virtual en la naciente Internet.
Nota: Bernie Roehl comparte con el autor del presente y extraño blog el ser “Ingeniero electricista” 🙂

*Es verdad el GNU C es muy posterior al AVRIL, sumando las limitaciones del modo extendido de memoria en DOS. Bueno, los desarrolladores veteranos me entenderán

LA REALIDAD VIRTUAL EN LOS NOVENTAS (SIGLO XX)

Entiendo que ya  todos conocen la historia, pero solo quiero enfatizar que los mundos 3D dispararon su popularidad en los vídeo juegos. Para 1994 fue lanzada la vídeo consola Play Station de sony  y en 1996  la Nintendo 64 de Nintendo.

Comparativamente el REND386 lo apreciarán en pañales contra sus competidores contemporáneos, sin embargo su impacto en la realidad virtual no ha sido superado

Contrario a lo que nos quieren hacer pensar los genios del marketing y los pastiches publicitarios que solemos leer:  la realidad virtual fue en extremo popular en los 90s. No solo invadía el cine,  el mal cine y  las viejas series en la  televisión. Incluso vimos una consola de realidad virtual (con una mala esteroscopía , pero bueno es algo) la Nintendo Virtualboy de 1995.

Nintendo en 1995 lanzo uno de los primeros cascos de realidad virtual y uno de sus mayores fracasos.

Si, la realidad virtual estaba allí, con toda su fiebre.  Es claro no al alcance de las personas en el tercer mundo, pero ya existía. Como siempre, una promesa de aquel lejano futuro presente, hacia el futuro presente.

Fiebre de cascos de realidad virtual de los 90 no tiene comparación con la de 2013, fue superior;  permeó toda la cultura en aquella epoca. Fuente de la imagen  .kxcdn.com

Como ha sido ahora y siempre  la  Realidad Virtual es rebordeada con muchas expectativas y exageradas promesas, ello incluso desde los noventas. Sin embargo, en los 90s sucumbió ante su propio peso: Muchas  promesas y dispositivos incompatibles unos con otros, bajo ningún estándar, ni guía.

La escena a continuación es tomada del filme  Norteamericano “Disclosure” del año 1995, filmes como estos encontrarán en abundancia.

Visitar:

LA REALIDAD VIRTUAL MODERNA: NO ES TAN VIRTUAL,  NI REAL, NI  MODERNA

Gracias a los teléfonos celulares hemos visto un enorme avance tecnológico en los dispositivos de paneles de visualización del tipo  LED/AMOLED de pequeños tamaños,  con las cuales hemos forjado la nueva “fiebre” en  Realidad Virtual enfocándola en la venta y comercialización de  “cascos de realidad virtual” o HMD .

 Esta nueva “fiebre o  “nueva era” inicia despedazando los celulares,  si lo pensamos detenidamente es  interesante e irónico. Pero,  en la nueva era copiamos TODOS los errores de la anterior o noventera, aquella competencia  insensata entre varios fabricante ofreciendo dispositivos incompatibles, absurdamente elitistas, abusando de protocolos propietarios y ofreciendo una muy vaga interacción con el usuario (háptica).

Primer KIT de Oculus usaba descaradamente una pantalla celular SAMSUNG con otros dispositivos. http://www.revistaproware.com/

CÓMO LOGRAREMOS “LA REALIDAD VIRTUAL PARA TODOS”

Deseo reafirmarme en la idea: Actualmente los dispositivos de HARDWARE que pretenden vendernos SON completamente  elitistas, incompatibles y limitados a prestar servicios dentro de protocolos restringidos.

Un ejemplo interesante es el VHS,  apuesta de un estándar  en HARDWARE por parte de JVC de uso libre en la reproducción de vídeo cintas en los hogares.
Visita: El VHS, historia del primer formato estándar hogareño

Para finalizar me tomaré el atrevimiento de describir el conjunto de tropiezos que encontraremos cuando pretendemos salirnos del mercado y apostar por una  solución propia, es decir montando “tus propios cascos”, y de  solucionarse todos ellos podríamos obtener la “realidad virtual para todos”:

1) VÍDEO RGB ESTÉREO

Para salida SBS (Side by Side) o doble vídeo para reproducir directamente desde OpenGL y DirectX (directamente). Tiene que permitir el reproducir en cualquier motor gráfico o motor de juego a doble cámara de manera directa independiente del Sistema Operativo (OS).

La doble salida de vídeo en hardware esto es posible ahora mismo, pero el Driver y el API deben  funcionar sin pagos adicionales como en el caso de Nvidia 3DTV.  Cualquier solución deberá ser robusta y gratuita.

Una de las grandes limitaciones del 3D o tropiezo que he encontrado es: el SOFTWARE y el SISTEMA OPERATIVO no llegan al acuerdo sobre que es 3D Estereoscopio, con esto quiero decir que es el Sistema Operativo debe dar la pauta y no el software el cual deba engañar al sistema operativo y a sus librerías (API y SDK).

2) MOVIL

Se debe favorecer el trabajo de Google para la transmisión de señales SBS o doble canal de video HD directamente la celular en USB 3.0 o otro protocolo. Claro en RGB verdadero. Esto reduciría los costes de los monóculos hasta en un 800%, los pondría a la mano de cualquier individuo sobre la faz de la tierra.

3) HEADTRAKING

Aprovechamiento de los acelerométros del móvil para headtraking. Sistema unificado para que  los desarrolladores den obligatoriamente el control total sobre la cámara de la aplicación. Además para el seguimiento de la cabeza y definir los sistemas convencionales desde puntos de seguimiento por cámaras infrarrojas hasta el seguimiento de rostro.

4) ENTRADAS ROBUSTAS WIMOTE 3.0

 Después de la caída del MDX que era una framework intermedio para lectura de Joystics DX del API de Wintel,  el API Windows quedo coja favoreciendo únicamente las interfaces Xinput.

Pues debe fortalecerse para permitir joysticks con mayor numero de botones y entradas análogas. Igualmente incorporar sistema de corrección para las entradas de acelerométros, doppler o efecto hall etc.. matemática de matrices, ejemplos (etc); lo que denominaría Wimote 3.0.

La realidad virtual debe esforzarse especialmente en háptica y la mejora de los sistemas de entrada.

5) AUDIO 3D HRTF:

Esto es la función de transferencia del oído externo, es una forma muy primitiva y eficaz para desarrollar el sonido 3D directamente a los auriculares.

El API de sonido debe ofrecer esto de manera inmediata o un sistema HRTF para audífonos.

Lo veremos cumplido en la practica, pero el sistema debe compensar la transmisión inalámbrica, reduciendo el retraso o “LAG” producido por la transferencia de la señal.

Visita:

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

w

Conectando a %s