- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我是 OpenGL 的新手,所以也许答案很明显。我目前正在尝试在 C++ 中使用 GL_TRIANGLE_FAN 制作一个蓝色圆圈。我的问题是,当我使用 glColor4f 设置颜色时,它会将我所有其他纹理设置为蓝色,如下所示(这应该是银色金属)。
我使用下面显示的方法绘制纹理。
glLoadIdentity();
glTranslatef(x,y,0);
glBindTexture(GL_TEXTURE_2D, this->texture);
glBegin(GL_QUADS);
glTexCoord2f(0.0f, 0.0f); glVertex3f(0,0,0);
glTexCoord2f(1.0f, 0.0f); glVertex3f(width,0,0);
glTexCoord2f(1.0f, 1.0f); glVertex3f(width,height,0);
glTexCoord2f(0.0f, 1.0f); glVertex3f(0,height,0);
glEnd();
我不确定我是否只需要清除一个标志才能让它工作,但我已经被困了几天了。
最佳答案
绘制蓝色圆圈后,您应该使用 glColor4f(1.f, 1.f, 1.f, 1.f);
将颜色设置回白色(默认值)。请注意,默认情况下,纹理会根据当前设置的颜色(在您的情况下为蓝色)进行调制,这就是您的银色 Material 呈现蓝色调(最终颜色 = 蓝色 * 纹理颜色)的原因。
关于c++ - glColor 着色所有纹理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8956736/
我是 OpenGL 的新手,所以也许答案很明显。我目前正在尝试在 C++ 中使用 GL_TRIANGLE_FAN 制作一个蓝色圆圈。我的问题是,当我使用 glColor4f 设置颜色时,它会将我所有其
我有以下头文件: #ifndef CLASSES_H #define CLASSES_H class Mouse // Handles clicking of the mouse { private:
基本上我在 opengl es 1.1 中有一个功能齐全的 ogl 程序(2D 游戏),除了一个问题外一切正常:glcolor 我正在尝试将我的一些纹理设置为半透明,我想按如下方式进行; gl.glC
我的代码某处有问题,但对于我绘制的任意数量的图元,尽管调用了 glClearColor 然后使用 glColor3f 选择颜色,出现的颜色是完全随机的...... 所以在我的渲染类中,我循环遍历所有对
我正在尝试绘制一个洛伦兹吸引子,整个吸引子的颜色都会发生变化。我已经编写了以下用于计算吸引点的 for 循环。 float x = 1, y = 1, z = 1; glBegin(G
我的纹理本身有一个透明的背景,我想按原样渲染它。 glEnable(GL_TEXTURE_2D); glEnable(GL_BLEND); glEnableClientState(GL_VERTEX_
我有一个特别烦人的问题。在某些情况下,对 glColor 的调用似乎被忽略,导致对象以不正确的颜色显示。 可以找到显示此问题的 Qt 项目 here . 当您运行该程序时,您在屏幕上看到的只是两个从某
有什么方法可以发送这样的结构: struct COLOR { float r, g, b, a; }; 作为一个参数直接进入 glColor*() 函数?会使代码更好。 我可以创建自己的函数并
这听起来可能很愚蠢……但我一直在想,如果我向 glColor*f 函数发送一个大于 1.0f 的值有关系吗? 较旧的 gfx 卡/驱动程序是否以不同方式处理这些问题? OpenGL 是直接使用我给它的
我是一名优秀的程序员,十分优秀!