在OpenGL的绘制中,我们一般会给绘制物体加上颜色,根据场景的不同,有几下几种方法:
1. 无光照
在无光照模型下,是最简单的一种情形,在这种情况下,直接使用glColor*函数来设置每个顶点的颜色,这种方法简单直接。
2.有光照
在有光照的模型下,模型的颜色受以下几方面的影响:光源的颜色属性 ,以及通过glMaterial*()设置的材质的属性。同时glColor*()命令将失去作用。但是我们可以用glEnable(GL_COLOR_MATERIAL)
如果调用了glEnable(GL_COLOR_MATERIAL),那么就会使光照模型中的几种光根据glColor*()中的指定确定颜色:void glColorMaterial(GLenum face, GLenum mode);其中face的取值GL_FRONT, GL_BACK与GL_FRONT_AND_BACK(默认值)mode的取值为GL_EMISSION, GL_AMBIENT,GL_DIFFUSE, GL_SPECULAR与GL_AMBIENT_AND_DIFFUSE(默认值)
例如:
glEnable(GL_COLOR_MATERIAL);
glColorMaterial(GL_FRONT, GL_DIFFUSE);
/* now glColor* changes diffuse reflection */
glColor3f(0.2, 0.5, 0.8);
/* draw some objects here */
glColorMaterial(GL_FRONT, GL_SPECULAR);
/* glColor* no longer changes diffuse reflection */
/* now glColor* changes specular reflection */
glColor3f(0.9, 0.0, 0.2);
/* draw other objects here */
glDisable(GL_COLOR_MATERIAL);
分享到:
相关推荐
shader改变Plane材质颜色
一个最有用的android应用程序设计资源列表,如所有材质颜色和尺寸、180渐变背景 html、社交、平面、流畅、Metro颜色。
vray颜色校正 不可多得, 主要校正布料颜色 使其真实 清晰 有质感
带有吸管,HSL,RGB和材质颜色的Flutter调色板Cyclop带有吸管的颤振调色板(在移动和台式机上)演示台式机和平板电脑移动材料HSL RVB自定义浅色主题深色主题吸管从您的Flutter移动或台式机中选择一种颜色屏幕。...
材质颜色Web组件 我们将向您展示如何使用Smart Framework定义自定义元素。 我们将创建“材质颜色选择器”自定义元素。 关于它的源代码在smart.colors.js文件中。 源代码的缩小版本为smart.colors.min.js 定义自定义...
:water_wave:material.nvim用lua主题编写的NeoVim的端口或材质颜色方案受https://github.com/kaicataldo/material.vim的启发。受https://github.com/kaicataldo/material.vim启发:trident_emblem:信息这是不再依赖...
Unity 实现更换材质球时的颜色渐变效果,逐渐改变材质球颜色的效果。
flutter_material_color_picker:材质颜色选择器,可以自定义颜色。 分两步选择,第一个主要颜色和第二个阴影
opengl的 颜色定义改变材质例程,可以作为该知识的学习教材
proe的相关资料,以供大家制作出漂亮的模型
禁用此字段可防止TriLib将gamma曲线应用于材质颜色 增加了FbxReader。ApplyAmbientColor静态字段。启用该字段以将环境颜色应用于Phong材质。 添加了StlReader。StoreTriangleIndexInTexCoord0静态字段。禁用该字段以...
使用Kotlin(可与Java互操作)编写的,用于Android的简单,轻巧的颜色选择器。 下载 将以下依赖项添加到您的项目build.gradle : compile ' me.priyesh:chroma:1.0.2 ' 用法 显示颜色选择器DialogFragment : ...
从Flutter手机或桌面屏幕上选择一种颜色。 要使用吸管(Flutter移动和台式机),您需要将应用程序包装在EyeDrop小部件中。 @override Widget build ( BuildContext context) { return EyeDrop ( child : ...
10.4.1 材质颜色 10.4.2 材质定义 10.4.3 材质RGB值和光源RGB值的关系 10.4.4 材质改变 第十一章 OpenGL位图和图像 11.1 位图 11.1.1 位图和字符 11.1.2 当前光栅位置 11.1.3 位图显示 11.2 ...
10.4.1 材质颜色 10.4.2 材质定义 10.4.3 材质RGB值和光源RGB值的关系 10.4.4 材质改变 第十一章 OpenGL位图和图像 11.1 位图 11.1.1 位图和字符 11.1.2 当前光栅位置 11.1.3 位图显示 11.2 ...
但是,从第6章中的“山峰与河谷演示程序”中可以看到,在顶点级别定义材质颜色模拟出的效果还是太粗糙。而且,顶点颜色还会在顶点结构中添加额外的数据,我们还需要给每个
10.2 光照模型 10.2.1 简单光照模型 10.2.2 OpenGL光组成 10.2.3 创建光源 10.2.4 启动光照 10.3 明暗处理 10.4 材质 10.4.1 材质颜色 10.4.2 材质定义 10.4.3 材质RGB值和光源RGB值的关系 10.4.4 材质...
osg节点颜色设置方法,本文档提供了两种不同的osg节点颜色设置方法,其中方法一能够有效避免节点颜色受周围环境影响,使节点保持设置的颜色显示。方法二虽然方便,但是节点显示会受节点周围环境光照影响。
一款受chrome devtools启发的HSV(HSB)/ HSL拾色器,以及用于您的flutter应用程序的材质拾色器。 入门 在[showDialog]小部件中使用它: // create some values Color pickerColor = Color ( 0xff443a49 ); Color ...