Iluminación de vértice OpenGL ES 2.0

Estoy tratando de obtener un efecto de iluminación suave en un sólido con openGLES 2.0. Exporté un sólido .obj de blender y convertí el archivo obj en una matriz C de vértice y normal (con obj2openGL - http://heikobehrens.net/2009/08/27/obj2opengl/ ). Luego dibujo estos datos en mi aplicación openGL ES en iPhone. El problema es que las caras del sólido tienen una iluminación plana (el mismo color para cada cara). Quiero un efecto suave sin usar iluminación por fragmento. Traté de aumentar el número de caras pero sin resultados.

¿Hay alguna función en openGLES2.0 que controle este efecto (iluminación suave o plana)?

preguntado el 12 de junio de 12 a las 10:06

¿Y no puede ser que el archivo .obj exportado por Blender tenga normales por cara en primer lugar? No tengo mucha experiencia con Blender, pero los programas de modelado por lo general apestan a la hora de exportar a formatos simples y generalizados (aunque la naturaleza de código abierto de Blender podría ser diferente en este sentido). -

Gracias Christian, mientras tanto intenté hacer un rayo por fragmento obteniendo el mismo efecto plano. En cambio, una esfera que creé manualmente en la misma aplicación se ve perfectamente uniforme. ¡Así que creé con el mismo método un cubo simple centrado en 0,0,0 y las normales generadas parecen ser caras normales! (por ejemplo, 1,0,0 ...). -

Una vez que SO te lo permita, ¿puedes publicar tu solución como una respuesta completa y luego aceptarla? Eso nos haría felices a los completistas :-) -

1 Respuestas

Resolví el problema. Para exportar el vértice normal en un .obj con blender 2.62, se debe seleccionar "shade smooth" (en el modo de edición, ctrl-F y elegir el modo de sombra). ¡Espero que esto pueda ayudar a alguién!. Muchas gracias Christian, fue la solución más fácil.

Respondido el 21 de junio de 12 a las 07:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.