Opengl Specchio trasformare backface culling
Domanda
In openGL, ho un oggetto che mi scala da -1 lungo un asse ... Il risultato è l'oggetto non visualizzato correttamente in quanto tutte le facce anteriori sono ora affronta indietro. A corto di disattivazione abbattimento, come potrei ottenere questo oggetto per rendere giusto? C'è un modo per farlo senza modificare i vertici normali texture che compongono il mio modello?
Soluzione
Si può semplicemente cambiare la modalità di abbattimento. È possibile utilizzare glCullFace(mode)
per decidere quali triangoli devono essere abbattuti. Fornire un parametro di mezzi GL_BACK
che poligoni solo rivolti anteriore sono resi, mentre un parametro di mezzi GL_FRONT che poligoni solo backfacing sono resi. Quindi, se il vostro mezzo di trasformazione che il "backfacing" poligoni sono infatti frontfacing, chiamando glCullFace(GL_FRONT)
dovrebbe fare il trucco.
In alternativa è anche possibile controllare quali poligoni sono considerati anteriore / backfacing utilizzando glFrontFace(dir)
, con un parametro di GL_CW
(in senso orario) o GL_CCW
(in senso antiorario) (di default è in senso antiorario, quindi se si imposta a clocksie originaly backfacing poligoni sarebbe considerato frontfacing).