前言

我们已经可以正常的渲染一个物体也好加载一个模型也好,比如立方体,可以正常的渲染,然后我们还可以挪动摄像机来观察每一个面,但是,有一个问题想一想。我们挪动相机进入了立方体里面就会发现里面也渲染了。这。。问题出来了。可能很多东西我们都不希望或者根本没想着把里面也渲染的那么好。。我们看不到还浪费这个资源去计算渲染干嘛?

面剔除

OpenGL能够检查所有面向(Front Facing)观察者的面,并渲染它们,而丢弃那些背向(Back Facing)的面,节省我们很多的片段着色器调用(它们的开销很大!)。但我们仍要告诉OpenGL哪些面是正向面(Front Face),哪些面是背向面(Back Face)。OpenGL使用了一个很聪明的技巧,分析顶点数据的环绕顺序(Winding Order)。

float vertices[] = {// 顺时针vertices[0], // 顶点1vertices[1], // 顶点2vertices[2], // 顶点3// 逆时针vertices[0], // 顶点1vertices[2], // 顶点3vertices[1]  // 顶点2
};

如何使用
glEnable(GL_CULL_FACE);
glCullFace(GL_FRONT);

使用规则
GL_BACK:只剔除背向面。
GL_FRONT:只剔除正向面。
GL_FRONT_AND_BACK:剔除正向面和背向面。

Opengl-面剔除(一种优化方式)相关推荐

  1. 三种快排及四种优化方式

    本文是转载文章,文章的来源:csdn博客 博主:silentsharer 文章: 三种快排及四种优化方式 博文地址:https://blog.csdn.net/hacker00011000/artic ...

  2. oracle 两种优化器,Oracle的优化器有两种优化方式(一)

    Oracle的优化器有两种优化方式(整理), 2010-04-13 RBO方式:基于规则的优化方式(Rule-Based Optimization,简称为RBO)  优化器在分析SQL语句时,所遵循的 ...

  3. ListView的四种优化方式

    ListView的四种优化方式 优化方式一: convertView的复用   第一种优化就是重用convertView,这也是最简单的一种优化方式,就是在Adapter类的getView方法中通过判 ...

  4. C语言快速排序算法及三种优化方式

    C语言快速排序算法及三种优化方式 C语言快速排序算法及三种优化方式 原理 快速排序复杂度分析 1 时间复杂度 2 空间复杂度 快速排序代码实现 1 普通快速排序 2 快速排序优化1-三数取中优化不必要 ...

  5. 数据库的8种优化方式

    前言: 关于数据库的优化方案,网上有不少资料和方法,但众说纷纭,作品良莠不齐,不是缺斤少两,就是过于冗余. 在浏览了很多文章之后觉得这篇文章,总结得很经典,文章流量也很大,所以拿来和大家分享,积累优质 ...

  6. 让MySQL速度提升3倍的19种优化方式

    本文的优化方案基于 " MySQL-索引-BTree类型 ".掌握之后MySQL执行速度猛增,码字不易,如果觉得有用,感谢分享. 一.EXPLAIN 做MySQL优化,我们要善用  ...

  7. 快排的三种优化方式。

    对于快排而言,其核心在partition中,主要是对于pivot的选取上,所以我们可以按以下三种方案进行优化: 1.在数组长度大于某一个阈值范围时,我们进行递归快排,当数据长度小于阈值时,我们进行插入 ...

  8. unity代码更换ui图片_Unity UI图片的一种优化方式

    项目中使用的不少UI图片是轴对称的,包括:1)横轴对称或纵轴对称 2)同时满足横轴对称和纵轴对称 图1:竖轴对称图片 可以使用镜像效果来节省图片资源.第一种情况可以省下完整资源的一半,第二种情况则可以 ...

  9. 快排的优化策略(3种快排4种优化)

    转自:http://blog.csdn.net/hacker00011000/article/details/52176100 1.快速排序的基本思想: 快速排序使用分治的思想,通过一趟排序将待排序列 ...

最新文章

  1. struts学习笔记三-国际化
  2. 3招打破机器学习工程师的边界
  3. python操作excel-python操作excel(内附python教程分享)
  4. r mysql追加_将RMySQL程序包添加到R失败(在Windows上)?
  5. php发送get、post请求获取内容的几种方法
  6. java继承孙子类_Java:类与继承
  7. 移动平均线ma分析_使用动态移动平均线构建交互式库存量和价格分析图
  8. python创建二维空列表_python定义二维空数组
  9. 「钓鱼攻击」免杀钓鱼上线捆绑利器
  10. 三个小时后,苹果紧急撤回 iOS 12 最新测试版本
  11. IMGUI_DX11显示自定义图片
  12. 高斯消元法求解线性方程组(附python代码)
  13. Cocos Creator 微信创意小游戏《蛇它虫》团队专访:玩法画面均是新意
  14. 如何在线快速解压文件?
  15. IIS事件查看器_WebServer事件查看器_帮助查看IIS-Web服务器事件执行日志
  16. 局域网限制网速软件_Oka WiFi测网速 for Mac(网络测速软件)
  17. typora图片居中问题
  18. java事件源_java中什么是事件源,事件的处理过程是什么
  19. 华为HCIP RS题库221 71-80题
  20. 力扣刷题记录--位运算问题

热门文章

  1. tp框架实现ajax
  2. bzoj 1024 生日快乐
  3. Qt + VS 【如何添加图片资源】
  4. 读书笔记《锋利的jQuery》
  5. Js跨域请求jquery的jsonp方式
  6. (转)[翻译] ASP.NET MVC Tip #1 - 使用扩展方法创建新的HTML Helper
  7. python是用什么语言开发的-专为人工智能和数据科学而生的Go语言,或将取代Python...
  8. python语法基础学习-Python基础语法精心总结!看完都知道的可以往下继续学习了...
  9. python语言自学教程-3D图示Python标准自学教程入门篇
  10. python导入csv文件-jupyter 导入csv文件方式