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

Temas - Anderson

#1
Hola a todos/as.

Estoy aprendiendo algo de progamación de audio y he estado siguiendo el libro "Beginning Game Audio Programming" de Mason McCuskey, pero me están dando problemas algunos de los ejemplos que vienen en el CD. Deseaba saber is alguien había utilizado este libro también y todo le ha ido bien, o tambien ha tenido algunas dificultades. Dichos ejemplos emplean DirectMusic para la reproducción de los audios, y he utilizado Visual Studio.NET 2003 para su compilación.

He llegado hasta el capítulo 6, y ha ido sucediendo lo siguiente:

-Al ejecutar los ejemplos Ch5p1_ConcurrentPlayback o Ch5p2_SoundInstances a veces el audio suena el número de veces establecido... pero otras veces suena una vez menos. Los audios se toman  de ficheros .WAV

-Al ejecutar el ejemplo Ch6p1_MIDIPlayback el tempo no se acelera mediante el uso del método SetGlobalParam del performance y especificando un scale factor mayor de 1. Aparte, se supone que aparecerían una serie de mensajes en pantalla en base a la recepción de mensajes del performance (llamando continuamente a la orden de "dispatching" de dichos mensajes en el bucle del juego o mediante un thread independiente) pero no ninguno de dichos métodos dichos mensajes en pantalla aparecen. El audio se toma de un fichero .MID

He probado dichos ejemplos en dos ordenadores:

-Un Pentium IV con Windows XP Prodessional Service Pack 2 y el DirectX SDK de febrero de 2006.

-Un portátil con Windows XP Home y el DirectX SDK Update Summer 2003.

Lo dicho: deseaba saber si alguien había estado también siguiendo dicho libro y también había tenido problemas y, de ser así, si se puede hacer algo, o si es que los ejemplos están mal o son mis ordenadores, porque digamos que, ahora mismo, no sé muy bien qué hacer. :?

Un saludo.
#2
Saludos a todos. Estoy viendo la explicación de un algoritmo para determinar si un determinado punto P se encuentra en el espacio interior de un Bounging Box Alineado con los Ejes de Coordenadas (AABB). La explicación aparece en el capítulo 22 (página 685) del libro "Core Techniques And Algorithms In Game Programming" de Daniel Sánchez-Crespo.

Según parece, las ecuaciones de los 6 planos que definirían un AABB serían:

x - xmax = 0 --> x = max
x + xmin = 0 --> x = -xmin
y - ymax = 0 --> y = ymax
y + ymin = 0 --> y = -ymin
z - zmax = 0 --> z = zmax
z + zmin = 0 --> z = -zmin

siendo xmax, xmin, ymax, ymin, zmax y zmin números tales que:

xmax > xmin
ymax > ymin
zmax > zmin


Pero en mi opinión, creo que los planos deberían ser:

x - xmax = 0 --> x = xmax
x - xmin = 0  --> x = xmin
y - ymax = 0 --> y = ymax
y - ymin = 0  --> y = ymin
z - zmax = 0 --> z  = zmax
z - zmin = 0  --> z  = zmin


¿Podría alguien confirmarme si esto es así?. Gracias.  8)
#3
 Hola a todos. A ver si me podeis echar una mano:

Estoy haciendo una pequeña demo de una figura que tiene que trasladarse por la pantalla y rotar respecto a sus tres ejes relativos, desplazarse por la pantalla hacia delante y hacia atrás en la dirección que marque el eje blanco, lateralmente en la dirección que marca el eje azul, y hacia arriba y hacia abajo en la que marca el rojo. La camara permance en la misma posición. Estoy utilizando OpenGL con ayuda de GLUT y algunos comandos glu. Aquí os dejo unas imágenes:

http://www.livejournal.com/users/anderson_...jag/2005/11/11/
http://www.livejournal.com/users/anderson_...jag/2005/10/19/

