当前位置: 首页 > news >正文

认识多渲染目标(Multiple Render Targets)技术

首先,渲染到纹理是D3D中的一项高级技术。一方面,它很简单,另一方面它很强大并能产生很多特殊效果。 比如说发光效果,环境映射,阴影映射,景深效果,都可以通过它来实现。渲染到纹理只是渲染到表面的一个延伸。我们只需对得到的纹理图像进行后处理即可。首先,我们要创造一个纹理,并且做好一些防范措施。第二步我们就可以把适当的场景渲染到我们创建的纹理上了。然后,我们把这个纹理用在最后的渲染上。

 

GeForce 6系列图形芯片支持的PixelShader 3.0中还支持一种较新的技术,我们要额外放在这一页来简要介绍。这就是多渲染目标(MRT)技术。

  这种技术的作用就是将每像素的数据保存到不同的缓冲区当中。这样的好处就是这些缓冲区数据由此可以成为照片级光照效果着色器的参数。

  在这种方法的帮助下,光照可以在所有几何图形被渲染以后最后进行应用,不再需要进行多步的渲染。因而这种技术也可以被称为延期着色(Deferred Shading)。存储在这种类型的表面中的数据可以包括位置、法线、颜色以及材质的信息。

  我们来看一个MRT技术用于产生一个高动态范围的场景的实例。


第一个渲染步骤

  在第一个渲染步骤,开发者创造出3个输出缓冲区,这包括:1个颜色的贴图、1个法线的贴图和1个深度的贴图。


第二个渲染步骤

  在第二个步骤,使用法线和深度贴图结合光照条件计算出光照。然后,场景在带有颜色贴图的情况下被精确地照明。


第三个渲染步骤

  最后在第三个步骤中,超过0~1范围的超高亮度的光线值被带入场景中,计算包含高亮度像素附近的像素的发光。这个步骤产生出难以置信的发光效果。

转载于:https://www.cnblogs.com/lancidie/archive/2011/08/14/2137950.html

相关文章:

  • 说说參数传递(泛型托付)
  • 【转】Python常用文件操作参考
  • 在spring-boot工程中添加spring mvc拦截器
  • nodejs读写大文件
  • TreeView 控件应用
  • 终端代码重复率检测实践
  • 恋爱男女冷笑话
  • kali之***XP系统3(非法关闭计算机)
  • startActivityForResult的疑问与探索
  • 面向对象03
  • MIME 详解 [转]
  • Linux - 主机的细部权限规划:ACL 的使用
  • Crontab 命令需要注意的地方
  • mysql-连接及子查询使用删除重复记录
  • postfix邮件服务的高级配置
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • CSS 三角实现
  • ECMAScript6(0):ES6简明参考手册
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • Java多态
  • jquery cookie
  • Markdown 语法简单说明
  • MySQL用户中的%到底包不包括localhost?
  • nginx 负载服务器优化
  • rc-form之最单纯情况
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • uva 10370 Above Average
  • webpack4 一点通
  • 当SetTimeout遇到了字符串
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 因为阿里,他们成了“杭漂”
  • 再谈express与koa的对比
  • Android开发者必备:推荐一款助力开发的开源APP
  • PostgreSQL之连接数修改
  • SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解 ...
  • $.ajax,axios,fetch三种ajax请求的区别
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (4)logging(日志模块)
  • (6)【Python/机器学习/深度学习】Machine-Learning模型与算法应用—使用Adaboost建模及工作环境下的数据分析整理
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (附源码)计算机毕业设计SSM疫情下的学生出入管理系统
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据
  • (数位dp) 算法竞赛入门到进阶 书本题集
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (转)用.Net的File控件上传文件的解决方案
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .NET Standard / dotnet-core / net472 —— .NET 究竟应该如何大小写?
  • .net Stream篇(六)