1,multi-light with single pass (farcry 1.2及之后的版本在ps3.0中使用这种方式,其实ps2.0也能使用这种方式)
  每个对象最多能计算3-4 (3灯光/ps 2.0, 4灯光/ps 3.0)个灯光,
这样就限制了每个受光照的对象不能太大。
  适用于室外/地形场景 

2,multi-pass  (DOOM3,farcry 1.2之前的版本使用这种方式)
 每light要渲染一个pass, 多light的情况下DP的次数会过高。
  适用于室内/三角形数量较少的场景

3,deferred rendering (killzone2,stalker使用这种方式)
 G-Buffer点的显存大,耗的带宽高,DX9下不能实现MSAA(dx9下MRT不支持MSAA)
  材质受限制(因为是在后处理阶段计算光照,shader算法没办法针对不同的对象区分实现)

4,light indexed deferred rendering
  DP次数比1,3高,比2低,显存带宽适中, 每个对象的shader中必须固定该对象的每个fragment计算的最大灯光数量.

5,light pre-pass rendering (cryengine3使用这种方式,还有若干制作中的游戏/引擎使用这种方式)
  DP次数比1,3高,比2低,显存带宽适中,材质受限制
 (1) 渲染场景,输出depth和normal到一个rendertarget
  rendertarget的格式:R8G8B8A8,R8G8存depth,B8A8存normal.xy
                      R16G16B16A16,R16B16存depth,B16存normal.xy,A16存材质信息(specular power?)
  (2)使用第一个pass生成的depth和normal数据,渲染所有的灯光到light texture, RGB存计算后的光照值,
   A分量存每个象素的specular intensity
 (3)整个场景再渲染一次,使用(2)中生成的light texture,采样纹理(diffuse,specular mask...),计算光照。

转载于:https://www.cnblogs.com/corefans/archive/2009/05/27/1491148.html

曾经流行的,即将流行的几种渲染模式(render pipeline)相关推荐

  1. 图解 SSR 等 6 种前端渲染模式

    关注「前端向后」微信公众号,你将收获一系列「用心原创」的高质量技术文章,主题包括但不限于前端.Node.js以及服务端技术 写在前面 React.Vue 等现代化前端框架的大旗之下,CSR(Clien ...

  2. 计算机基础白板课件,白板教学最流行的6种教学模式-交互式电子白板课件制作心得...

    白板教学最流行的6种教学模式-交互式电子白板课件制作心得 一.构建课堂互动探究学习平台 交互式电子白板适用于课堂中的探究学习,教师可以通过交互式电子白板构建学习情景,并且可以通过交互式电子白板更为清晰 ...

  3. 程序员必知的7种软件架构模式

    作者:Trung Anh Dang 策划:万佳 架构模式是对给定上下文的软件架构中常见问题的一种通用的可复用的解决方案. 一种模式就是特定上下文的问题的一种解决方案. 然而,很多开发者至今还对各种软件 ...

  4. Entity Framework技术系列之2:三种开发模式实现数据访问

    前言 Entity Framework支持Database First.Model First和Code Only三种开发模式,各模式的开发流程大相径庭,开发体验完全不一样.三种开发模式各有优缺点,对 ...

  5. 终端服务器有多种运行模式,云终端的三种工作模式你都知道的吗

    原标题:云终端的三种工作模式你都知道的吗 不知道大家有没有发现这几年来我们办公的电脑不知不觉中有笨重的台式机逐渐变成了小巧的云终端在使用的,我们去医院看病时也发现他们的办公的台式机也变成了云终端,甚至 ...

  6. javaweb学习总结(二十一)——JavaWeb的两种开发模式

    SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式. 一.JSP+JavaBean开发模式 1 ...

  7. javaweb学习总结(二十一):JavaWeb的两种开发模式

    SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式. 一.JSP+JavaBean开发模式 1 ...

  8. javaweb(二十一)——JavaWeb的两种开发模式

    一.JSP+JavaBean开发模式 1.1.jsp+javabean开发模式架构 jsp+javabean开发模式的架构图如下图(图1-1)所示 图1-1 在jsp+javabean架构中,JSP负 ...

  9. [译] JavaScript 的函数式编程是一种反模式

    本文讲的是[译] JavaScript 的函数式编程是一种反模式, 原文地址:Functional programming in JavaScript is an antipattern 原文作者:A ...

最新文章

  1. ubuntu 下 Could not get lock /var/lib/dpkg/lock解决方案
  2. ITK:将自定义操作应用于图像中的每个像素
  3. 第一章:The Missing Code Library--2.合法化输入
  4. [JS-BOM]BOM概念与组成
  5. java将数字转化为指定类型[float保留小数点确定、数字前加0]
  6. 历史精华文章分类汇总,祝大家中秋快乐!
  7. mysql数据库别名_MySQL数据库表名、列名、别名区分大小写的问题
  8. OpenJDK 14 与 OpenJDK 8 及多个主要版本的性能基准测试对比
  9. Struts2——OGNL表达式
  10. FlexBuilder3安装集成eclipse
  11. python logging日志分割_Python3测井曲线切割,python3logging,日志
  12. springboot jpa 实体类继承
  13. cad调了比例因子没反应_CAD教程:自由缩放命令的操作流程
  14. 无盘服务器chkdsk *: /f)修复命令,让你的电脑运行更快点 使用CHKDSK/F磁盘修复命令...
  15. 再练动态规划——(4)涂抹果酱
  16. # IE浏览器打不开网页,google浏览器能打开
  17. jsp简易的图书管理系统
  18. 【转】BAT机器学习面试1000题系列(1~50)
  19. AutoCad软件界面乱码
  20. 如何关闭Windows Server 2012的IE增强安全配置

热门文章

  1. linux内核kfifo(一)
  2. leetcode算法题--目标和
  3. python过滤敏感词
  4. HTML5手机手写签名开发,html5手写签名
  5. python github登陆_用Python模拟登陆GitHub并获取信息
  6. 射灯安装方法图解_客厅适合用射灯做基础照明吗?又该如何布灯?
  7. c语言malloc函数用法_小白对c语言数组的基础总结
  8. 线程和进程 linux,Linux查看进程的所有子进程和线程
  9. 使用职责链模式来重构你的代码
  10. 不修改加密文件名的勒索软件TeslaCrypt 4.0