Iniciar sesión

Ver la versión completa : Klimt for GP32 0.1.9



maulo
09/10/2004, 00:20
Con un día de retraso, pero lo prometido es deuda :) . He subido a mi página (http://on.to/maulo) la última versión que estoy portando de la Klimt.

Esta versión es un tanto inestable y un ejemplo de los de NeHe ahora funciona de manera distinta :) , pero he incluido las últimas optimizaciones específicas para ARM de la Klimt original (se acabó lo de usar las funciones de la math.h :) ) con lo que el rendimiento ha aumentado considerablemente, sobretodo sin corrección de color.

De nuevo he dejado dos paquetitos, uno con los ejemplos en fxe y otro con todo el fuente.

Espero que os guste y sea útil para vuestros proyectos. Si la probáis os agradecería mucho que me comentarais que tal os funciona para ayudarme un poco en el desarrollo y saber por donde tengo que meterle mano al código :)

Locke, ahora te toca a ti compilar tu cargador de modelos md2 a ver que tal funciona ahora :)

LTK666
09/10/2004, 00:23
a Locke le va a encantar :D :D :D

mu buen trabajo Maulo

DreamerXL
09/10/2004, 00:26
Ya lo decía theNestruo; Se va Anarchy y aparecen las noticias interesantes
:D:D:D

Buen trabajo maulo! :brindis:

Soup
09/10/2004, 01:15
JEJEJEJEJEJE. QUE CABRITO, ES VERDAD XDDD

mortimor
09/10/2004, 01:17
Yo tambien me voy a animar :) Sigue asi Maulo.

Locke
09/10/2004, 01:27
Escrito originalmente por LTK666
a Locke le va a encantar :D :D :D

OH YEAH!! Mañana por la mañana lo instalo y compilo, a ver si se nota muxo la diferencia.

Un par de preguntillas:

Sigue viendose a 240x320?
Hay que seguir usando torgb555? (deduzco que si, por lo de arriba)


Muchas gracias tio, eres un crack!!

maulo
09/10/2004, 01:40
Muchas gracias a todos, se me suben los colores :)

La resolución sigue siendo 240x320 (portrait) y el torgb555 sigue estando ahí a pesar de lo feo que es (cada vez que miro esa función, el espíritu de mi profesor de programación gráfica aparece para atormentarme :) ).

Tengo pensado cambiar lo de la resolución para poder usar la consola en modos portrait y landscape 320x240 (que es como se hace en la Klimt para Pocket PC), de tal manera que sea cosa del programador el decidir el "modo gráfico" que usar, y no esté "harcoded" en la librería.

Nacho
09/10/2004, 03:38
gracias por tu trabajo y enhorabuena!!!.

BeaR
09/10/2004, 05:35
Muchas gracias x tu trabajo :)

Salu2 y ánimo :brindis: :musico:

enkonsierto
09/10/2004, 10:01
gracias gracias por tu trabajo (remix) ;)

Locke
09/10/2004, 13:55
Acabo de compilar el loader con la nueva version, y o he hecho algo muy mal, o no se lo que pasa... :?

Cuento mis testeos, se que no es una version final, asi que supongo que vendran bien ;)

Al compilar no me deja usar las funciones glDepthMask () y klTweak(). Me da un error del tipo: "static_cast undeclared parse error before unsigned"

Si se las quito compila correctamente, pero aparecen nuevos fallos. Las texturas aparecen rwaras, rwaras, rwaras. Esto puede ser debido a alguno de los errores anteriores, pero no estoy seguro.

Por otra parte, no he visto mejora de velocidad; va mas o menos a la misma, y desactivando la correccion de color aumenta 1fps (tambien antes pasaba asi).


Asi que en resumen, o lo he instalado muy mal, o tiene algun fallo que perjudica el rendimiento en mi programa, aunque quizas en otros no... yo creo que todos los fallos se derivan de el primero que he puesto.

Espero haber sido de ayuda, sigue asi ;)

maulo
09/10/2004, 16:47
Vale, mea culpa lo del static_cast, se me ha olvidado explicarlo en la documentacion de los ejemplos.

Vamos a ver, hay muchas funciones que usan constantes del tipo GL_FALSE y similares. Por alguna razón, las constantes GL no se interpretan, así que hay que poner el valor numérico en sí (si es GL_FALSE 0).

