Вызов исключения при попытке создания буффера (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 и последовательность создания буфферов

→ Ссылка