gpt4 book ai didi

c++ - 为什么我的LEGACY OPENGL颜色反转了?

转载 作者:行者123 更新时间:2023-12-02 10:30:09 28 4
gpt4 key购买 nike

几个月前,我编写了一个简单的代码来显示3个多边形。一切正常。然后颜色突然开始转移...
我在VISUAL STUDIO 2019中。
我试过了:

  • 修复VS可再发行文件。
  • 制作一个新项目。

  • 有什么线索吗?
    #include <GLFW/glfw3.h>

    int main(void)
    {
    GLFWwindow* window;

    /* Initialize the library */
    if (!glfwInit())
    return -1;

    /* Create a windowed mode window and its OpenGL context */
    window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL);
    if (!window)
    {
    glfwTerminate();
    return -1;
    }

    /* Make the window's context current */
    glfwMakeContextCurrent(window);

    /* Loop until the user closes the window */
    while (!glfwWindowShouldClose(window))
    {
    /* Render here */
    glClear(GL_COLOR_BUFFER_BIT);

    //idk what is going on
    glBegin(GL_POLYGON);
    glVertex2f(0.5f, 0.5f);
    glVertex2f(-0.5f, 0.5f);
    glVertex2f(-0.5f, -0.5f);
    glVertex2f(0.5f, -0.5f);
    glColor3f(1.0f, 0.5f, 0.5f);
    glEnd();
    glBegin(GL_POLYGON);
    glVertex2f(0.7f, 0.7f);
    glVertex2f(-0.7f, 0.7f);
    glVertex2f(-0.7f, -0.7f);
    glVertex2f(0.7f, -0.7f);
    glColor3f(1.0f, 1.0f, 1.0f);
    glEnd();


    /* Swap front and back buffers */
    glfwSwapBuffers(window);

    /* Poll for and process events */
    glfwPollEvents();
    }

    glfwTerminate();
    return 0;
    }

    最佳答案

    glColor 指定顶点坐标之前,必须设置color属性( glVertex2f ):

    glBegin(GL_POLYGON);

    glColor3f(1.0f, 0.5f, 0.5f);

    glVertex2f(0.5f, 0.5f);
    glVertex2f(-0.5f, 0.5f);
    glVertex2f(-0.5f, -0.5f);
    glVertex2f(0.5f, -0.5f);

    glEnd();

    glBegin(GL_POLYGON);

    glColor3f(1.0f, 1.0f, 1.0f);

    glVertex2f(0.7f, 0.7f);
    glVertex2f(-0.7f, 0.7f);
    glVertex2f(-0.7f, -0.7f);
    glVertex2f(0.7f, -0.7f);

    glEnd();
    注意, glColor设置当前颜色,并且当调用 glVertex时,当前颜色,法线和纹理坐标与顶点关联。

    关于c++ - 为什么我的LEGACY OPENGL颜色反转了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62559634/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com