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

#16
Programación gráfica / Re: Simplificación de mallas
02 de Octubre de 2012, 06:29:15 PM
Saludos chicos, estoy pelín atascado con respecto al remapping de las coordenadas de textura de los modelos simplificados. Alguien me podría indicar que dirección/técnica seguir en este tema... Gracias por adelantado ;D
#17
Programación gráfica / Re: Simplificación de mallas
20 de Septiembre de 2012, 01:54:43 PM
Ummm, añadiendo una penalización a aristas que pertenecen a los bordes los resultados que obtengo son más plausibles :)
#18
Programación gráfica / Simplificación de mallas
18 de Septiembre de 2012, 11:17:08 AM
Saludos, hace algunos días que he estado implementando algoritmos de simplificación mallas, pero he llegado a un punto en el que estoy pelín atascado. El caso es que estaba utilizando métodos basados en contracción de aristas y para realizar dichas contracciones considero funciones de coste tales como melax o el error quadrático medio.

La pregunta es, que tipo de función de coste podría funcionar en geometría tal como superficies planas, polígonos 2d o mallas abiertas (manifold meshes with boundaries) ?
#19
Programación gráfica / Re: Links Iluminación Global
28 de Agosto de 2012, 03:33:34 PM
Conocéis alguna alternativa a http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter38.html para conseguir iluminación global progresivamente usando la GPU ?

Alguien le ha dado una intentona al final gathering ? Para los que quieran probarlo, he aquí el renderer de toshiya, el autor del artículo. http://www.bee-www.com/parthenon/
#20
Programación gráfica / Re: Shader collection
17 de Agosto de 2012, 06:04:48 PM
Alguien conoce donde puedo encontrar una implementación rápida de un bilateral filter en glsl?

Thx
#21
Programación gráfica / Re: Shader collection
14 de Agosto de 2012, 12:59:23 PM
Volviendo al topic, más links... http://obge.paradice-insight.us/wiki/User's_Manual

Alguien podría recomendarme una buena implementación de motion blur???
#22
Programación gráfica / Re: SSDO
13 de Agosto de 2012, 06:50:47 PM
Algunos shots de una de mis implementaciones de SSAO:






Se trata de esta técnica corriendo en webgl, http://graphics.cs.williams.edu/papers/SAOHPG12/ .
#23
Programación gráfica / SSDO
10 de Agosto de 2012, 11:31:27 AM
Saludos amigos, no conocía esta técnica http://www.mpi-inf.mpg.de/~ritschel/Papers/SSDO.pdf , alguien la ha implementado ?

He googleado intentando encontrar alguna implementación para darle un intento pero no hay mucha cosa, de todas formas, qué pensais, merecería la pena darle un intento?

Hasta la fecha he implementado 3 versiones diferentes del SSAO y los resultados que he conseguido no son nada del otro mundo.

Cheers.
#24
Programación gráfica / Re: SSAO Webgl
05 de Agosto de 2012, 01:56:09 PM
Ummm, hasta ahora había estado guardando las coordenadas del espacio de cámara en texturas para luego usarlas en el shader SSAO, lo cual funciona bien.

Pero estos días he estado intentando evitar dicho paso y quería calcular dichas coordenadas a partir del depth buffer, método el cual está más que documentado en cientos de artículos de internet, pero he tenido varios problemas.

Antes de explicar el método usado, pongamos algo de nomenclatura:

M=World matrix transformation
V=View matrix transformation IV=Inverse View matrix transformation
P=Projection matrix transformation   IP=Inverse Projection Matrix transformation

v_m=model space coordinates
v_w=world space coordinates=M*v_m               
v_e=eye space coordinates=V*v_w                     
v_c=clip space coordinates=P*v_e                     
v_n=normalized device coordinates=(v_c.x/v_c.w,v_c.y/v_c.w,v_c.z/v_c.w) = v_c.xyz/v_c.w

* = Producto matricial

Ok, ahora bien, lo que interesa aquí es recuperar v_e a partir de v_n. La primera forma lógica de proceder sería algo tal que así:

v_c=(v_n.x*v_c.w,v_n.y*v_c.w,v_n.x*v_c.w,v_c.w)
v_e=IP*v_c

