@sddvxd

Почему программа ведет себя странно?

Здравствуйте

Если в моем коде присутствует следующая строка:

sideY++;

то программа показывает на экран треугольник. Если же уберу ее - то программа перестает нормально работать (пустой экран без треугольника). Я очень удивился, потому что sideY вообще никаких образом не взаимодействует ни с чем:

bool sideY = true;
    glClearColor(1.0f, 1.0f, 1.0f, 1.0f);

    while(!glfwWindowShouldClose(window))
    {
        sideY++;
            
        GLuint VBO, VAO;
        glGenBuffers(1, &VBO);
        glBindBuffer(GL_ARRAY_BUFFER, VBO);
        glBufferData(GL_ARRAY_BUFFER, 9 * sizeof(GLfloat), vertexTriangle, GL_DYNAMIC_DRAW);
        glGenVertexArrays(1, &VAO);
        glBindVertexArray(VAO);
        glEnableVertexAttribArray(0);
        glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, NULL);
        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
        GLfloat timeValue = glfwGetTime();
        GLfloat greenValue = (sin(timeValue) / 2) + 0.5;
        GLint vertexColorLocation = glGetUniformLocation(shaderProgram, "ourColor");
        glUseProgram(shaderProgram);
        glUniform4f(vertexColorLocation, 0.0f, greenValue, 0.0f, 1.0f);
        glDrawArrays(GL_TRIANGLES, 0, 3);
        glfwPollEvents();
        glfwSwapBuffers(window);
    }


а если уберу строку с ее инкрементацией - программа перестает нормально работать... помогите пожалуйста, голову сломал уже не знаю в чем может быть проблема
  • Вопрос задан
  • 94 просмотра
Пригласить эксперта
Ответы на вопрос 1
saboteur_kiev
@saboteur_kiev
build engineer
Судя по всему, это просто ограничение для рисования одного треугольника, sydeY был false, после ++ стал true, с тех пор он true. Видимо не весь код приведен, а переменная глобальная.

P.S. Начиная с 17 версии инкремент не работает для bool типов, так что в любом случае надо менять.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
ENBISYS Томск
от 70 000 руб.
Pixonic Москва
от 220 000 руб.
Denim Москва
от 140 000 до 220 000 руб.
20 июн. 2019, в 00:13
1000 руб./за проект
20 июн. 2019, в 00:01
2500 руб./за проект
19 июн. 2019, в 23:38
10000 руб./за проект