Pregunta

Cuando los objetos de un CallList cruzan el plano cercano tengo un parpadeo..., ¿qué puedo hacer?

Im usando OpenGL y SDL.

Sí es de doble buffer.

¿Fue útil?

Solución

Suena como que usted está recibiendo z-lucha.

"Z-fighting es un fenómeno en 3D de representación que se produce cuando dos o más primitivas tienen valores similares en el z-buffer, y es particularmente frecuente con coplanares polígonos.El efecto de causas pseudo-aleatoria de píxeles sea representado con el color de un polígono o de otro, en un no-determinista manera, variando según la escena es animada, causando un polígono para "ganar" la prueba z, luego otro, y así sucesivamente." (A partir de wikipedia)

Puede obtener más información sobre el problema en el OpenGL FAQ.

glPolygonOffset puede ser de ayuda, pero también puede meterte en problemas con él.Tom Forsyth tiene una buena explicación en su Preguntas frecuentes Nota:Habla acerca de ZBIAS, pero eso es sólo el DirectX equivalente.

Otros consejos

El problema era que mi función de rotación tenido algunos errores de punto flotante que la pata de mi model_view de la matriz.

Ninguno de ustedes podría haber adivinado, lo siento por la pérdida de su tiempo.

Aunque no creo que el movimiento del plano cercano debe ser considerada una solución a cualquier tipo de problema por lo general algo más está mal, porque openGL soporta polígono de la intersección con el plano cercano.

Trate de poner la cerca del plano de recorte de un poco más :por ejemplo, con gluPerspective -> tercer parámetro zNear http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/glu/perspective.html

Ah, que significó la cerca de plano.:)

Bien...otra cosa es cuando el dibujo de polígonos en el mismo plano es el uso de glPolygonOffset

A partir de la descripción

  glPolygonOffset is useful for rendering hidden-line images,
  for applying decals to surfaces, and for rendering solids
  with highlighted edges.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top