OpenGLES demo - 6. Cull Face
来源:互联网 发布:切尔西鞋 知乎 编辑:程序博客网 时间:2024/06/03 07:20
原创文章,转载请注明链接 http://blog.csdn.net/hoytgm/article/details/34464751
这次简单的讲一下OpenGLES中的Cull Face,也就是面剔除。这一步通常发生在Fragment shader 之前,将我们不需要的面或看不见的面(比如背面)给剔除掉,这样可以很大程度上减轻fragment shader的压力,提高渲染的性能。
首先,我们需要启用Cull face的功能。
glEnable(GL_CULL_FACE);
刚才说到我们要剔除不需要的面,比如背面。那怎么区分一个面是正面还是背面呢?GLES,其实也是图形学中,我们用顺时针和逆时针来区分。但是不是说顺时针就是正面,逆时针就是反面,反过来也不成立。究竟一个面是正面还是反面,是由开发者自己来决定的。例如,我们这里将顺时针设置为需要剔除,那其实言外之意就是我们认为逆时针为正面。
glCullFace(GL_CW);CW的意思是clockwise,也就是顺时针。如果需要逆时针的话,则是CCW,也就是counter-clockwise.
然后,我们建立顶点的时候,如果是逆时针建立的话,那我们就能画出来三角形,例如这样的顺序
float vertices[] = { -0.5f, -0.5f, 0.5f, 1.0f, 0.5f, -0.5f, 0.5f, 1.0f, -0.5f, 0.5f, 0.5f, 1.0f, };
如果我们调换一下第二个点和第三个点的顺序,这时候三角形的建立方向就成了顺时针了,我们再画一遍,什么都没有了。
float vertices[] = { -0.5f, -0.5f, 0.5f, 1.0f, -0.5f, 0.5f, 0.5f, 1.0f, 0.5f, -0.5f, 0.5f, 1.0f, };
这个很简单吧,代码也很简单,已上传,地址 http://download.csdn.net/detail/hoytgm/7583817
0 0
- OpenGLES demo - 6. Cull Face
- OpenGLES demo - 2. Shader
- OpenGLES demo - 5. 深度测试
- OpenGLES demo - 7. Alpha Blend
- OpenGLES demo - 9. 矩阵变换
- OpenGLES demo - 11. 透视投影变换
- OpenGLES demo - 16. 蒙板 Stencil
- 中文API介绍 ASI OPENGLES 以及 demo
- OpenGLES demo - 1. 建立IOS工程
- OpenGLES demo - 3. 建立Android工程
- OpenGLES demo - 4. GL中的三角形
- OpenGLES demo - 8. Pipe Line管线
- OpenGLES demo - 10. DrawElements和VBO
- OpenGLES demo - 12. 材质贴图 Texture Mapping
- OpenGLES demo - 13. Framebuffer Object FBO
- opengles
- opengles
- opengles
- 如何使用ADSP BF53x的SPI接口[学习心得]
- 【设计模式】——日本队的简单工厂模式
- OFDM原理
- 最简单的网页分享代码
- Address already in use
- OpenGLES demo - 6. Cull Face
- excel 数据导入程序(C#)
- C# 线程 计划任务
- ios 使用NSRegularExpression解析正则表达式
- 你也太懒了吧!呵呵...
- TQ2440 触摸屏入门
- 黑马程序员_description方法
- IPv6 在WindowsXP 下的設定
- PHP调试方法