glShadeModel

void glShadeModel ( GLenum mode)是OpenGL1.0提供的接口。作用是设置着色模式。
参数mode可以是GL_SMOOTH(默认值)或GL_FLAT。采用恒定着色时(即GL_FLAT),使用图元中某个顶点的颜色来渲染整个图元。
在使用光滑着色时(即GL_SMOOTH),独立的处理图元中各个顶点的颜色。对于线段图元,线段上各点的颜色将根据两个顶点的颜色通过差值得到。对于多边形图元,多边形内部区域的颜色将根据所有顶点的颜色差值得到。
来源(百度百科)
·····················································································

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/aiwusheng/article/details/8873027

两种着色模式:平滑着色与单调着色

(1)平滑着色

gl.glShadeModel(GL10.GL_SMOOTH)

平滑着色可以实现一种颜色到另一种颜色的平滑渐变。

一个使用平滑着色的例子,如图1所示。

图1 平滑着色的例子

给定三个顶点的颜色值顺序为红、绿、蓝色。

(2)、单调着色

gl.glShadeModel(GL10. GL_FLAT)

单调着色即GL_FLAT,单调着色表示图元在内部不进行计算。一般而言,使用单调着色,图元的内部颜色就是最后一个项点所指定的颜色。唯一例外的是GL_POLYGON( 多边形 )图元,它的内部颜色是第一个顶点的颜色。

一个使用单调着色的例子,如图2所示。

图2 单调着色的例子

给定三个顶点的颜色值顺序同样为红、绿、蓝色。

OpenGL中的着色模式GL_SMOOTH与GL_FLAT相关推荐

  1. Learn OpenGL(七)——OpenGL中使用着色器的基本步骤及GLSL渲染简单示例

    OpenGL着色语言(OpenGL Shading Language,GLSL)是用来在OpenGL中着色编程的语言,是一种具有C/C++风格的高级过程语言,同样也以main函数开始,只不过执行过程是 ...

  2. openGL中Phong 着色

    openGL系列文章目录 前言 Bui Tuong Phong 在犹他大学的研究生期间开发了一种平滑的着色算法,在1973 年的论文[PH73]中对其进行了描述,并在[PH75]中发表.该算法的结构类 ...

  3. Opengl ES之着色器

    前言 在前面我们介绍了 OpenglEs之EGL环境搭建 ,在后面的例子中,我们将无可避免地需要使用到着色器.而着色器才是Opengl的灵魂所在,有了着色器才有了Opengl天马行空的世界. 图形渲染 ...

  4. OpenGL中的曲面细分和几何着色器

    [摘要]本文我们先介绍OpenGL中的曲面细分的一些基本概念,然后给两个例子说明不得不用这项技术的理由. 曲面细分是OpenGL 4.0之后才定义的功能,使用之前请确认你的显卡驱动支持OpenGL4. ...

  5. OpenGL在frag着色器中模拟手电筒效果

    在[OpenGL在frag着色器中模拟点光源]的基础上进行修改,得到手电筒效果(https://blog.csdn.net/qq_37340753/article/details/105029079) ...

  6. OpenGL概述(核心模式与立即模式、扩展、OpenGL中的对象)

    1 关于OpenGL的理解 OpenGL本身不是一个API,而是一个规范. OpenGL是一个巨大的状态机(state machine),它是定义OpenGL现在该如何工作的变量的集合. OpenGL ...

  7. OpenGL学习04_点画模式(点画线)

    viod glLineStipple(GLint factor,GLshort pattern); OpenGL中设置直线的当前点画模式.pattern参数是由1或0组成的16位序列,它们根据需要进行 ...

  8. OpenGL中glPushMatrix和glPopMatrix的原理

    glPushMatrix.glPopMatrix操作事实上就相当于栈里的入栈和出栈. 很多人不明确的可能是入的是什么,出的又是什么. 比如你当前的坐标系原点在你电脑屏幕的左上方.如今你调用glPush ...

  9. OPenGL中的缓冲区对象

    引自:http://blog.csdn.net/mzyang272/article/details/7655464 在许多OpenGL操作中,我们都向OpenGL发送一大块数据,例如向它传递需要处理的 ...

最新文章

  1. 23Command(命令)模式
  2. oracle里minis用法,Oracle初学者必知的39个问题
  3. 成为编程高手的二十二条军规
  4. 【最新合集】编译原理习题(含答案)_11-14中间代码生成_MOOC慕课 哈工大陈鄞
  5. leetcode904. 水果成篮(滑动窗口)
  6. 【CodeForces - 803D】Magazine Ad(二分答案)
  7. 年后跳槽必备的 Java 题库,全网最全!
  8. Java NIO问题总结
  9. sqlite使用手册
  10. 实体词典 情感词典_(全)情感词情感词典大全
  11. 移动页面HTML5自适应手机屏幕宽度
  12. robotframework调用python类方法_【RF基础】RF调用Python函数基础
  13. TensorFlow实践(15)——使用tf.device方法指定节点执行设备
  14. CSS单行/多行文本溢出显示省略号(...)
  15. 计算机毕业设计Java学生心理健康信息咨询系统(源码+系统+mysql数据库+Lw文档)
  16. 支付宝无障碍体验提升之路
  17. 锐捷、ruijie、校园网 认证
  18. cad字体库大全2485种字体
  19. linux交换分区文件系统是什么意思,文件系统和交换分区详解
  20. 这款实现 C++、Java、Python 代码互译的工具,很强!

热门文章

  1. 寒假作业3 抓老鼠啊~亏了还是赚了?
  2. 关于微信小程序的尺寸关系
  3. 【BZOJ2631】tree (LCT)
  4. DataSnap 用TStream 传递大数据 返回流大小为-1的情况
  5. [Ruby]转载: 关于ruby中 %Q, %q, %W, %w, %x, %r, %s 的用法
  6. Linux 信号随笔
  7. HDU 2087剪花布条 KMP
  8. python中xrange函数_python中xrange和range的区别
  9. hdu4825 字典树 + 贪心
  10. 【Groovy】MOP 元对象协议与元编程 ( 使用 Groovy 元编程进行函数拦截 | 动态拦截函数 | 动态获取 MetaClass 中的方法 | evaluate 方法执行Groovy脚本 )