Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Menu

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menu

Mensajes - Manu343726

#31
Programación gráfica / Re:Trabajo con Cuaterniones
12 de Marzo de 2013, 09:01:33 PM
No se si debería hacerlo, ya que no me parece que tengo el código muy limpio, pero al menos te haces una idea: https://github.com/Manu343726/dx_lib32/blob/master/code/headers/dl32Math.h

Ese archivo es el módulo de matemáticas de mi port de la dx_lib32, que entre otras frikadas incluye una implementación de cuaterniones. Es la clase dl32Quaternion (Línea 790). Aunque no sea en C, sino en C++, creo que te vale para guiarte un poco. No se si es la mejor manera de hacerlo, es como lo he implementado siempre y por ahora me ha funcionado XD. Es la misma implementación que hice en mi motor3d el año pasado con VB.NET.
El archivo cpp correspondiente se encuentra en code/source/dl32Math.cpp, pero si no recuerdo mal la clase dl32Quaternion tiene todo implementado con inlines.

La implementación es muy sencilla: Básicamente la tupla que mencionabas antes, a + bi + cj + dk, pero además incluye una matriz de rotación correspondiente (Por eso hereda de dl32Matrix4x4). Lo hice de esa manera porque los cuaterniones te interesan para hacer rotaciones, no frikadas algebráicas. Así que me interesaba mantener actualizada la rotación sin tener que regenerar la matriz continuamente. No se si me explico....
#32
General Programadores / Re:DirectInput
12 de Marzo de 2013, 08:52:34 PM
Muchas gracias Vicente. Lo tendré en cuenta
#33
General Programadores / Re:DirectSound XACT, etc
12 de Marzo de 2013, 06:15:06 PM
Gracias, se que era una pregunta muy estúpida, y me extrañaba bastante....
#34
General Programadores / DirectSound XACT, etc
12 de Marzo de 2013, 08:32:34 AM
Esta pregunta es equivalente a la otra que he puesto sobre DirectInput, pero esta vez sobre el tema de sonido.
DirectSound esta deprecated, XACT también, que API de sonido provee Microsoft actualmente?
Últimamente me da la sensación de que todas las APIs de Microsoft están deprecated, y las que no lo están no saben que hacer con ellas.
Creo que es una clara señal para saltar del barco y empezar a usar OpenGL en serio.
#35
General Programadores / DirectInput
12 de Marzo de 2013, 08:26:08 AM
Buenas.

Estoy empezando con el tema de input para mi port de la dx_lib32, y estos días he empezado a documentarme en profundidad.
El caso es que me ha llamado la atención la situación de las APIs de input de Microsoft. DirectInput la marcan como deprecated, y recomiendan el uso de XINPUT, pero esta última sólo es compatible con dispositivos de xbox360. De manera que se sigue recomendando el uso de DirectInput en todos los tutoriales que he ojeado por ahí.

Debería usar DirectInput, o hay alguna otra API más moderna que se me haya escapado?
Si no es así, ya que estamos, cual sería el equivalente (si existe) para OpenGL?
#36
Programación gráfica / Re:De direct3d9 a OpenGL
10 de Marzo de 2013, 11:24:13 AM
Muchas gracias. La verdad es que pasar directamente a shaders me estaba tirando un poco para atrás, ya que tampoco tengo mucho tiempo libre para irme documentando. L verdad es que lo que me propones me parece más razonable, primero aprender el equivalente en OpenGL de lo que ya estoy acostumbrado en d3d9. A algunos les podría parecer una pérdida de tiempo, ya que después tendré que tirar todos esos conocimientos a la basura y ponerme con shaders, pero es un cambio más progresivo.
#37
Si es sólo una matriz de rotación, y sabes que tipo de rotación es (eje x,y,o z) simplemente haciendo el arco seno u arco coseno del elemento correspondiente te debería salir (ojo con los signos). Si esa matriz de rotación la has obtenido a partir de un cuaternion, sacas el cuaternion a partir de la matriz de rotación, y sacas el ángulo de este.

#38
Wave Engine / Re:Wave Engine
21 de Febrero de 2013, 06:48:33 PM
Ya estoy instalandolo! Buen trabajo, tiene muuuuuuuuuy buena pinta. A mi más que el desarrollo de videojuegos lo que me va es el desarrollo de tecnología. Y es ver cosas como esta las que me hacen seguir adelante. En serio, buen trabajo.

Sobre lo de preguntar por Stratos, te planteas abrir un foro específico por aquí?
#39
General / Re:tilemap isometrico: Picking
17 de Febrero de 2013, 02:23:00 PM
Mmmm vale, que a cada verted le meto un campo más que sea el identificador del objeto. Y eso encaja bien con la fixed pipeline? Es decir, sin usar shaders ni nada, hay alguna manera de hacerlo? Y en caso de que si, que FVF le específico? Ahora estoy usando xyz | diffuse | specular.

#40
General / Re:tilemap isometrico: Picking
17 de Febrero de 2013, 12:13:37 PM
Ahora que lo mencionas, sabéis de algún ejemplo de esa técnica usando direct3d9? No hago más que buscar y no veo nada...
#41
General / Re:tilemap isometrico: Picking
17 de Febrero de 2013, 11:27:36 AM
Eso tambien lo había pensado, en plan picking 3D de OpenGL de toda la vida. El problema es que hay que dibujar dos veces... Además tendría que cambiar el render entero...

A la larga me planteo implementarlo, para que dx_lib32 tenga soporte de picking de todas las primitivas que hayas dibujado.

Pero por ahora, para este caso concreto, las coordenadas abrí céntricas van bastante rápido. De hecho, en el ejemplo de picking del sdk de directx lo hace con baricentricas, recorriendo todo el mesh que esta usando.
#42
General / Re:tilemap isometrico: Picking
16 de Febrero de 2013, 11:57:01 AM
Gracias, ya conocía el segundo tutorial :).

El problema como te digo, es que no puedo seguir esa aproximación, ya que el tilemap no tiene por que ser plano (Como en la foto de antes, por ejemplo). De manera que no hay una correspondencia directa con la rejilla rectangular. Es mas, aunque la hubiera, puede ser que varios tiles se superpongan, porque hay una colina por ejemplo.
#43
General / Re:tilemap isometrico: Picking
16 de Febrero de 2013, 12:33:08 AM
Acabo de terminar de implementarlo, y parece que funciona bastante bien. Sigue sin bajar de los 110-120FPS.



Pero aún así, si tenéis alguna sugerencia, optimización, etc; por favor no os cortéis.
#44
General / tilemap isometrico: Picking
15 de Febrero de 2013, 09:09:46 PM
Buenas

Estoy implementando tilemaps isometricos del estilo de sim city 3000. Ahora estoy empezando con el tema de picking. El mayor problema es que el tilemap no tiene por que ser plano, de manera que no puedo aplicar cosas como las de éste estilo: http://www.cocos2d-iphone.org/forum/topic/21591.

Lo mas decente que se me ha ocurrido es calcular las coordenandas baricentricas del ratón en todos los tiles que pasan el test de culling.
Que os parece?
#45
He estado probando y tampoco es eso, con llamadas de 500 vertices también peta.
He estado mirando si era que la declaracion de los buffers estaba mal, pero parece correcto. Ya no se que puede ser....

En concreto, ésto es lo que me suelta:


Y en cambio en el sobremesa, funciona perfectamente:





Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.