草庐IT

c++ - OpenGL:我应该总是自己剪辑 glColor*f 值吗?

这听起来可能很愚蠢……但我一直在想,如果我向glColor*f函数发送一个大于1.0f的值有关系吗?较旧的gfx卡/驱动程序是否以不同方式处理这些问题?OpenGL是直接使用我给它的颜色值,还是它自己剪辑它?if(r>1.0f)r=1.0f;我应该停止吗??大于1.0f是否有导致意外行为的危险?我似乎无法获得大于1.0f的值来做任何不同的事情。 最佳答案 来自themanpage:“在更新当前颜色之前,浮点值和有符号整数值都不会被限制在[0,1]范围内。但是,颜色分量在被插值或写入颜色缓冲区之前会被限制在这个范围内。”

c++ - glColor 着色所有纹理

我是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);g

iphone - IOS 中 glColor4f OpenGl 函数的应用程序崩溃

我正在开发OpenCV客户端应用程序,我的应用程序在IOS5.1上运行良好,但当我在IOS4.3上运行我的应用程序时,它在gl.hglColor4f函数处崩溃类,但它在崩溃时不显示任何错误消息。我正在做以下事情:QCAR::Matrix44FmodelViewProjection;glColor4f(0.5f,0.0f,0.0f,0.0f);ShaderUtils::multiplyMatrix(&qUtils.projectionMatrix.data[0],&modelViewMatrix.data[0],&modelViewProjection.data[0]);glUsePro