Pregunta

Me gustaría crear un juego en el modo de alambre y sin embargo el comando glPolygoneMode No sé cómo lo haría. ¿Es algo que podría codificar a mí mismo con lo que está disponible? Estoy completamente nuevo para OpenGL. Si alguien ha hecho esto y tiene el fragmento de código que me encantaría verlo. Cualquier ayuda es apreciada.

¿Fue útil?

Solución

Es concebible que podría hacer que toda la escena usando GL_LINES

Otros consejos

Por desgracia, puede que tenga que en realidad completamente convertir su geometría a las primitivas de línea y procesarlas con GL_LINES . Sin embargo, es, por supuesto, no se hace mediante la simple sustitución GL_TRIANGLES (o lo que sea) con GL_LINES en sus llamadas de sorteo, que tendrá que reordenar por completo sus vértices para acomodar para el nuevo modo primitivo. Esto requiere que al menos el uso de diferentes matrices de índice en las llamadas glDrawElements... o, para la representación no indexada (glDrawArrays...), diferentes matrices de vértices por completo (aunque, en caso de que realmente decide hacer eso, este podría ser el momento adecuado para cambiar a indexada dibujo en su lugar).

Sin embargo, si usted tiene Geometría Shaders disponible (sin embargo, parece WebGL no los soporta, OpenGL eS 3.2, ya debe, al igual que desptop GL, pero que tiene buena glPolygonMode edad de todos modos) y ya no utilizarlos para otra cosa, las cosas se ponen más fácil. En este caso sólo se puede instalar una bastante simple geometría de sombreado entre el vértice y el procesamiento fragmento que toma triángulos y las salidas 3 líneas para cada uno de ellos:

layout(triangles) in;
layout(line_strip, max_vertices=4) out;

void main()
{
    for(int i=0; i<4; ++i)
    {
        // and whatever other attributes of course
        gl_Position = gl_in[i%3].gl_Position;
        EmitVertex();
    }
}

Si utiliza adecuada shader basado en bloques de interfaz, que debe ser capaz de utilizar sus sombreadores de vértices y de fragmentos existentes para el descanso y simplemente conectar dicho sombreado geometría en medio para la prestación de alambre de todos los tipos de primitivas basado en triángulo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top