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;
}
相关推荐
q***44811 小时前
java进阶--多线程学习
java·开发语言·学习
断剑zou天涯6 小时前
【算法笔记】窗口内最大值或最小值的更新结构
java·笔记·算法
Naiva8 小时前
【小技巧】Microchip 把 MPLAB X IDE工程编码改成 UTF-8
笔记
ndjnddjxn10 小时前
Rust学习
开发语言·学习·rust
菜鸟‍11 小时前
【后端学习】MySQL数据库
数据库·后端·学习·mysql
陈天伟教授11 小时前
基于学习的人工智能(1)机器学习
人工智能·学习
im_AMBER11 小时前
Leetcode 59 二分搜索
数据结构·笔记·学习·算法·leetcode
专注于大数据技术栈11 小时前
java学习--final
java·开发语言·学习
田里的水稻11 小时前
AI_常见“XX学习”术语速查表
人工智能·学习
Nan_Shu_61412 小时前
学习:Sass
javascript·学习·es6