为什么我的 LEGACY OPENGL 颜色反转了?
Why are my LEGACY OPENGL colors inverted?
几个月前,我写了一个简单的代码来显示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;
}
在glVertex2f
指定顶点坐标之前,必须设置颜色属性(glColor
(:
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
时,当前颜色、法线和纹理坐标与顶点相关联。
相关文章:
- 我的神经网络不起作用 [XOR 问题]
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 我的字符计数代码计算错误.为什么
- 为什么我的C#代码在调用回C++COM直到Task时会暂停.等待/线程.加入
- cmake在我的项目中所需的所有静态库都不成功
- 为什么我的代码在输出中增加了93天
- 我的简单if-else语句是如何无法访问的代码
- 为什么我的for循环不能正确获取argv
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- 0-1背包代码中的错误.我的代码中有什么错误
- 为什么我的 LEGACY OPENGL 颜色反转了?
- 即使全局颜色发生变化,我应该如何让我的块保持其颜色?
- 如何使用 glDrawPixel 时更改像素的颜色,我的像素始终为红色
- 为什么我的 RGB 转十六进制函数在传递颜色分量时返回 0
- OpenCV cvtColor() 更改了我的图像尺寸并具有错误的颜色
- GLSL 4.5:为什么我的 "in" 颜色变量未被 glGetAttribLocation 找到
- 在OpenGL中启用深度测试后,我的整个屏幕是空白的(恢复为清晰的颜色)-为什么
- 为什么当我在OpenGL中启用照明时,我的颜色消失了?
- 为什么 opengl 不想识别我的 3D 形状的颜色?
- 我怎么能得到像素的颜色在我的图像(加载灰色)