图元的属性---OpenGL颜色函数

OpenGL的RGB和RGBA颜色模型

  • 可以使用下面的函数将颜色显示模型设定为RGB,其中变量表的第一个常量指示正在使用单个帧缓存,第二个常量设定为RGB模式。如果要使用指向颜色表的索引来指定颜色,则用OpenGL常量GLUT_INDEX取代GLUT_RGB。044e49c243e289782d973307d2f24a44255.jpg
  • d8cfbce53d433ab9023b5e7715ae7df5661.jpg
  • 如果要使用数组来指定三个颜色分量,则可以按如下方式设定颜色:81c0c5f00c5aa8997f531637e19474b5f47.jpg
  • 在OpenGL的内部,颜色信息用浮点数表示。我们也可以用整数来描述颜色,但它们被自动地转化成浮点数。
  • 对于无符号类型,最小值转化为浮点数0.0,最大值转换为浮点数1.0;对带符号的类型,最小值转换为-1.0,而最大值转化为1.0。
  • 如果用无符号32位整数,范围位0-4294967295。在这种尺度西,颜色分量的最小变化基本上表现不出来。

OpenGL颜色索引模式

  • 2035bd76c09c56ba702c82f81bc823cd63a.jpg
  • eaf1d97fd3896b7591d98bca1433c78fcf1.jpg
  • ee240eef37b2f93b363f91a6ff1484b6602.jpg

OpenGL颜色调和

  • 许多图形软件包提供生成多种颜色调和效果的方法,这些函数称为颜色调和函数或图像混合函数。
  • 在OpenGL中,通过先将第一个对象装载进帧缓存中,再将第二个对象的颜色与帧缓存颜色相混合来实现两个对象颜色的调和。当前帧缓存颜色称为OpenGL目标颜色,而第二个对象的颜色称为OpenGL源颜色。调和方法仅在RGB和RGBA模型下完成。
  • 要在应用中进行颜色调和,必须先用下面的函数激活这个OpenGL特性:6fd547054bab821bb1c59695c5069754c25.jpg
  • 使用下面的函数将关闭OpenGL的颜色调和子程序:30c46c95547e0fd26437c6eb759f118a462.jpg
  • 如果颜色调和没有被激活,则一个对象的颜色将简单地取代帧缓存中相应位置的内容。
  • aee56e40332ecda3ba14c65b8948ac0b46a.jpg
  • c2178727bb3244d095cfbedfdfb6c96b4cb.jpg

OpenGL颜色数组

  • 必须使用下面的函数才能激活OpenGL的颜色数组:49d07cc89b3feff9d5cf880c072c17fe9c2.jpg
  • 53a58ee51b87b0e8530634b72310ae22d18.jpg
  • 3b68b5a9480fd32a90c728b65c125c7bbec.jpg
  • 如果我们要将颜色和顶点值改为浮点数,则需按照下面的格式使用该函数:e1146d30bd4f5092188fa1588212e3a5247.jpg
  • d57270cd6141517f0a7776cec4bd61208e3.jpg

其他OpenGL颜色函数

  • 用来为窗口选择RGB颜色分量的函数为:fa695b75d307648995de527cf7545fc2ae1.jpg
  • dab5dde81d7355887ac1ff02cab902d78c0.jpg

转载于:https://my.oschina.net/liyangke/blog/2253666

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值