博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Something about HDR
阅读量:6344 次
发布时间:2019-06-22

本文共 628 字,大约阅读时间需要 2 分钟。

:转载时请以超链接形式标明文章原始出处和作者信息及

HDR(High dynamic range) 光照技术是一种近期十分热门的技术,很多最新的DEMO与商业游戏都使用了这种技术,如近期比较流行的帝国时代三与Half-Life2等。由于传统图形学中的纹理颜色表示范围在[0,1]之间,而现实生活中光的范围远远超过[0,1],因此超出范围的光信息就会丢失。由于DX9支持了浮点纹理格式,因此可以支持更大范围的颜色,HDR得以实现。

说到底,HDR实现的根本技术在于浮点纹理格式与浮点绘制表面,A16B16G16R16F 的纹理格式已经足够。其实整数格式的纹理也可以实现HDR,只是需要多费一些事,需要将浮点数表示为整数格式压进整数格式的纹理中。

渲染技术其实很简单,首先将像素结果乘以一个曝光度(一般大于1),这个结果一般会超过[0,1]这个范围,将小于1的部分保存为一个普通的LDR纹理(可以是R8G8B8格式),将超过1的部分保存为HDR纹理(A16R16G16B16F格式);然后对HDR纹理进行BLUR(先水平方向再垂直方向,而且进行BLUR的纹理大小可以是原大小的1/2或1/4,也可以BLUR多遍),最后将LDR纹理与BLUR的结果相加即得到最终的结果。

至于得到特殊的效果,需要仔细调整曝光度以及一些参数。

转载于:https://www.cnblogs.com/lancidie/archive/2011/03/28/1997523.html

你可能感兴趣的文章
POJ-1010 Stamps
查看>>
vue 动画
查看>>
代理与反向代理
查看>>
Codeforces 432C
查看>>
学习之路
查看>>
面试题13:在O(1)时间删除链表节点
查看>>
第五十六课、函数模板的概念和意义
查看>>
Windows进程创建的流程分析
查看>>
css重直居中代码
查看>>
Struts 2 ModelDriven Action
查看>>
destoon公司搜索页面显示公司类型
查看>>
C++分享笔记:5X5单词字谜游戏设计
查看>>
单片机软件proteus的汉化步骤
查看>>
webqq协议分析之~~~~登陆
查看>>
构建之法阅读笔记6
查看>>
c# 免费版pdf转word尝试
查看>>
iOS学习笔记12-UISearchBar
查看>>
用代码实现以下程序:篮子中有10个玩具,每60秒取出3个,同时每40秒向篮子中放入1个,不断重复上述动作,当篮子中剩余玩具不足3个是,程序结束...
查看>>
使用JDBC-ODBC读取Excel文件
查看>>
(一)在HTML页面中实现一个简单的Tab
查看>>