quando si usa Opengl per disegnare un grafico di scena, ho visto che c'è sempre un glClear (GL_DEPTH_BUFFER_BIT), qual è lo scopo?qual è lo scopo di glClear (GL_DEPTH_BUFFER_BIT)
risposta
Cancella il buffer di profondità. Il depth buffer è la parte del frame buffer, che rende le primitive occluse da altri primitivi di fronte a loro. Senza cancellare il buffer di profondità, devi disegnare nella struttura di profondità del disegno precedente.
Quando un oggetto viene disegnato sullo schermo, la distanza tra lo schermo (piano) e l'oggetto deve essere considerata per prima. Questo valore della distanza viene memorizzato come valore Z (buffer Z). Se esiste un altro oggetto B tra il piano e l'oggetto, viene utilizzato il valore Z per determinare quale oggetto deve essere disegnato su questo pixel. Quindi dovresti capire perché il buffer Z deve essere cancellato ogni volta che inizializziamo il programma. In questo modo, possiamo assicurarci che non ci sia un valore errato memorizzato nel valore del buffer Z che può essere disegnato sullo schermo per sbaglio.
http://www.opengl.org/sdk/docs/man/xhtml/glClear.xml – Tim