Espero que eso lo solucione, a mí también me dio problemas, hasta este port nunca había visto un error de static_cast :)

Locke
09/10/2004, 20:09
Ok, lo probare y ya comento si hay diferencia, aunque es rarow, porque GL_TRUE y GL_FALSE son las unicas constantes que no me funcionan, el resto van bastante bien...

Locke
09/10/2004, 20:48
Ok, primer fallo solucionado. La velocidad aumenta un poco, en mi programa apenas 1 o 2fps, pero weno.

Lo que pasa es que tiene algun fallo con las texturas que no habia en el primero. Mirad como salen... :miedo:

maulo
09/10/2004, 21:13
Que raro :confused:
Me parece que esta versión es más beta de lo que me parecía en un principio :(

Estás usando el SDK 0.90 con las fuentes de smc del 0.85, ¿no?
Puede que sea tema del sdk, pero si no has cambiado de versión, entonces seguro que es la Klimt. Prueba a compilar el ejemplo de los cubos texturados a ver si te carga bien la textura.

Por lo menos ya sé por donde seguir mirando el código ... :)

Locke
09/10/2004, 21:38
Estoy esando el sdk 0.9 con las fuentes de smc qe me paso mirko (creo que no cambiaron desde la 0.85 a la 0.9)

He compilado el ejemplo texture y me da fallos al cargar la textura. Ahora estoy algo espeso, y no me entero muy bien de lo que pasa, pero no funciona. Mañana miro el codigo del ejemplo a ver si veo algo.

Espero ayudar en algo.

Locke
10/10/2004, 02:40
A ver, una cosa que no tengo clara. Que version de Klimt has portado, maulo? Porque estoy intentando usar la funcion glDrawArrays y el gcc me dice que nanai (undefined reference); sin embargo en la pagina de Klimt, en el apartado de optimizaciones dice asi:

"Vertex arrays are cached since Klimt 0.6.3. From version 0.6.3 on Klimt does vertex caching which makes the usage of vertex arrays the prevered way to pass vertex data. Ideally pass vertex data in fixed point format."

Asinque supuestamente deberia poder usar la funcion a no ser que sea un port de una version anterior a esta...

Tienes idea de por que puede pasar? Enga, gracias y un saludo ;)

maulo
10/10/2004, 12:54
Este port es de la versión del CVS de Septiembre que era la que ya incluía las operaciones optimizadas para ARM.

Desde la 0.6.2 los de klimt dejaron de sacar versiones estables y hay que tirar de CVS :( con el consecuente problema de que en ocasiones hay código subido en el CVS que no funciona correctamente (como ahora).

En la documentación nombran la versión 0.6.3 muy alegremente, pero no hay un tag específico en el CVS de la versión 0.6.3. De hecho, en el readme.txt del CVS ya hablan de características de la versión 0.7 :confused:

Respecto al glDrawArrays, he mirado el código fuente y efectivamente la función está, pero el comentario justo anterior dice que será ignorada :(

En fin, parece que el código tiene muchos fallos y faltan referencias. Voy a hacer otra release basada en un código más moderno del CVS a ver si están arreglados los problemas. A ver si en la siguiente estoy más acertado.

Locke
10/10/2004, 13:57
Ok, muchas gracias. Estoy trabajando en un engine con todo tipo de optimizaciones, a ver si soy capaz de llevar al limita a la consola con las 3D, y esa funcion es basicamente imprescindible. :)

Mirando la documentacion de Klimt he encontrado estas dos funciones, que por el nombre se supone que deberian ser para algo equivalente, pero no he encontrado la descripcion de su uso por ningun lado (quizas no haya mirado en el lugar correcto...) solo la cabecera.

void klPrepareVertexArrays (int nNumVertices, int nNumNormals, int nNumColors, int nNumTexCoords, void *nVertices, void *nColors, void *nTexCoords)
void klRenderPreparedIndexedArray (GLenum nPrimType, GLsizei nCount, const unsigned int *nVertexIndices, const unsigned int *nColorIndices, const unsigned int *nTexCoordsIndices, const void *nVertices, const void *nColors, const void *nTexCoords)

No tendras idea de donde puedo ver la descripcion o una documentacion mas completa, estilo man de linux, no?

De todas maneras le echare un ojo al codigo a ver si descubro algo, aunque no creo, es demasiado nivel para mi...

Muchas gracias de nuevo :brindis: