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 - MChiz

#181
Programación gráfica / Volumenes Y Stencil Shadows
23 de Julio de 2003, 03:33:52 PM
 Hola Drakkar:

Yo no hace mucho tiempo me encontraba como tu : )

Supongo que estas utilizando el Carmack's Reverse, no? Porque el metodo convencional sirve para objetos cerrados y abiertos.

El problema con el Carmack's Reverse es que has de poner unas 'tapas' al Shadow Volume, para que sea cerrado. Con un objeto abierto puedes conseguir esas tapas de una manera muy muy sencilla.
Supongo que ahora creas la tapa superior ( la cercana a la luz ) con las caras que miran hacia la luz y la tapa inferior ( la extruida ) la creas con las caras que NO miran hacia la luz. Bien, el problema se resuelve utilizando SIEMPRE las caras que miran hacia la luz para crear ambas tapas. La superior la creas como ahora, no hay ningun cambio, pero la inferior la creas a partir de las mismas caras ( las que miran hacia la luz ) cambiandole el sentido al enviar los vertices ( en sentido horario ). Espero haberme explicado bien.

El problema que comenta Haddd ( el de 'capar' los Shadow Volumes ) no existe si haces que todo el mundo proyecte sombra. Es costoso, si, pero es a lo que van los juegos : )

Por otro lado, me parece mejor algoritmo los Shadow Maps ( no los he implementado ). Lastima que tengan el problema de la resolucion. Como algoritmo en si, es muchisimo mas general, y no tienes que estar con siluetas ni nada. Ademas, como es cuestion de hacer renders, la cosa esta muy acelerada. Lo malo es cuando quieres hacer una luz omni x( Aunque la ventaja mas significativa que yo le veo a este algoritmo, en comparacion al de las Stencil Shadows, es que si por ejemplo tenemos una verja, valla, rejilla o similares, en los juegos se representan como un quad con textura ( os imaginais todo eso en poligonos? ). Bien, pues eso con las Stencil Shadows no proyectaria sombra; con Shadow Maps si.

Bueno, creo que ya he rallado suficiente por hoy :b

talogo!!
#182
Código de la Semana / Rle Array - Mchiz
23 de Julio de 2003, 11:40:41 AM
 Hola!

Para Juan:

Muy chulo : ), pero esos continues y ese break no me gustan :b No se que mas decir!

Para ethernet:

Programarme mi allocator... me da un poco de palo xP No le he hecho nunca.
El tema de la cache esta muy interesante.

Alguien esta haciendo ya el proximo COTW??? Que el lunes se acerca! :b

talogo!
#183
General / ¿A Donde Quereis Ir?
23 de Julio de 2003, 11:31:02 AM
 Hola a todos ( ei Aphex ; ) ):

Que os parece replantear la quedada partiendo de lo que ha dicho Aphex?  Seria quedar un dia laboral, pero no creo que haya demasiado problema. Que os parece? Creo que puede ser bastante mas interesante.

Adios!
#184
General / ¿A Donde Quereis Ir?
23 de Julio de 2003, 01:22:55 AM
 Gracias! : )
#185
Código de la Semana / Rle Array - Mchiz
22 de Julio de 2003, 08:13:52 PM
 
CitarUhm, ... para los valores que sólo aparecen una vez se está reservando más memoria que la que utilizan en el array. Sería interesante guardar información extra sólo para los intervalos que realmente se repiten ... 

Esto ya lo habia pensado. De hecho, el PCX lo hace, pero no se me ocurre como conseguirlo si la compresion es con cualquier tipo de dato. El PCX, como solo comprimia valores numericos, utilizaba el bit mas alto para comprobar si eso era un numero comprimido o no. De esta forma NUNCA te ocupaba mas.
#186
General / ¿A Donde Quereis Ir?
22 de Julio de 2003, 06:25:06 PM
 La idea de Repoker no esta nada mal.