pero con el depth buffer desconocemos a priori v_c.w , ya que estamos almacenando v_c.z/v_c.w . Lo que algunas páginas proponen sería utilizar el siguiente método:

v_e'=IP*v_n
v_e.xyz=(v_e'.x/v_e'.w,v_e'.y/v_e'.w,v_e'.z/v_e'.w)

la verdad, no he conseguido demostrar esta igualdad, así que he hecho un programa que generando coordenadas aleatorias use este método y si que es verdad que funciona.

Pero a pesar de que el cálculo es a correcto no estoy consiguiendo los resultados correctos en mi shader utilizando este método y todavía no he averiguado porqué, ya que mi matriz de proyección inversa es correcta y los valores de mi v_n están en el rango [-1,1] ... Mi única sospecha es que cuando corrijo el rango del valor del depth buffer estoy haciendo (depth-0.5)*2.0 y quizás tendría que hacer ((1.0-depth)-0.5)*2.0 , lo probaré el lunes en el trabajo.

Entonces, algún valiente sería capaz de explicarme o demostrarme matemáticamente este método de obtener v_e a partir del depth?

Guau, vaya chorizo he largado :P
#25
Programación gráfica / Re: Shader collection
02 de Agosto de 2012, 10:51:24 AM
Bueno, lo estaba haciendo sobre una textura del mismo tamaño del render, aplicando el blur con radio variable con radio suficientemente grande para emular la textura de 1 cuarta... De todas formas, probaré tal y como dices, thx ;D
#26
Programación gráfica / Re: Shader collection
01 de Agosto de 2012, 06:57:08 PM
Ummm, alguien tiene o conoce una buena implementación del bloom/glow effect? Hoy he intentado conseguir algo convincente pero los resultados que he obtenido no son de mi agrado.

Basicamente la composición del efecto la he hecho tal que así:

1º) A: Diffuse scene
2º) B: Extraigo brillos de A  (He probado 3 diferentes tipos de filtro paso alto con diferentes umbrales de frecuencia)
3aº) C: Box blur horizontal/vertical o
3bº) C: Gaussian blur de B
4º) Compongo en additive A+C y aplico tonemapping modulando la saturación en las zonas brillantes.

Pues nada... no me acaba de convencer el resultado, todo tipo de sugerencias son bien recibidas.

Cheers.
#27
Programación gráfica / Re: Shader collection
31 de Julio de 2012, 07:17:11 PM
Te refieres al Ambient Occlusion de morgan mcguire http://graphics.cs.williams.edu/papers/SAOHPG12/? La verdad los resultados que ofrece son la caña, he intentando varias implementaciones de SSAO y esta es sin duda, la mejor.

Y por no desviarme del topic... http://www.cse.unr.edu/~sushil/models/381/material/programs/  <- Colección aleatoria de shaders.
#28
Programación gráfica / Re: Shader collection
31 de Julio de 2012, 03:35:48 PM
Dejaré esa tarea como ejercicio de los lectores... aunque ahí va una pista, todos los shaders que he usado están en los links que he puesto en los mensajes anteriores ;D

Come on guys... donde están vuestros ocultos, misteriosos y geniales shader effects???!!!!
#29
Programación gráfica / Re: Shader collection
31 de Julio de 2012, 12:24:39 PM
Guau, este topic no está teniendo el éxito que pensé que tendría, tenía la idea de que la gente del foro participaría más.

Ok, algunas shots con diferentes efectos que he implementado en mi engine para darle un poco más de vidilla :D

http://imageshack.us/g/856/68340877.png/
#30
Programación gráfica / Re: Problemas con GLSL ES
25 de Julio de 2012, 10:52:21 AM
El caso es que con ubershaders la explosión combinatorio puede llegar a ser grande dependiendo de la forma en la que organizes las directivas condicionales de tu shader.

Supongo que una posible approach es, dependiendo del tipo de propiedades del material,  sería que en tiempo de ejecución crees el material recompilando el ubershader con los correspondientes flags y se haga cache. Por otra parte, si el ubershader no es muy complejo se podría pregenerar en tiempo de carga todas las posibles combinaciones (entendiendo en este contexto una combinación como un shader que produzca resultados válidos).

De todas formas, es pura especulación ya que nunca lo he intentado e igual hay otras formas de abordar el problema.

Suerte \o





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.