2016-04-14 30 views
1

ich auf einen Fehler laufen, wenn Funktionen OpenGL 4.5 DSA, auf GTX760M NVIDIAs Dies sind drei Stücke von Code: 1. die alte Art und WeiseFehler in NV implementieren für glClearNamedFramebufferfi

glClear(GL_DEPTH_BUFFER_BIT); 

2. die moderne Art und Weise

glBindFramebuffer(GL_DRAW_BUFFER, 0); 
glClearBufferfi(GL_DEPTH_STENCIL, 0, 1.f, 0); 

3.the dsa Mode

glClearNamedFramebufferfi(0, GL_DEPTH_STENCIL, 1.f, 0); 

Aber nur der erste und der zweite Code funktionieren. Ist das ein Fehler oder mein Fehler?

+0

In welcher Art und Weise funktioniert es nicht? –

+0

Wenn der Tiefentest aktiviert ist, kann ich kein einfaches Dreieck auf dem Standard-Framebuffer zeichnen. – hamwj1991

Antwort

0

Es ist eigentlich ein Fehler von glew, ändern Sie einfach den Prototyp glClearNamedFramebufferfi zu

typedef void (GLAPIENTRY * PFNGLCLEARNAMEDFRAMEBUFFERFIPROC) (GLuint framebuffer, GLenum buffer, GLuint drawbuffer, GLfloat depth, GLint stencil);