C ++ OpenGL, çizim şekiller bir hata dönen

oy
0

Uygulamam üzerine şekiller çizmek çalışıyorum. Eklediğim #include <glad/glad.h>benim koduna.

Ben tampon ve endeks benim başlık dosyasına imzasız ints olarak tampon tepe, benim köşe dizisi ayarlayın.

Benim içinde application.h dosyasında bu ekledi:

unsigned int m_FCvertexArray; // Textured Phong VAO
unsigned int m_FCvertexBuffer;// Textured Phong VBO
unsigned int m_FCindexBuffer; // Index buffer for texture Phong cube

Benim yapıcı benim application.cpp ben bu ekledi:

Application::Application()
{
    //------------- OPENGL VALUES -----------//

    glEnable(GL_DEPTH_TEST);
    glDepthFunc(GL_LESS);

    // Enabling backface culling to ensure triangle vertices are correct ordered (CCW)

    glEnable(GL_CULL_FACE);
    glCullFace(GL_BACK);

    ////--------DRAW VERTICES---------//

    float FCvertices[3 * 3] = {
                -0.5f, -0.5f, 0.0f,
                 0.5f, -0.5f, 0.0f,
                 0.0f,  0.5f, 0.0f
            };

    glGenVertexArrays(1, &m_FCvertexArray);
    glBindVertexArray(m_FCvertexArray);

    glCreateBuffers(1, &m_FCvertexBuffer);
    glBindBuffer(GL_ARRAY_BUFFER, m_FCvertexBuffer);

    //
    //

    glBufferData(GL_ARRAY_BUFFER, sizeof(FCvertices), FCvertices, GL_STATIC_DRAW);

    glEnableVertexAttribArray(0);
    glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(float), (void*)0);
    glEnableVertexAttribArray(1);
    glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(float), (void*)(sizeof(float) * 3));


    ////--------DRAW INDICES---------//

    glCreateBuffers(1, &m_FCindexBuffer);
    glBindBuffer(GL_ARRAY_BUFFER, m_FCindexBuffer);

    unsigned int indices[3] = {0, 1, 2};

    glBufferData(GL_ARRAY_BUFFER, sizeof(indices), indices, GL_STATIC_DRAW);
}

benim void Application::run()diye ekledim:

glUseProgram(m_FCprogram);
glBindVertexArray(m_FCvertexArray);
glDrawElements(GL_TRIANGLES, 3, GL_UNSIGNED_INT, nullptr);

Şimdi sorun ben kodu çalıştırdığınızda, bana başlığında belirtildiği hata veriyor ise:

Sandbox.exe içinde 0x000000005D78F420 (nvoglv64.dll) atılan İstisna: 0xc0000005: konumu 0x0000000000000000 okuma Erişim ihlali.

Bunu düzeltmek için yollar çalışıyorum ama işin görünmemektedir. i glDrawElements dışarı yorum yaparsanız ve kod çalışır ve eserleri ama hiçbir şekiller (bariz) çizilir.

Oluştur 13/01/2020 saat 23:51
kaynak kullanıcı
Diğer dillerde...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more