Yo tengo pase para ir al aula donde hemos hecho el master y creo que no hay ningun problema en que vengais. Ahora siempre esta vacia. Que os parece la idea?
#187
Código de la Semana / Rle Array - Mchiz
22 de Julio de 2003, 03:23:23 PM
 
CitarMuy bueno el COTW, seguro que lo acabo utilizando en algun sitio.

Me alegro! De eso se trata! : )

Sobre el tema STL, yo no digo que esten mal, pero tiene el problema de que pides memoria por cada nodo que añades. Yo siempre que puedo pido todo el bloque de memoria que necesito y trabajo a partir de ahi. Los news, mientras mas grandes los puedas hacer, mejor. Es como el tema de los pools.

Por otro lado, las STL SI que las veo muy chulas para temas de Hash, por ejemplo.

Bueno, solo aclarar que no uso STL en la aplicacion de tiempo real ( en el juego, por ejemplo ) pero en aplicaciones externas, preprocesos o como querais llamarlo, hago uso intensivo : ) Facilitan mucho la vida del programador, no de la maquina : )

talogo!!
#188
Programación gráfica / Temas De Exportacion...
22 de Julio de 2003, 03:10:22 PM
 jor... pues yo uso VS.NET x(

MAXScript ESTA MUY BIEN. Lastima que al ser interpretado sea un poco lento, aunque se pueden hacer funciones en C++ y llamarlas desde MAXScript ( a lo Div Games Studio ) y esto mola mucho.

Sobre lo de grabar archivos en binario, se puede a partir de la version 5 del MAX : )
#189
Código de la Semana / Rle Array - Mchiz
22 de Julio de 2003, 10:00:26 AM
 Hola a todos:

Pogacha:
Me cuesta bastante leer tu codigo... x(

Juan Mellado:
Pues muchas gracias por la info!! Aunque quieres decir que en Release no seria suficientemente listo como para darse cuenta? En fin, a partir de ahora sere mas estricto con el tema. Aun tengo mucho que aprender... Muchas gracias!

ethernet:
Lo del uso de iterador personalmente lo veo un poco engorroso. Soy un poco de la vieja escuela :b Aunque mayormente no haria este cambio que me dices en mi codigo porque, como ya comente, no me gustan las STL. Pero agradezco mucho tu comentario!!

Adios!!!
#190
Código de la Semana / Rle Array - Mchiz
21 de Julio de 2003, 02:49:36 PM
 Hola!

Citar
Para la transparencia usaría iterator y un interface similar a stl para poder cambiar rápidamente tu código (cambiando un typedef y ya está).

Esto no lo acabo de entender... cambiar el codigo a que?

Citar
Por orta parte usaría una clase como sort de STL (http://www.sgi.com/tech/stl/sort.html) en la que en el template se le indicara la función de comparación. Hay tipos que puede q no tengan sobrecargado ==.

Esta otra cosa no la conocia. Es algo que no me acababa de gustar. Muchas gracias : ), lo mirare!

Citar
Para agilizar la búsqueda en getElement() usaría el típico truco de buscar la mitad, si es mayor pillar la mitad superior, sino la inferior (un arbol vaya  puesto que tienes ordenados por índice.

Pues si. No me acorde... nuevamente, gracias! Todos estos cambios los hare a partir de la semana que viene, que esta me viene un poco mal...

Saludoteees!
#191
Código de la Semana / Rle Array - Mchiz
21 de Julio de 2003, 10:40:15 AM
 
CitarTransparencia en el acesso a datos y mejorar rapidez en el acceso a los mismos.
Que propones para ambos casos? : )

CitarPor otra parte en la compresion recorres el vector 2 veces cuando solo es necesario recorrerlo 1 y haces tantas reservas de memoria como numero diferente de datos hay cuando recorriendolo dos veces solo necesitas hacer un new.
hm? Creo que esto no lo entiendo. Necesito recorrer el array dos veces para:
1.- Cuento cuantos datos distintos hay en el array y me quedo con la cuenta
2.- Una vez tengo la memoria reservada, me voy guardando los datos ahi.

Si hubiese usado STL esto no haria falta, pero es que no me gusta usarlas. Siempre que se puede utilizar news grandes lo hago. No te fragmenta la memoria y favoreces la cache.
Explicame que es lo que tienes pensado, por favor!!

Aioos!
#192
Programación gráfica / Temas De Exportacion...
21 de Julio de 2003, 10:35:08 AM
 Hola!!

Claro claro, daba por supuesto que los grafistas usarian MAX ( que hoy por hoy parece ser lo mas normal ) : )
Como tu bien has dicho, son opiniones. Gracias por decirme la tuya : )

