zoukankan      html  css  js  c++  java
  • 暗黑三泛光算法研究

    GPA过好几次暗黑三的绘制,曾经对其绘制某些物体两遍的操作感到不解,这两天又看了一眼,知道,其是为了绘制GLOW。

    暗黑三中并没有使用浮点精度贴图格式,其泛光计算与UE3的浮点溢出算法不一样。一般的使用8位图的游戏,是全部全屏处理查找亮色来计算泛光区域,我搞过类似的效果给美术查看,不尽人意。瀑布就是发白啊,就是不想泛光啊之类的。

    暗黑三是比较取巧的方法,其首先将需要泛光的物体绘制了两遍,其渲染系统为,第一遍绘制,与大部分的物体的绘制方式一样,只是颜色只写到RenderTarget的RGB通道内(通过设置RenderState的ColorWriteEnable)。对于泛光的物体,有第二遍绘制,此时会往RenderTarget的Alpha通道中绘制遮罩信息。

     

    一、泛光绘制第一步,执行down sample和high-pass filter。通过采样刚才生成的RenderTarget,并通过检测其Alpha通道,将颜色图中颜色计算亮度,将亮度较大的颜色输出到新的四分之一的RT上。

     

    二、对刚才的图像进行高斯Blur

    三、将Blur图像叠加到原图中,公式一般自由发挥。暗黑计算中比较诡异(配合第一步计算中的潜规则),,其Bloom颜色乘以了4.5。。

     

  • 相关阅读:
    Python 资源大全中文版
    Life is short.,You need Python
    哪些 Python 库让你相见恨晚?
    中国裁判文书网全网最新爬虫分析
    关于pycharm导入其他项目时出现找不到python无法运行的问题
    禅道项目管理软件配置及使用教程
    curl
    fusionpbx 中文 汉化
    kafka operation
    golang包管理工具——glide
  • 原文地址:https://www.cnblogs.com/hellohuan/p/3478834.html
Copyright © 2011-2022 走看看