El eje x sería el azul, el y el rojo y el z el blanco. El caso es que ya he logrado hacer todo esto a base de no guardar/restaurar el estado de la matriz Vista de Modelo, y para hacer la rotación, utilizar 3 instrucciones glRotate que efectúen una rotación de alrededor de los vectores (1,0,0)  , (0,1,0) y (0,0,1), teniendo tres diferentes ángulos:  xRot, yRot y zRot. Para la traslación, utilizo glTranslate y tres variables xTrasl, yTrasl y zTRasl. En un principio quedaba así:

glTranslatef( xTrasl, yTrasl, zTrasl );

glRotatef( xRot, 1.0f, 0.0f, 0.0f );
glRotatef( yRot, 0.0f, 1.0f, 0.0f );
glRotatef( zRot, 0.0f, 0.0f, 1.0f );

El problema con todo esto y con no guardar/restaurar la es que no estoy partiendo de una base sólida y creo que con este planteamiento se puede hacer esto y poco más (cuando he tratado de hacer rotar la cámara con el ratón, se ha vuelto ingobernable). Por ello he desechado esta perspectiva y he vuelto a empezar.

Ahora estoy guardando el estado de la matriz Vista de Modelo, dibujando y recuperando dicho estado. Pero ni la figura rota ni se desplaza con respecto a sus ejes relativos, sino con respecto a (1,0,0) , (0,1,0), (0,0,1) ;lógico, es lo que yo estoy especificando :P Dado que con glRotate hay que especificar el vector alrededor del que se ha de rotar, para averiguar dicho vector se me ha ocurrido especificar las coordenadas (x,y,z) del vector que corresponda en base a relaciones trigonométricas. Así, el tema queda:

glPushMatrix(); // En realidad, el estado que se guarde será el de la
               // Matriz Identidad

glTranslatef ( xTrasl, yTrasl, zTrasl );

glRotatef( xRot, cos(yRot), sin(zRot), sin(yRot) );
glRotatef( yRot, sin(zRot), cos(xRot), sin(xRot) );
glRotatef( zRot, sin(yRot), sin(xRot), cos(xRot) );

// Dibujar figura con glBegin(GL_TRIANGLES) y glEnd()

glPopMatrix();
   
Buén intento... mientras rotas la figura en una posición que coincida con (1,0,0) , (0,1,0)  , (0,0,1) ,pero en cuanto tratas de rotar la figura respecto de algún eje relativo (una segunda vez has rotado la figura hacia alguna dirección y en esa posición la has dejado) se vuelve completamente loca y se coloca en todas las posiciones imaginables :P Con respecto a la traslación, no se traslada respecto a las coordenadas relativas.

En fín, no sé si lo que pretendo hacer debe realizarse de otra manera (utilizar otras instrucciones de OpenGL, glu ó gltools), o se necesitan más cálculos de álgebra de los que yo creía. Espero vuestras sugerencias y comentarios ;)
#4
General / Un Mundo Singular
07 de Noviembre de 2005, 12:10:23 AM
 Saludos a todos. Me hice esta cuenta hace bastante tiempo pero no es hasta ahora cuando he dicho: "me voy a poner en serio a visitar esta página"  ;)  He estado leyendo varios foros y ya he dejado por ahí algunos comentarios (en mi caso... no es un cubo que rota síno una figura formada por dos pirámides unidas por la base, ¡hey, pero ya se desplaza y rota sobre sus tres ejes relativos!) :lol:

Me ha costado muchísimo poner un nombre a este thread para que, por una parte, se pudiera reflejar minimamente qué deseo que sea el tema a tratar y que, por otra parte, vosotros los expertos que lleveis años y años metidos en este mundillo menor o mayor grado quisierais acercaros UNA VEZ MÁS a explicar de "lo que se cuece". Pero... ¿desde cuál perspectiva?. Desde una muy concreta y personal: la de poder echarme una mano a comprender ciertas cosas que me resultan imposibles de comprender.

Veamos... mañana empezaré el curso de programación de videojuegos que se imparte en CICE y que ha sido publicitado en esta misma página. O... eso creo.  El curso se ha retrasado ya dos veces (inicialmente íba a empezar el 24 de octubre). Y aquí mismo pueden verse las ofertas de trabajo de CICE pidiendo un profesor.   :huh:

