La ayuda en linea de doris es:
http://lua-users.org/files/wiki_insecure/users/ntrout/doris.html
En esta pagina se publica por primera vez el codigo modificado del Original Doris con el cual resulto Doris Evolution. A partir de este código se puede interactuar con mundos virtuales de Realidad Virtual logrando desarrollar dispositivos de captura de movimiento.
El codigo fuente para ser compilado en visual c++ lo puede descargar de aqui . Bueno proximamente ;), o si quiere me escribe y se lo adelanto jeje.
Desarrollando en Doris sin ningún tipo de acceso a puertos:
Para trabajar en doris con acceso a puerto paralelo en windows XP deben hacer los siguientes pasos:
Nota: Cabe aclarar que si usted trata de ejecutar Doris.exe en windows 98 no hay ningun problema pero en windows xp seguramente no le funcionara y obtendra un mensaje malevolo del sistema operativo que le indicara que la aplicación a dejado de funcionar y la razon es muy simple, el hardware que se ha desarrollado para Doris Evolution tiene acceso al puerto paralelo y windows XP no permite accesar a dicho puerto por seguridad. Es por esa razon que le deje la opcion de Doris_sin_io.exe, Esta version seguro le funcionara sin mayores problemas.
Mis documentos/exocap/ejemplos
Paso 3: Ejecute dentro de la carpeta ejemplos hierarchy.bat
Y ahora si le funciono si podemos comenzar a estudiar Doris Evolution.
Para el funcionamiento de doris con puertos y acceso a hardware siga los siguientes pasos:
Si le funciona, tonz tambien podemos comenzar por aqui.
Laboratorio 1:
Construccion de la tarjeta digitalizadora diseñada por Mauricio Gomez y Daniel Barrero. con el chip MCP3008. tarjetaMCP3008.JPG
Laboratorio 2:
Primer laboratorio de integracacion de Doris Evolution con Hardware MCP3008. Diseño de un detector de luz e incrustado dentro de Doris Evolution.
Funcion de Doris Evolution para activar y leer el hardware
canal = {}
canal[1]=0
canal[2]=0
canal[3]=0
canal[4]=0
canal[5]=0
canal[6]=0
canal[7]=0
canal[8]=0
LeerCanales(canal)
glPushMatrix()
glScale(canal[1]*0.02,1,1)
glutSolidCube(1)
glPopMatrix()
En el caso de querer correr doris.exe con puertos recuerde que la estructura del .bat es:
..\doris\allowio ..\doris\doris.exe archivo.lua /a
Estos dos archivos demostraron el correcto funcionamiento de la tarjeta dentro del laboratorio, con doris + hardware
Definitivamente para aprender lua la primera pagina que se debe consultar es esta, dar click aqui.
Como ejemplo de doris Evolution doris.rar puede darle click a este ejemplo y bajarlo, mundo_red.rar y mide mas o menos 3.5 megas
Para trabajar en un editor decente de lua le recomiendo bajar El editor libre Scite http://scintilla.sourceforge.net/SciTEDownload.html
Cuando usted baje este codigo para cambiarlo lo primero que debe abrir es mundo_red.lua.
Dentro de algunas partes del cógido usted encontrara la instruccion "dofile", usted debe interpretar esta linea como una inserción de código dentro de otro, es para poder organizarlo correctamente.
La forma de declarar una variables en lua es simplemente utilizandola:
variable1=1+2
en el ejemplo anterior la variable1 quedo instanciada y queda funcionando mientras que se conserve el ambito igual que en c++, yo particularmente para ahorrarme el asunto del ambito coloco la variable al principio del código y la inicializo, de esta manera es valida en cualquier parte del mismo.
Como se puede ver en el siguiente codigo queda la estructura de un brazo de realidad virtual con codigo hecho en lua:
EstablecerFiltro(filtro)
glPushMatrix();
glTranslate(0*cons,0*cons,0*cons)
glRotateADC(5,-1,rotate01,0,1024,0,1,0) --
glPushMatrix() -- jump into new frame
glRotate(-90,1,0,0)
glScale(escala01,escala01,escala01*0.80)
Importar3DS("c:/exocap/brazo_aluminio_08_2006/2_3.3ds",1)
glPopMatrix()
glTranslate(0*cons,24*cons,0*cons)
glTranslate(lado02*cons,0*cons,0*cons)
glRotateADC(4,1,rotate02,0,1024,1,0,0) --canal, por,mas,limiteinferior,limitesuperior,x,y,z
glTranslate(0*cons,0*cons,57*cons)
glPushMatrix() -- jump into new frame
glRotate(90,1,0,0)
glScale(escala01,escala01,escala01)
Importar3DS("c:/exocap/brazo_aluminio_08_2006/2_3.3ds",2)
glPopMatrix()
glTranslate(0*cons,0*cons,30*cons)
glTranslate(lado03*cons,0*cons,0*cons)
glRotateADC(3,-1,rotate03,0,1024,1,0,0) --canal, por,mas,limiteinferior,limitesuperior,x,y,z
glPushMatrix() -- jump into new frame
glRotate(90,1,0,0)
glScale(escala01,escala01,escala01)
Importar3DS("c:/exocap/brazo_aluminio_08_2006/2_4.3ds",3)
glPopMatrix()
glTranslate(0*cons,0*cons,30*cons)
glTranslate(lado04*cons,0*cons,0*cons)
glRotateADC(2,1,rotate04,0,1024,1,0,0) --canal, por,mas,limiteinferior,limitesuperior,x,y,z
glPushMatrix() -- jump into new frame
glRotate(90,1,0,0)
glScale(escala01,escala01,escala01)
Importar3DS("c:/exocap/brazo_aluminio_08_2006/2_5.3ds",4)
glPopMatrix()
glTranslate(0*cons,0*cons,9.5*cons)
glTranslate(0*cons,lado05*cons,0*cons)
glTranslate(lado06*cons,0*cons,0*cons)
glRotateADC(1,-1,rotate05,0,1024,0,1,0) --canal, por,mas,limiteinferior,limitesuperior,x,y,z
glPushMatrix() -- jump into new frame
glRotate(90,1,0,0)
glScale(escala01,escala01,escala01)
Importar3DS("c:/exocap/brazo_aluminio_08_2006/2_6.3ds",5)
glPopMatrix()
glTranslate(0*cons,0*cons,14.5*cons)
glColor(255,0,0,1)
glutSolidSphere(0.1,7,7);
glTranslate(-10*cons,-10*cons,-10*cons)
glTranslate(0*cons,0*cons,30*cons)
glMatrixMode(GL_MODELVIEW)
glGet1(GL_MODELVIEW_MATRIX,m)
a=m[0]+m[4]+m[8]+m[12]
b=m[1]+m[5]+m[9]+m[13]
c=m[2]+m[6]+m[10]+m[14]
d=m[3]+m[7]+m[11]+m[15]
Si lo que usted quiere es poner a funcionar el teclado para controlar una camara o un objeto en Doris le recomiendo que copie el siquiente codigo:
GLUT_KEY_F1=1+1000
GLUT_KEY_F2=2+1000
GLUT_KEY_F3=3+1000
GLUT_KEY_F4=4+1000
GLUT_KEY_F5=5+1000
GLUT_KEY_F6=6+1000
GLUT_KEY_F7=7+1000
GLUT_KEY_F8=8+1000
GLUT_KEY_F9=9+1000
GLUT_KEY_F10=10+1000
GLUT_KEY_F11=11+1000
GLUT_KEY_F12=12+1000
--/* directional keys */
GLUT_KEY_LEFT=100+1000
GLUT_KEY_UP=101+1000
GLUT_KEY_RIGHT=102+1000
GLUT_KEY_DOWN=103+1000
GLUT_KEY_PAGE_UP=104+1000
GLUT_KEY_PAGE_DOWN=105+1000
GLUT_KEY_HOME=106+1000
GLUT_KEY_END=107+1000
GLUT_KEY_INSERT=108+1000
GLUT_KEY_DELETE=127
Para hacer los videos: camtasia o captivate