Caray, que cachetón te oiste diciendo que C++ es un lenguaje de verdad,
y que nosotros, los pendejos, programamos en C/ensamblador.
¿Cuándo llegarán esos pregonando que, si hay Visual Basic, los demás
lenguajes ya no tienen sentido?
Saludos.
--- qualopec@... escribió:
>
>
> Lo de usar asm en los senos y cosenos es mas viejo que el cagar y la
> verdad, no creo q vaya a umentar el rendimiento del war como para
> andar perdiendo el tiempo, yo antes quitaría todos los glVertex3f y
> pondría unos vertex array como mínimo antes de hacer nada en el
> apartado de optimizaciones.
>
> Con respecto a lo del puntero a función, no olvides que usa c++, que
> es un lenguaje de verdad y por lo tanto puedes usar abstracción sin
> ningún tipo de problemas evitando tener que guarrear el código con
> punteros a funciones... Además en el caso de hacer un fade en los
> cambios de pantalla ya no podrías usar el mecanismo de cambiar el
> callback de GLUT.
>
> Lo del sonido que dices tiene buena pinta.
>
> un saludo, ethernet
>
>
> > De:: "jgpd16" <jgpd16@...>
> > Para: war_3d@yahoogroups.com
> > Asunto:: [war_3d] Pequeña mejora en seno coseno y mas comentarios
> > BCC: 07/09/2004
>
> > Como supongo que muchos sabreis la fpu tiene la posibilidad de
> > realizar el seno y el coseno de un angulo dado al mismo tiempo,
> > ahorrando muchisimos ciclos de reloj(casi la mitad del tiempo).
> > Para las funciones que usan sin y cos,matrices,etc he desarrollado
> > (todavia sigo)una libreria matematica (esta casi toda en asm, y es
> > rapidisima, el problema es que es VC inline) y bueno se me ha
> > ocurrido poner la funcion sincos en asm inline de VC,
> >
> > void sincos(float val,float *sine,float *cosine)
> > {
> > _asm
> > {
> > mov eax,cosine
> > mov edx,sine
> > fld val
> > fwait
> > fsincos
> > fwait
> > fstp [eax]
> > fstp [edx]
> > }
> > }
> >
> > Bueno eso para VC, para Gas que es que usa gcc seria algo distinto
> > por motivos de la sintaxis AT&L que usa(que fea coño), asi la
> > funcion quedaria algo parecido al
> >
> > void sincos(float val,float *sine,float *cosine)
> > {
> > #ifndef WIN32
> >
> > _asm
> > {
> > mov eax,cosine
> > mov edx,sine
> > fld val
> > fwait
> > fsincos
> > fwait
> > fstp [eax]
> > fstp [edx]
> > }
> > #elseif defined /*pondriamos otras macros que definen los
> > compiladores */
> > /*Codigo en asm en linea*/
> > #endif
> > }
> >
> >
> > Tendriamos una funcion que se llamaria de la siguiente forma
> >
> > sincos(angulo,&seno,&coseno);
> >
> > y nos devolveria el seno y el coseno del angulo y ademas es muy
> > rapida.
> >
> > Estaria bien tratar de optimizar alguna que otra funcion
> matematica,
> > tambien (no se si lo hareis así ahora mismo) para pintar la
> pantalla
> > usar punteros a funciones, así se ahorrarian comprobaciones if
> > inutiles que son tan importantes a la hora de pintar
> > asi el GlutDisplayloquesea(no manejo glut, wgl y glx :P mira que
> soy
> > raro) tendriamos por ejemplo un puntero a funcion generico
> > void (*PintaPantalla)(void);
> > Y según el estado del juego hariamos algo parecido a
> > PintaPantalla = PintaMenu;
> > PintaPantalla = PintaSinglePlayer;
> > etc.
> > y la llamada en glut seria algo como
> > glutDisplayWindow(PintaPantalla);(Repito no se glut, no me gusta).
> >
> > Digo esto pq no me deja descargar el codigo anonimamente y no le he
>
> > pasao a Zeru mi nombre de Sourceforge y no he podio ver el codigo
> de
> > forma comoda.
> >
> > Otra cuestion, para el sonido usais ogg y openal, pero ¿cargais el
> > fichero de audio entero en memoria y lo leeis?, ¿lo leeis desde el
> > disco duro poco a poco o cargais el fichero ogg y despues lo que
> > haceis es ir encolando bufferes de sonido para su reproduccion?,
> > (como consecuencia se usa muy poca memoria y es muy rapido)(el
> > fichero ogg, no mas de 3MG y dos bufferes de como mucho 8KB cada
> > uno). Es que tengo hecho un reproductor de Ogg con OpenAl que usa
> > eso, si os interesa y no teneis algo por el estilo podria pasarlo,
> > de hecho tengo intencion en usarlo en un juego que estoy haciendo
> > por mi cuenta(ya tengo casi terminado el editor :), por ciero la
> > funcion sincos esta mas que provada en el editor para las
> > rotaciones).
> >
> > Cuando tenga el codigo le hechare un ojillo por encima a ver que
> > puedo aportar, que llevo un tiempo en el grupo y no he hecho na,
> > bueno si compilarlo en suse pero soy tan perro que no escribi ni
> > como lo hice.
> >
> > Por cierto mi cuenta en sourceforge en Raistmaj asi que ya sabes
> > Zeru :). Si quereis comentarme algo personalmente mi correo:
> > gmail.com 1
> > @ 2
> > Raistmaj 3
> >
> > El orden (es logico) es 321.(esto lo hago por si acaso hay spam).
> >
> >
> >
> >
> >
> > _____________________________________
> > WAR3D -> <A HREF="http://war3d.sourceforge.net/"
> TARGET="_blank">http://war3d.sourceforge.net/</A>
> >
> > Si quieres cancelar tu suscripcion, envia un mensaje a
> war_3d-unsubscribe@yahoogroups.com
> > _____________________________________
> > Enlaces a Yahoo! Grupos
> >
> >
> > war_3d-unsubscribe@yahoogroups.com
> >
> > <A HREF="http://es.docs.yahoo.com/info/utos.html"
> TARGET="_blank">http://es.docs.yahoo.com/info/utos.html</A>
>
>
_________________________________________________________
Do You Yahoo!?
La mejor conexión a internet y 25MB extra a tu correo por $100 al mes.
http://net.yahoo.com.mx