GenBuffersARB=(PFNGLGENBUFFERSARBPROC)glfwGetProcAddress("glGenBuffersARB");
GLuint id;
GenBuffersARB(1,&id);
if (!glfwExtensionSupported("GL_ARB_vertex_buffer_object"))
return false;
Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!
GenBuffersARB=(PFNGLGENBUFFERSARBPROC)glfwGetProcAddress("glGenBuffersARB");
GLuint id;
GenBuffersARB(1,&id);
if (!glfwExtensionSupported("GL_ARB_vertex_buffer_object"))
return false;
Quote: Kubuntu Konsole
$ glxinfo | grep vertex_buffer
GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader
#include <GL/glfw.h>int main(){ bool running = true; unsigned width=640,height=480; glfwInit(); if( !glfwOpenWindow( width, height, 0, 0, 0, 0, 0, 0, GLFW_WINDOW ) ) { glfwTerminate(); return 0; } glfwSetWindowTitle("GLFW VBO Demo"); GLfloat data[] = { -1.0f, 1.0f, 0.0f, -1.0f, -1.0f, 0.0f, 1.0f, -1.0f, 0.0f }; GLuint buffer = 0; PFNGLBINDBUFFERARBPROC glBindBufferARB = NULL; PFNGLGENBUFFERSARBPROC glGenBuffersARB = NULL; PFNGLBUFFERDATAARBPROC glBufferDataARB = NULL; PFNGLDELETEBUFFERSARBPROC glDeleteBuffersARB = NULL; // set up OpenGL glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(45, (float) width / (float) height, 1, 512); if (glfwExtensionSupported("GL_ARB_vertex_buffer_object")==false) return 1; glBindBufferARB = (PFNGLBINDBUFFERARBPROC)glfwGetProcAddress("glBindBufferARB"); glGenBuffersARB = (PFNGLGENBUFFERSARBPROC)glfwGetProcAddress("glGenBuffersARB"); glBufferDataARB = (PFNGLBUFFERDATAARBPROC)glfwGetProcAddress("glBufferDataARB"); glDeleteBuffersARB=(PFNGLDELETEBUFFERSARBPROC)glfwGetProcAddress("glDeleteBuffersARB"); // enable depth testing glEnable(GL_DEPTH_TEST); glDepthFunc(GL_LEQUAL); glEnableClientState(GL_VERTEX_ARRAY); glClearColor(0.5f, 0.5f, 1.0f, 1.0f); glGenBuffersARB(1, &buffer); glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0); glBufferDataARB(GL_ARRAY_BUFFER_ARB, sizeof(data), data, GL_STATIC_DRAW_ARB); while(running) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glTranslatef(0, 0, -3); glBindBufferARB(GL_ARRAY_BUFFER_ARB, buffer); glVertexPointer(3, GL_FLOAT, 0, 0); glDrawArrays(GL_TRIANGLE_STRIP, 0, 3); glfwSwapBuffers(); // exit if ESC was pressed or window was closed running = !glfwGetKey(GLFW_KEY_ESC) && glfwGetWindowParam( GLFW_OPENED); } glDeleteBuffersARB(1, &buffer); glfwTerminate(); return 0;}
Quote: Original post by T1OracleQuote: Kubuntu Konsole
$ glxinfo | grep vertex_buffer
GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader
Quote: Original post by hydrooQuote: Original post by T1OracleQuote: Kubuntu Konsole
$ glxinfo | grep vertex_buffer
GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader
This means GL_ARB_vertex_buffer_object, is available.
So it has to be somethings else. Sadly I am not in to graphics that much. Sorry
#include <GL/glfw.h>int main(){ bool running = true; unsigned width=640,height=480; glfwInit(); if( !glfwOpenWindow( width, height, 0, 0, 0, 0, 0, 0, GLFW_WINDOW ) ) { glfwTerminate(); return 0; } glfwSetWindowTitle("GLFW VBO Demo"); GLfloat data[] = { -1.0f, 1.0f, 0.0f, -1.0f, -1.0f, 0.0f, 1.0f, -1.0f, 0.0f }; GLuint buffer = 0; PFNGLBINDBUFFERARBPROC glBindBufferARB = NULL; PFNGLGENBUFFERSARBPROC glGenBuffersARB = NULL; PFNGLBUFFERDATAARBPROC glBufferDataARB = NULL; PFNGLDELETEBUFFERSARBPROC glDeleteBuffersARB = NULL; // set up OpenGL glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(45, (float) width / (float) height, 1, 512); glViewport(0, 0, width, height); if (glfwExtensionSupported("GL_ARB_vertex_buffer_object")==false) return 1; glBindBufferARB = (PFNGLBINDBUFFERARBPROC)glfwGetProcAddress("glBindBufferARB"); glGenBuffersARB = (PFNGLGENBUFFERSARBPROC)glfwGetProcAddress("glGenBuffersARB"); glBufferDataARB = (PFNGLBUFFERDATAARBPROC)glfwGetProcAddress("glBufferDataARB"); glDeleteBuffersARB=(PFNGLDELETEBUFFERSARBPROC)glfwGetProcAddress("glDeleteBuffersARB"); // enable depth testing glEnable(GL_DEPTH_TEST); glDepthFunc(GL_LEQUAL); glEnableClientState(GL_VERTEX_ARRAY); glClearColor(0.0f, 0.0f, 0.0f, 0.0f); glGenBuffersARB(1, &buffer); glBindBufferARB(GL_ARRAY_BUFFER_ARB, buffer); // THIS IS WHERE I HAD 0 INSTEAD OF buffer glBufferDataARB(GL_ARRAY_BUFFER_ARB, sizeof(data), data, GL_STATIC_DRAW_ARB); while(running) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glTranslatef(0, 0, -3); glColor3f(1.0f,1.0f,1.0f); glBindBufferARB(GL_ARRAY_BUFFER_ARB, buffer); glVertexPointer(3, GL_FLOAT, 0, 0); glDrawArrays(GL_TRIANGLE_STRIP, 0, 3); glfwSwapBuffers(); // exit if ESC was pressed or window was closed running = !glfwGetKey(GLFW_KEY_ESC) && glfwGetWindowParam( GLFW_OPENED); } glDeleteBuffersARB(1, &buffer); glfwTerminate(); return 0;}