Cercar en aquest blog

dilluns, 1 de març del 2010

Programa (01/03/2010)


Aquí deixo la versió fins a dia 1 de març.



Coses que es poden fer:

- Moure la càmera mitjançant la UI
- Col·locar la càmera de manera automàtica a una vista frontal/lateral/superior (mitjançant 3 botons)
- Moure el llum mitjançant la UI
- Generar un cub de manera automàtica
- Seleccionar un objecte entre els que s'hagi
n creat
- Seleccionar una cara de l'objecte que s'hagi seleccionat
- Seleccionar un vèrtex de l'objecte que s'hagi seleccionat
- Moure el cos/cara/vèrtex que s'hagi seleccionat (tecles 'a', 'd', 'w', 's', 'e', 'q')
- Eliminar el cos/vertex seleccionat (tecla '.')
- Crear un nou vèrtex al cos seleccionat
- Crear cares a partir de 3 vèrtexs que caldr
à seleccion
ar
- Crear cares a partir de 4 vèrtexs que caldrà seleccionar
- Guardar l'escena al disc (format .c3d)
- Carregar una escena del disc (format .c3d)


Notes:
Quan seleccionem un objecte, ens hauria d'aparèixer un conjunt d'operacions possibles per a aplicar sobre el cos seleccionat (seleccionar vèrtex, seleccionar cara, crear vèrtex...), mentre que quan no en seleccionem cap, aquest menú hauria de desaparèixer. Per a alguna raó, l'aparició i desaparició d'aquest submenú no funciona massa alhora, pel que de vegades cal insistir amb la selecció d'un objecte per a fer que el menú aparegui.

Quan esborrem un vèrtex, no es pot assgurar què passarà amb les cares que el contenien. Estic pendent de corregir això.

Els paths de guardar i carregar s'hauran de modificar des del codi font abans de compilar, ja que encara no he decidit com demanar a l'usuari que entri el paràmetre. Caldrà modificar la constant C3d_PATH_SAVE_LOAD del fitxer main.cpp
amb el path on volguem que es guardi/carregui el fitxer.

Quan seleccionem un cos, una de les opcions del menú que apareixerà serà "Assigna textura" (o una cosa similar). Aquesta opció li assignarà a totes les cares del cos seleccionat la textura que
hi hagi escollida als radio-buttons del formulari "Seleccio textura".

Si compileu el projecte en Linux, la mida de les finestres serà de 301*301 px, mentre que en MacOS seran de 601*601 px. Si voleu modificar-ho, haureu d'anar a canviar les variables SCREEN_WIDTH i SCREEN_HEIGHT del fitxer main.cpp. Si esteu treballant amb Linux, haureu de modificar la branca #ifdef __UNX__, mentre que si treballeu amb MacOs haureu de tocar la branca de #else.

Queda pendent col·locar tots aquests paràmetres en un fitxer de propietats, ho sé...

En principi això és tot.

Captura de pantalla:


Propers canvis:

Els canvis que em dedicaré a fer ara seran interns (tot i que puntualment podria corregir quelcom).
L'estructura del main necessita ser replantejada, ja que hi ha moltes funcionalitats que haurien d'estar englobades en altres classes per a fer que la cosa es simplifiqui una mica.


Bé, fins aviat!