glclear glclearcolor小记
2016-06-12 21:37
267 查看
以下转自知乎:
http://www.zhihu.com/question/40783239
1. 必须强调 glClearColor只起到Set的作用,并不Clear任何!不要混淆~
2. glClearColor 的作用是,指定刷新颜色缓冲区时所用的颜色。
所以,完成一个刷新过程是要 glClearColor(COLOR) 与 glClear(GL_COLOR_BUFFER_BIT) 配合使用。
3. 清除颜色缓冲区的作用是,防止缓冲区中原有的颜色信息影响本次绘图(注意!即使认为可以直接覆盖原值,也是有可能会影响的),当绘图区域为整个窗口时,就是通常看到的,颜色缓冲区的清除值就是窗口的背景颜色。所以,这两条清除指令并不是必须的:比如对于静态画面只需要设置一次,比如不需要背景色/背景色为白色。
4. glClear 比手动涂抹一个背景画布效率高且省力,所以通常使用这种方式。
作者:张梦翮
链接:http://www.zhihu.com/question/40783239/answer/88480756
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
早期软件渲染的时代,图形绘制的确是会去判断当前界面哪些像素区域可以复用,然后优先绘制这部分内容,下一次绘制的时候就不必清空它了,这样就能达到优化的目的,但是这样的优化会导致一些游戏中常见的著名的“镜子大厅Hall of mirrors”的效应。在现代的图形绘制 这种优化已经不再有效了,最新的gpu以不同的方式工作,如果屏幕是清空状态,反而能工作的更快,通过gpu清空屏幕 ,可以节省帧拷贝浪费的时间。因为gpu的工作方式,清空屏幕可以帮助避免很多问题,如
闪烁,或者有物品没有绘制。
作者:矩阵
链接:http://www.zhihu.com/question/40783239/answer/88340097
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
http://www.zhihu.com/question/40783239
1. 必须强调 glClearColor只起到Set的作用,并不Clear任何!不要混淆~
2. glClearColor 的作用是,指定刷新颜色缓冲区时所用的颜色。
所以,完成一个刷新过程是要 glClearColor(COLOR) 与 glClear(GL_COLOR_BUFFER_BIT) 配合使用。
glClearColor(0.0, 0.0, 1.0, 1.0);//蓝色 glClear(GL_COLOR_BUFFER_BIT);
3. 清除颜色缓冲区的作用是,防止缓冲区中原有的颜色信息影响本次绘图(注意!即使认为可以直接覆盖原值,也是有可能会影响的),当绘图区域为整个窗口时,就是通常看到的,颜色缓冲区的清除值就是窗口的背景颜色。所以,这两条清除指令并不是必须的:比如对于静态画面只需要设置一次,比如不需要背景色/背景色为白色。
4. glClear 比手动涂抹一个背景画布效率高且省力,所以通常使用这种方式。
作者:张梦翮
链接:http://www.zhihu.com/question/40783239/answer/88480756
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
早期软件渲染的时代,图形绘制的确是会去判断当前界面哪些像素区域可以复用,然后优先绘制这部分内容,下一次绘制的时候就不必清空它了,这样就能达到优化的目的,但是这样的优化会导致一些游戏中常见的著名的“镜子大厅Hall of mirrors”的效应。在现代的图形绘制 这种优化已经不再有效了,最新的gpu以不同的方式工作,如果屏幕是清空状态,反而能工作的更快,通过gpu清空屏幕 ,可以节省帧拷贝浪费的时间。因为gpu的工作方式,清空屏幕可以帮助避免很多问题,如
闪烁,或者有物品没有绘制。
作者:矩阵
链接:http://www.zhihu.com/question/40783239/answer/88340097
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
相关文章推荐
- C#实现图形位置组合转换的方法
- C#实现判断图形文件格式的方法
- C#实现图形路径变换的方法
- php生成图形验证码几种方法小结
- CentOS的图形安装及初始环境设置教程
- C#实现图形区域组合操作的方法
- php实现图形显示Ip地址的代码及注释
- Java Web开发之图形验证码的生成与使用方法
- 基于Echarts 3.19 制作常用的图形(非静态)
- android中图形图像处理之drawable用法分析
- Android编程开发之在Canvas中利用Path绘制基本图形(圆形,矩形,椭圆,三角形等)
- Android开发之图形图像与动画(五)LayoutAnimationController详解
- C++实现图形界面时钟表盘代码
- C++实现二维图形的傅里叶变换
- Java在Linux下 不能处理图形的解决办法 分享
- python开发之tkinter实现图形随鼠标移动的方法
- 一个程序来比较cuda/c在GPU/CPU的运行效率
- 用python做GPU计算(1)——安装以及配置
- Linux下基于GTK的C/S聊天软件