Otro saludote para ti : )
#193
Código de la Semana / Rle Array - Mchiz
21 de Julio de 2003, 01:11:52 AM
 Hola a todos!

Para Mars Attacks y NeLo:
La optimizacion que me proponeis estoy casi convencido que el compilador la efectua en modo release, ya que la funcion 'getElementsCount( )' es una funcion inline, y el compilador la substituye. En cualquier caso, si lo que digo no es cierto ( que yo juraria que si ), lo que deciis si que añadiria velocidad. Pero vaya, que eso lo hago en el programa de ejemplo. Luego cada uno que lo utilice como quiera : )

Para Mars Attacks:
La compresion RLE consiste en comprimir datos iguales QUE ESTEN SEGUIDOS. Por ejemplo, un array de diez unos quedaria comprimido en un 10 y un 1 ( El 10 es el numero de veces que el dato ( 1 ) esta repetido ). No se si me he explicado... se me da muy mal : ( Si alguien lo sabe explicar mejor... Este tipo de compresion es utilizada por los famosos archivos PCX : )

Para Juan Mellado:
La optimizacion numero 1 que me propones ( la de parametrizar el miembro '_count' ) no se si entiendo bien su cometido. Le consigo ver la ventaja, por ejemplo, si no vas a tener mas de 255 datos repetidos; asi puedes hacer que sea un unsigned char. Lo haces por eso? La verdad es que no se me habia ocurrido. Muchas gracias! : )
Acerca de la segunda optimizacion... JO-DER :b No habia pensado en ello. Pero dandole vueltas... quieres decir que no tratara la clase como una estructura? La vtable solo es necesaria si la clase tiene funciones virtuales o siempre esta ahi? Es que hasta ahi no llego :b Si es como tu dices, personalmente la trataria como una estructura... es mas, no se porque leches la he hecho clase :b En mis trabajos, si solo son datos, los hago como estructuras... Pero bueno, asi he aprendido esto : ) Muchas gracias nuevamente!!

Para todos:
Me alegro MUCHISIMO que os haya gustado el codigo de la semana!! Esto anima muchisimo : ) Intentare pensar en alguna otra cosa. Muchas gracias, en serio. Esto anima mucho. A ver si otra gente se monta al carro : )

Besitos a las nenas y pataitas a los nenes :b
#194
Programación gráfica / Temas De Exportacion...
21 de Julio de 2003, 12:51:23 AM
 Hola MA]Mestre:

Lo primero de todo, gracias por tu perspectiva, pero he comprobado que quedarme como estoy no es una buena idea : (
No me importa 'casarme' con el MAX. Si voy a hacer un proyecto, dudo MUCHISIMO que cambie el 3DStudio ( en este caso ) por el Maya ( por ejemplo ), enmedio del desarrollo. Es mucho mas comodo para el artista y, como ya saben los que me conocen, siempre digo: 'El grafista mientras mas facil lo tenga, mejor'. Que nadie se ofenda, no les estoy llamando cortos, todo lo contrario. Como ellos tienen el 'poder creativo', hay que darles todas las facilidades para conseguir lo que quieren.
Y por descontado, es mucho mejor darle a un boton o a otro ( desde el MAX ) que no utilizar una aplicacion u otra.

Un saludote!!
#195
General / Gente De Barcelona, Veamonos Las Caras
19 de Julio de 2003, 06:03:24 PM
 ueeeeeeeee, futbolin powah!! No habia pensado!! Quedamos en Marina? xPPP





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.