OpenGL学习笔记(四) RGBA颜色

RGBA模式中,每一个像素会保存以下数据:R值(红色分量)、G值(绿色分量)、B值(蓝色分量)和A值(alpha分量)。其中红、绿、蓝三种颜色相组合,就可以得到我们所需要的各种颜色,而alpha不直接影响颜色

cpp 复制代码
void glColor3f(GLfloat red, GLfloat green, GLfloat blue);
void glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
cpp 复制代码
glShadeModel(GL_SMOOTH);    // 平滑方式,这也是默认方式
glShadeModel(GL_FLAT);      // 单色方式
cpp 复制代码
#include <GL/glut.h>

#include <math.h>
const GLdouble Pi = 3.1415926536;
void myDisplay(void)
{
    int i;
    // glShadeModel(GL_FLAT);
    glClear(GL_COLOR_BUFFER_BIT);
    glBegin(GL_TRIANGLE_FAN);
    glColor3f(1.0f, 1.0f, 1.0f);
    glVertex2f(0.0f, 0.0f);
    for (i = 0; i <= 8; ++i)
    {
        glColor3f(i & 0x04, i & 0x02, i & 0x01);
        glVertex2f(cos(i * Pi / 4), sin(i * Pi / 4));
    }
    glEnd();
    glFlush();
}

int main(int argc, char* argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
    glutInitWindowPosition(100, 100);
    glutInitWindowSize(400, 400);
    glutCreateWindow("OpenGL程序");
    glutDisplayFunc(&myDisplay);
    glutMainLoop();

    return 0;
}
相关推荐
_jacobfu11 分钟前
Foundry 学习笔记 005
笔记·学习·web3·区块链·智能合约
永日4567012 分钟前
学习日记-spring-day45-7.10
java·学习·spring
迅~17 分钟前
如何快速学习GO语言
学习
HXR_plume2 小时前
【计算机网络】王道考研笔记整理(2)物理层
笔记·计算机网络·考研
快乐点吧2 小时前
【前端】异步任务风控验证与轮询机制技术方案(通用笔记版)
前端·笔记
伊成5 小时前
docker安装Consul笔记
笔记·docker·consul
zstar-_6 小时前
Claude code在Windows上的配置流程
笔记·算法·leetcode
hi0_67 小时前
03 数组 VS 链表
java·数据结构·c++·笔记·算法·链表
Wy. Lsy8 小时前
Kotlin基础学习记录
开发语言·学习·kotlin
The_Killer.8 小时前
格密码--数学基础--06对偶空间与对偶格
学习·线性代数·密码学