सी ++ ओपन, ड्राइंग आकार एक त्रुटि लौट रहा है

वोट
0

मैं अपने आवेदन पर आकार आकर्षित करने के लिए कोशिश कर रहा हूँ। मैं जोड़ लिया है #include <glad/glad.h>मेरी कोड में।

मैं अपने शीर्ष सरणी निर्धारित करते हैं, शिखर बफ़र और सूचकांक मेरी हेडर फाइल में अहस्ताक्षरित ints के रूप में बफ़र।

मेरे में application.h फ़ाइल मैं इस कहा:

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

मेरे निर्माता में मेरी application.cpp में मैं इस कहा:

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);
}

में मेरी void Application::run()मैं कहा:

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

अब समस्या है जब मैं कोड चलाने के लिए, यह मेरे शीर्षक पर उल्लेख किया त्रुटि देता है:

अपवाद Sandbox.exe में 0x000000005D78F420 (nvoglv64.dll) पर फेंके: 0xc0000005: पहुँच उल्लंघन स्थान 0x0000000000000000 पढ़ने।

मैं इसे ठीक करने के लिए तरीके की कोशिश कर रहा है, लेकिन यह काम करने के लिए नहीं लगता है। और अगर मैं glDrawElements बाहर टिप्पणी, कोड रन और काम करता है, लेकिन कोई आकार तैयार कर रहे हैं (स्पष्ट)।

13/01/2020 को 23:51
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            

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