Не будет отступлений, сразу к делу
Вот код:
#define GLEW_STATIC
#include <D:\Games\Include\GLEW\glew.h>
#include <D:\Games\Include\GLFW\glfw3.h>
#include<D:\Games\Include\GLUT\glut.h>
void draw()
{
glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
glDrawArrays(GL_POINTS, 0, 1);
glClear(GL_COLOR_BUFFER_BIT);
glutSwapBuffers();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA);
glutInitWindowSize(1024, 768);
glutInitWindowPosition(100, 100);
glutCreateWindow("Tutorial 01");
GLfloat vertices[] = {
0.0f,0.0f,0.0f
};
GLuint VBO;
glGenBuffers(1, &VBO);
glBindBuffer(GL_ARRAY_BUFFER, VBO);
glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW);
glEnableVertexAttribArray(0);
glBindBuffer(GL_ARRAY_BUFFER, VBO);
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, 0);
glutDisplayFunc(draw);
glutMainLoop();
glfwTerminate();
return 0;
}
Исключение вылетает на генерации буфера VBO(glGenBuffers(1, &VBO);)
Исключение: нарушение прав доступа при исполнении по адресу 0x00000000
Насколько я помню(я не помню вообще) это исключение вызывается,когда указатель при завершении программы не обнуляется(т.е. не указывает на 0). Но он должен исчезнуть при конце программы