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;
}
相关推荐
芜狄7 分钟前
UCOSIII移植——学习笔记1
笔记·嵌入式硬件·学习·stm32f103rct6·ucosiii实时操作系统
所愿ღ1 小时前
JavaWeb-Servlet总结及JSP
java·笔记·servlet
Cellular_Modem笔记2 小时前
5G NR-NTN协议学习系列:NR-NTN介绍(2)
学习·5g·ntn
笨鸟笃行2 小时前
人工智能训练师三级备考笔记
笔记
Ro Jace2 小时前
文献阅读笔记:JAPCC2018年秋冬刊第27期期刊
笔记
ooo-p2 小时前
FPGA学习篇——Verilog学习Led灯的实现
学习·fpga开发
新子y2 小时前
【小白笔记】符号链接
笔记
智者知已应修善业3 小时前
【矩阵找最大小所在位置】2022-11-13
c语言·c++·经验分享·笔记·算法·矩阵
_hermit:3 小时前
【从零开始java学习|小结】记录学习和编程中的问题
java·学习
屁股割了还要学3 小时前
【数据结构入门】排序算法(4)归并排序
c语言·数据结构·学习·算法·排序算法