2011-03-11 11 views
5

No deseo bombardear esta publicación con código. Tengo un archivo principal, un sombreador de fragmentos y un archivo de sombreado de vértices.Identificar niveles de mapa de mip al colorear diferentes áreas de pantalla en GLSL

Necesito saber los pasos que debo seguir para colorear la pantalla según el nivel de mipmap? Es decir. adonde debe ir el lazo que solicita el nivel de mipmap, luego establece el color en consecuencia. No sé dónde implementar esto o cómo, un simple ejemplo sería suficiente muchas gracias.

+0

Tal vez soy tonto, pero no puedo decir lo que estás tratando de hacer. ¿Desea cambiar manualmente los mipmaps para que cada mipmap tenga un color diferente? ¿O desea averiguar qué nivel de mipmap se está utilizando en el sombreador de fragmentos? – Hannesh

+0

Honestamente, no sé, me han dado un programa y una de mis tareas es "5. \t Identificar los diferentes niveles de Mip Map coloreando las regiones de la pantalla de manera diferente." –

Respuesta

1

Debe crear una textura con un color diferente para cada nivel, y luego recuperar ese color en su programa de fragmentación. También podría ser posible calcularlo usando dFdx(texcoord.x) y dFdy(texcoord.y).

+0

Gracias, lo haces sonar fácil . Sin embargo, ¿podría ser más específico? Soy un novato –

+1

float mip = log2 (max (dFdx (Texcoord.x) * texSizeX, dFdy (Texcoord.y) * texSizeY)); – Damon

1

Como dijo tibur, una manera fácil de hacerlo es usar una textura de depuración que tenga un color diferente para cada nivel como se ve here.

Ahora, si necesita calcular el nivel de mipmap a mano (generalmente un valor de coma flotante), esta es otra historia, ya que necesitará derivados, pero this debería ponerlo en la pista.

+0

Gracias por eso. Necesito hacer esto de la manera fácil, si existe tal cosa. Pero no tengo ni idea, mi profesor es basura y no puedo encontrar ningún material que tenga sentido. p.ej. "Poner el comando X en la función Y" –

Cuestiones relacionadas