Вызов исключения при попытке создания буффера (opengl),(glew)
Здравствуйте при попытке создания буффера на opengl у меня вызывается исключение:
Вызвано исключение по адресу 0x0000000000000000 в Engine.exe: 0xC0000005: нарушение прав доступа при исполнении по адресу 0x0000000000000000.
Хотелось бы выяснить в чём проблема.
//это cpp файл
#include "window.h"
window::window()
{
if (!glewInit())
{
std::cout << "Glew not init" << std::endl;
glfwTerminate();
}
if (!glfwInit())
{
std::cout << "Glfw not init" << std::endl;
glfwTerminate();
}
}
window::~window()
{
glDeleteBuffers(1, &vbo);
glfwDestroyWindow(wnd);
glfwTerminate();
}
int window::genBuffer()
{
glGenBuffers(1, &vbo);
glBindBuffer(GL_VERTEX_ARRAY, vbo);
glBufferData(GL_VERTEX_ARRAY, sizeof(matrix), matrix, GL_STATIC_DRAW);
glBindBuffer(0, vbo);
return vbo;
}
void window::settings()
{
glewExperimental = GL_TRUE;
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
glViewport(0, 0, width, height);
}
GLint window::StreamWindow(GLuint width, GLuint height, const GLchar *title)
{
this->width = width;
this->title = title;
this->height = height;
settings();
wnd = glfwCreateWindow(width, height, title, NULL, NULL);
if (!wnd)
{
cout << "Error" << endl;
glfwTerminate();
}
glfwMakeContextCurrent(wnd);
genBuffer();
while (!glfwWindowShouldClose(wnd))
{
glClear(GL_COLOR_BUFFER_BIT);
glClearColor(1, 0.3, 0.1, 1);
glfwSwapBuffers(wnd);
glfwPollEvents();
}
return 0;
}
//это header который инклудится в main.cpp
#define GLEW_STATIC
#include<GL/glew.h>
#include<glfw3.h>
#include<iostream>
using namespace std;
static GLfloat matrix[] = { 0,0,0,
0,0,0,
0,0,0 };
class window
{
private:
const GLchar *title;
GLuint width, height;
GLFWwindow* wnd;
GLuint vbo;
public:
window();
~window();
GLint StreamWindow(GLuint width,GLuint height,const GLchar *title);
void settings();
int genBuffer();
};
Ответы (1 шт):
Автор решения: Даниил Литвинов
→ Ссылка
Всё всем спасибо!Разобрался дело было в правильности вызовов инициализации библиотеки glew и последовательность создания буфферов