Ventana 3D
GNU/Linux
Web: ventana3d.chileforge.cl
Contacto:
Download: ventana3d-Beta-0.2.tgz Version Beta 0.2
Requisitos (Dependencias):
El programa se ha testeado en una maquina de las siguientes caracteristicas.
AMD 1.8GHz con 128Mb de memoria
Tarjeta grafica 3D NVIDIA TNT2 32M (Aceleracion 3D, primordial).
Se trabajo con una resolucion 1280x1024 a 24 bits (recomendado).
Memoria swap 200M (Depende de la cantidad de aplicaciones abiertas).
Librerias externas.
* XServidor X.org 6.8.0 o posterior www.x.org
o tambien el XServidor LG de Looking Glasss http://lg3d.dev.java.net
Es necesario, ya que nos proporciona nuevas extensiones como Xcompsite, Xrender, Xfixes, Xevie , Xdamage
* OpenGL (Si se trabaja con una tarjeta NVIDIA recomendado sus drivers originales www.nvidia.com
* Imlib2 (Se utilizo la version 1.0.6 o posterior) www.rasterman.com/raster/imlib.html
Instalacion
Descomprimir el archivo aplicar los siguientes comandos
./autogen.sh
./configure
make
make install
Se deben instalar los siguientes archivos en el directorio /usr/local/share/Ventana3D/
/usr/local/share/Ventana3D/doc/*.*
/usr/local/share/Ventana3D/XSERVER/bin/LEEME.txt
/usr/local/share/Ventana3D/XSERVER/bin/X.lg3d-0.7
/usr/local/share/Ventana3D/XSERVER/bin
/usr/local/share/Ventana3D/XSERVER/lib/libX11.so
/usr/local/share/Ventana3D/XSERVER/lib/libX11.so.6
/usr/local/share/Ventana3D/XSERVER/lib/libX11.so.6.2
/usr/local/share/Ventana3D/XSERVER/lib
/usr/local/share/Ventana3D/XSERVER
/usr/local/share/Ventana3D/config/Vt3DConfig
/usr/local/share/Ventana3D/config
/usr/local/share/Ventana3D/cursores/X_luis
/usr/local/share/Ventana3D/cursores
/usr/local/share/Ventana3D/fondopantalla/glass.jpg
/usr/local/share/Ventana3D/fondopantalla/iss.jpg
/usr/local/share/Ventana3D/fondopantalla/london.jpg
/usr/local/share/Ventana3D/fondopantalla/moscu.jpg
/usr/local/share/Ventana3D/fondopantalla/rivera-512.jpg
/usr/local/share/Ventana3D/fondopantalla/suse-default-512.jpg
/usr/local/share/Ventana3D/fondopantalla/suse-verde.jpg
/usr/local/share/Ventana3D/iconos/*.*
/usr/local/share/Ventana3D/iconos/48x48-general/*.*
...............
/usr/local/share/Ventana3D/iconos/48x48-general/xv.xpm
/usr/local/share/Ventana3D/imagenes/*.*
.....................................
/usr/local/share/Ventana3D/modelos/*.*
.................
/usr/local/share/Ventana3D/objetos/ovoide.ase
/usr/local/share/Ventana3D/objetos
/usr/local/share/Ventana3D/screenshot
/usr/local/share/Ventana3D/tga/*.*
..................
/usr/local/share/Ventana3D/xbm/ratonA.c
/usr/local/share/Ventana3D/xbm/ratonA.xbm
/usr/local/share/Ventana3D/xbm
/usr/local/share/Ventana3D/xpm/opera.xpm
/usr/local/share/Ventana3D/xpm
/usr/local/share/Ventana3D/
`
Modo de uso
1.- Se ejecuta el programa en una consola (en modo texto).
2.- Lo mas importante es verificar si existe un servidor X activo, por ejemplo programas como el kdm o algun otro que es un administrador de window manager, matar los procesos de estos programas y el Servidor X, ya que al tratar de ejecutar el programa ventana3d, no se ejecutara.
3.- Configuracion de l archivo de configuracion del servidor X.org en /etc/X11/X.org o en $Home/X.org o /etc/X11/XF86Config
El archivo de configuracion utilizado en su distribucion Linux, colocar las extensiones para habilitarlas, auque por defecto el script de inicio Vt3d-session los inicia.
Nota: sugiero habilitar la resolucion 1280x1024 a 24bits
Section "Screen"
Device "Device[0]"
Identifier "Screen[0]"
Monitor "Monitor[0]"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x1024" "800x600" "640x480"
EndSubSection
EndSection
Ejecutar el programa
Ejecutar el script " Vt3d-session " que inicializara el servidor que se encuentra en /usr/local/binFigura No 2
Menu de INICIOEs un simple menu que se puede acceder mediante el mouse haciendo click con el mouse en el icono INICIO, ala vez se puede acceder por teclado al presionar las teclas Crtl + Esc, tambien por la tecla especial al lado dela tecla Ctrl del lado izquierdo.
Al mapearse el menu al apretar la tecla Esc lo desmapea o lo esconde.
El menu contiene solo algunos programas y no es configurable.
Figura No 3
Menu de ventana
Llamado asi debido que al acceder a este menu con el mouse al hacer click en el boton derecho en el escritorio aparece.Opciones de la Ventana:
Tipica barra, donde se puede matar,maximizar o minimizar una aplicacion.Figura No 5
Fondo de pantalla
La imagen que se utiliza como fondo de pantalla esta en formato .jpg y debe tener preferentemente unas dimensiones de ancho=512 alto=512 es decir 512x512, puede trabajar con resoluciones mayores o menores pero el consumo de memoria seria innecesario.Nota: Solo se lee la primera linea las demas no importan.
Uso del Teclado y mouse:
El uso del teclado es importante debido a que realiza el mayor trabajo:
Alt+F4 = Cierra una aplicacion
Alt + Tab = Commuta aplicaciones
Ctrl + Esc = Activa el menu de inicio
Tecla especial (izquierda) = Activa el menu de inicio
Esc = Oculta el menu de inicio y el menu de ventana
Print Screen = Captura de pantalla (screenshot).
Para funciones 3D
Ctrl + Shift (Teclas del lado izquierdo) Mantener presionadas permanentemente.
Ctrl+Shift | Teclas Alfanumericas | Rotacion X |
4 | ||
6 |
Ctrl+Shift | Teclas Alfanumericas | Rotacion Y |
8 | ||
2 |
Ctrl+Shift | Teclas Alfanumericas | Rotacion Z |
7 | ||
3 |
Ctrl+Shift | Flechas | Traslacion X |
Izquierda (<---) | ||
Derecha (-->) |
Ctrl+Shift | Flechas | Traslacion Y |
Arriba | ||
Abajo |
Ctrl+Shift | Teclas Alfanumericas | Traslacion Z |
1 | ||
9 |
Ctrl+Shift | Teclas Alfanumerica | Reset3D |
5 |
Al activar la opcion Reset3D, permite que la aplicacion retorne asu estado inicial, como si se tratase de una aplicacion en 2D, es decir sin rotacion, traslacion.
El mouse:
Se puede mover, cambiar sus dimesiones, como en un tipico window manager , pero cuando uan aplicacion rota, traslada, solo se puede mover mas no cambiar sus dimensiones.
*Este punto es muy importante, el cursor del mouse solo tien una sola forma debido a que me he visto en la obligacion de modificar la libreria libx11.so sobre el manejo del cursor debido a que ocasiona distorcion del escenario 3D, al moverse.
El program Looking Glass, solucionaron este problema, que aun no he podido determinar como lo han solucionado en su servidor X LG ,en futuras versiones este problema se superara.
Para ver este problema ejecute el programa xcalc y vera lo que pasa.
Eficiencia:
Como si se tratase de un video juego 3D, requiere una velocidad de proceso alta, mucha memoria fisica y virtual.
La velocidad se ve afectada por la cantidad de aplicaciones activas y las dimensiones de las aplicaciones.
Estabilidad:
Se ve afectada por el tipo de aplicacion a ejecutar existen alguans aplicaciones criticas.* En caso de bloqueo del teclado y congelamiento de la pantalla: Bajo ciertas condiciones ya descritas puede ocurrir una catastrofe, para ello pueden ver dos soluciones:
Acceder por medio de una red atravez de otra computadora y matar el proceso del Servidor y luego reiniciarlo desde la maquina que se utiliza para el acceso y matarlo desde esta, para que restituya las funciones correctas del teclado y pantalla.
He utilizado esta opcion varias veces en el desarrollo del proyecto
La otra solucion y no recomendable cuando no se puede acceder por red, no queda otra opcion que resetear la maquina.
La primera solucion por defecto es acceder a modo consola apretando Ctrl + Alt + Tecla de Funcion(F1, F2 ,etc)Programas que no deben ejecutarse, o tener ciertas precauciones:
1.- Kdevelop: NO he podido determinar porque este programa provoca un bloqueo en pantalla y teclado .4.- AMSN, este programa como casi todos que estan basados en las librerias Tk, tcl, provocan ciertas dificultades en su uso.
5.- gmplayer, no funciona correctamente.
Ventana3D: Virtudes, defectos , lo que le falta
*Su gran virtud; personalmente queda demostrado que X.org es el reemplazo natural de XFree86, proporciona nuevas extensiones utilizados actualmente para el desarrollo de los diferentes manejadores de ventanas como Gnome.*Defectos; Varios:
-La deformaciones que sufren las ventanas al rotar y trasladarse, carecen de estetica.
-No estan implementados correctamente el protocolo de comunicacion cliente-servidor ICCCM, utilizado por los window manager para un control total sobre las aplicaciones, nos permite mover,cambiar de dimensiones, matar,etc.
-La lentitud, su velocidad en la renderizacion, se ve limitada por el tipo de maquina, y la cantidad de aplicaciones ejecutandose.
-La mayoria de aplicaciones desplegan menus, como se muestra en la figura No 6, en esta version Beta no esta implementado, para su correcta posicion en pantalla.
Figura No 6-
*Lo que falta:
Ventana3D: Configuracion de los Iconos del Escritorio
El archivo de configuracion ubicado en:
/usr/local/share/Ventana3D/config/Vt3DConfig_Iconos_esc
Permite el agregar y quitar accesos directos a determinadas aplicaciones tiene el siguiente formato:
[ICON_ESCRITORIO]
Ark
/opt/kde3/bin/ark
/usr/local/share/Ventana3D/iconos_escritorio/ark.jpg
[ICON_ESCRITORIO]
Xwpe
/usr/local/bin/xwpe
/usr/local/share/Ventana3D/iconos_escritorio/cara.jpg
[ICON_ESCRITORIO]
Firefox
/usr/local/bin/firefox
/usr/local/share/Ventana3D/iconos_escritorio/mozila.jpg
El archivo de configuracion ubicado en:
/usr/local/share/Ventana3D/config/Vt3DConfig_Menu_Inico
Permite el agregar y quitar accesos directos a determinadas aplicaciones tiene el siguiente formato:
[PROGRAMAS]
#Nombre
Gambas
#Ejecutable
/usr/bin/gambas
#Icono
/usr/local/share/Ventana3D/iconos_escritorio/ok.jpg
#Nombre
Xterm
#Ejecutable
/usr/bin/xterm
#Icono
/usr/local/share/Ventana3D/iconos_escritorio/xterm.jpg
#Nombre
K3b
#Ejecutable
/opt/kde3/bin/k3b
#Icono
/usr/local/share/Ventana3D/iconos_escritorio/k3b.jpg
[Fin]
[INTERNET]
#Nombre
Firefox
#Ejecutable
/usr/local/bin/firefox
#Icono
/usr/local/share/Ventana3D/iconos_escritorio/mozila.jpg
#Nombre
Gaim
#Ejecutable
/opt/gnome/bin/gaim
#Icono
/usr/local/share/Ventana3D/iconos_escritorio/chat.jpg
[Fin]
Version 0.5
Esta nueva version trae una mejora en lo que respecta al Motor grafico 3D, se ha mejorado el proceso de renderizado.Figura No 9
Figura No 10
Preguntas
Porque el cursor no cambia de forma de acuerdo al requerimiento de una aplicacion?
Debido a que no esta implementado en la version libX11.so, que incluyo en el codigo del programa.
Me he visto forzado ha modificar la libreria libX11.so debido a que el Server X , no lo dibuja correctamente, como lo muestra la figura No 7
Figura No 11