El tema es: que se produce una situación que soy incapaz de comprender. Yo... digamos que estaría encasillado en los que "apenas saben nada" de programar videojuegos (lo más cercano a hacer un videojuego ha sido los tutoriales sobre cómo realizar un Spaces Invaders creados por thenend y la prueba de programación que me mandó Enigma Software Productions, la cual estuve bastante cerca de terminar, aunque al final me superó)  (grrr) ... y me parece ver que existe como UNA GRAN BRECHA entre los que no saben nada o apenas   nada y los que ya pilotan, como poco, bastante del tema.

Es como si el "salto" de unos a otros fuera demasiado "grande", se me hace muy extraño.  Veo que practicamente todos los de esta página (u otras páginas que he visto) sois del segundo grupo y me cuesta muchísimo entender parte de vuestros conceptos técnicos. La gente como yo, que un curso como el de CICE nos valdría, como poco, para lograr un encaucamiento, un camino a seguir... parece que es mínima. Las plazas de CICE se han debido cubrir a duras penas (¡ojo,ojo!. También es cierto que a mí mismo no me sorprendió cuando, de poder elegir a horario de mañana, horario de tarde ó fines de semana festivos... se ha pasado a un único horario de tarde -me resultó demasiado pretencioso-). De no hacerse al final, este sería el SEGUNDO curso de programación de videojuegos que se iría al traste (el primero, en Arenal Informática, ni se llegó a hacer por falta de gente). Como si no hubiera una demanda. Como si por una parte los que empezamos y todavía no terminamos de aterrizar ni de saber todos los conceptos que por aquí se leen... estuvieramos en un lado y además fuesemos los menos; al otro lado, estaríais todos vosotros, la gran mayoría, gentes ya muy consolidadas en conocimientos y en perspectiva; Y SIN UN TÉRMINO MEDIO. A veces es como una sensación de haber llegado demasiado tarde a la estación para coger un tren en el todos vosotros os montasteis hace tiempo y ahora os veo marchar... (¡esperadnos!)  :lol:

Bromas aparte: que me gustaría leer vuestras opiniones acerca de esta sensación que tengo de ese "abismo que se me antoja tan grande" y de si no hay suficiente demanda por parte de la gente para hacer cursos de estas características (y muchos de los pocos que se pretenden hacer se van al traste).

Por mi parte estoy viendo bastantes cosas de forma autodidacta en la medida que puedo (los tutoriales de thenend me ayudaron mucho, me he comprado un libro de OpenGL y además estoy viendo el editor de niveles de DOOM 3) pero es complicado pues tengo que dedicarle mucho tiempo a "desenrredar la madeja", a averiguar cómo se hacen las cosas (y más aún, a QUÉ son las cosas y PARA QUÉ sirven) y a mil historias más, en el tema de DOOM 3, por ejemplo, aún no he logrado cargar un nivel.

Sea como sea... un mundo singular, el de los videojuegos.   :rolleyes:
#5
General Programadores / Comecocos Con Visual Basic
30 de Diciembre de 2004, 09:01:04 PM
 Buenas a todos   :D
He "desempolvado" un pequeño juego de comecocos que hice con Microsoft Visual Basic 4.0 hará unos 5 o 6 años y tenía un par de preguntas que haceros sobre el Visual Basic:

·¿Cómo puedo ocultar/desocultar el puntero del ratón? (para ocultarlo mientras se juega y volverlo a hacer aparecer al acabar la partida)

·¿Cómo puedo deshabilitar el retardo o delay del teclado para pulsar una tecla y que nuestro personaje se mueva sin tener que esperar un tiempo?. O en su defecto ¿cómo podría incrustar en el código Visual Basic un trozo de código en Ensamblador que realizara esta función?.

Je,je,je,... ¡qué divertido este icono!  (nooo)  (nooo)  (nooo)  (nooo)  





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.