OpenGL学习日记-2014.12.2--颜色

颜色这章还挺有意思的,感觉上了节物理和生物课样。从光子理论,光谱,到光子作用视网膜上的锥细胞,而人终于感知了色彩。
计算机表示颜色有两种模式:RGBA模式和颜色索引模式。无论是那种模式,每个像素都存储雷丁的颜色数据。这个数量由缓冲区的位平面决定。在每个像素中,1个位平面表示1位数据。如果每个像素用8位表示则他可以最多表示2的8次方颜色。
一、RGBA模式:
    硬件为R,G,B,A成分保留了一定数量的位平面,一般来说RGB值都是以整数存储而不是浮点数。但可以映射到【0,1】之间,方便使用。A:alpha值对颜色没有直接的影响,他有很多用途,混合,透明,不过最终还是影响写到帧缓冲区的R,G,B值。
PS:关于颜色抖动:用有限的颜色表示本来不能表示的颜色,或者说是伪造本来不能表示的颜色,就像魔术一样,其实只是看起来是这样。OpenGL默认是开启抖动功能的。
二、颜色索引模式:
    在颜色索引模式下,OpenGL使用一个颜色索引表,改索引表完全取决于硬件。程序根据索引,在表中查找到对应颜色进行绘制。
三、RGBA与颜色索引模式之间:
    大部分还是得视乎硬件来决定采取哪种模式,不过在如今硬件的限制已经很少,打部分都才用RGBA模式,因为它更为灵活,除了一些特定的应用。
    索引模式也有可以实现的特定效果,颜色映射动画,层次绘图(诶,其实我都不知道是什么)
然后,关于颜色是十分基础的东西,在OpenGL程序过程时刻都在应用,关于RGBA模式下的API也比较熟悉。虽然这样说,但是还是有不明白的地方:颜色截取,默认OpenGL在用户指定颜色超出【0,1】范围是截取,不过我们也可以让OpenGL别
这样做:通过glClampColor()来指定不同的策略。这也是我迷惑的地方,假设不开启截取可以实现什么效果?    
四、关于着色模型:GL_FLAT GL_SMOOTH
    不想写了。。。。。。。。。。。。。。。。。。。。。就是任性
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值