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;
}
相关推荐
Kasper01211 小时前
认识Django项目模版文件——Django学习日志(二)
学习·django
xiaocao_10232 小时前
手机备忘录:安全存储与管理个人笔记的理想选择
笔记·安全·智能手机
索然无味io2 小时前
XML外部实体注入--漏洞利用
xml·前端·笔记·学习·web安全·网络安全·php
一弓虽2 小时前
java基础学习——jdbc基础知识详细介绍
java·学习·jdbc·连接池
王磊鑫2 小时前
Java入门笔记(1)
java·开发语言·笔记
安冬的码畜日常3 小时前
【Vim Masterclass 笔记22】S09L40 + L41:同步练习11:Vim 的配置与 vimrc 文件的相关操作(含点评课内容)
笔记·vim·vim配置·vim同步练习·vim options·vim option-list
五味香3 小时前
Java学习,List 元素替换
android·java·开发语言·python·学习·golang·kotlin
追Star仙4 小时前
基于Qt中的QAxObject实现指定表格合并数据进行word表格的合并
开发语言·笔记·qt·word
Clockwiseee4 小时前
docker学习
学习·docker·eureka
安冬的码畜日常5 小时前
【Vim Masterclass 笔记24】S10L43 + L44:同步练习10 —— 基于 Vim 缓冲区的各类基础操作练习(含点评课)
笔记·vim·自学笔记·vim同步练习·vim缓冲区·vim buffer·vim缓冲区练习