位置: 编程技术 - 正文
推荐整理分享openGl学习之添加颜色(opengl怎么导入模型),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:opengl加载obj,opengl怎么导入模型,opengl怎么加载图片,opengl添加文字,opengl怎么加载图片,opengl在图形中添加字符,opengl添加文字,opengl在图形中添加字符,内容如对您有帮助,希望把文章链接给更多的朋友!
OpenGL 支持两种颜色模式:一种是 RGBA模式,一种是 颜色索引模式。无论哪种颜色模式,计算机都必须为每一个像素保存一些数据,即通过每一个像素的颜色,来改变整体图形的颜色。不同的是, RGBA 模式中,数据直接就代表了颜色;而颜色索引模式中,数据代表的是一个索引,要得到真正的颜色,还必须去查索引表。具体如下:
1、RGBA模式RGBA 模式中,每一个像素会保存以下数据: R (红色分量)、 G (绿色分量)、 B (蓝色分量)和A ( alpha 分量)。其中红、绿、蓝三种颜色相组合,就可以得到我们所需要的各种颜色,而 alpha 不直接影响颜色,它将留待以后介绍。
在 RGBA 模式下选择颜色是十分简单的事情,只需要一个函数就可以搞定。
注意:浮点数可以精确到小数点后若干位,这并不表示计算机就可以显示如此多种颜色。实际上,计算机可以显示的颜色种数将由硬件决定。如果 OpenGL 找不到精确的颜色,会进行类“四舍五入”的处理。代码实例:效果图:
注意: glColor以及其他系列函数都有个准则,在参数类型不同时,表示“最大”颜色的也不同。采用 f和 d 做后缀的函数(如glColor3f(1,1,1)),以 1.0 表示最大的使用。采用 b 做后缀的函数(如glColor3b(,,)),以 表示最大的使用。采用 ub 做后缀的函数(如glColor3ub(,,)),以 表示最大的使用。
2、颜色索引模式在索引颜色模式中, OpenGL 需要一个颜色表。这个表就相当于画家的调色板:虽然可以调出很多种颜色,但同时存在于调色板上的颜色种数将不会超过调色板的数。
试将颜色表的每一项想象成调色板上的一个子:它保存了一种颜色。索引颜色的主要优势是占用空间小(每个像素不必单独保存自己的颜色,只用很少的二进制位就可以代表其颜色在颜色表中的位置),花费系统资源少,图形运算速度快,但它编程稍稍显得不是那么方便,并且画面效果也会比 RGB 颜色差一些。现在的PC机性能提高,大多都使用RGB模式。
3、清除屏幕用的颜色glClear(GL_COLOR_BUFFER_BIT);意思是把屏幕上的颜色清空。但实际上什么才叫“空”呢?在宇宙中,黑色代表了“空”;在一张白纸上,白色代表了“空”;在信封上,信封的颜色才是“空”。OpenGL 用下面的函数来定义清楚屏幕后屏幕所使用的颜色:
4、设置着色模型主要影响的是不同颜色间是如何过渡到一起的。
如一条线段的两个点A和B,A点设置为红色,B点设置为绿色,那么两点之间的点颜色的变化由着色模式来决定:
代码实例:效果实例:
颜色的只是基本就这些了。
最后再给一个的实例:
OpenGL编程环境配置 这学期的计算机图形学课,老师要我们交一份用OpenGL做的图形程序作为作业。因此,我开始学习OpenGL。操作系统:WIN8.1,环境:VS。按照书上说的:
学习OpenGL-ES: 1 - 像素、颜色、显存、初始化 1,隐喻思考一下画家绘画的过程,首先要有一名懂得各种绘画技艺的画家,然后他需要一张画布,一些笔,一些颜料,一些辅助工具(尺、圆规、模板
高度图地形读取与漫游 地形系统在3d程序中是一个重要的部分,这里介绍一下我正在使用的一个简单的地形类.地形数据可以保存在一张灰度图里面,所谓的灰度图就是一张只有黑
标签: opengl怎么导入模型
本文链接地址:https://www.jiuchutong.com/biancheng/373162.html 转载请保留说明!友情链接: 武汉网站建设