zoukankan      html  css  js  c++  java
  • 新的毛发渲染功能

    有关注过的朋友可能会知道,我的渲染器是基于光线追踪的,虽然以前的版本也有扫描线,但后来嫌同时维护两个渲染核心很辛苦,所以暂时改成纯raytracer了,所以这里新加入的毛发功能是基于后置处理的,方法很简单,就是用Z-BUFFER,然后毛发的光照模型我是直接用3ds max里面的各向异性标准材质,大家可能知道了这是一个3ds max的插件渲染器,所以我暂时没有用别的特别的模型,毛发的自阴影效果是用基于我自己的经验模型的伪阴影,其实原理就是深层的毛发光线接受的更少一些,非常简单,但是效果还可以接受,而且关键是用这种伪的方法渲染速度非常快,不需要shadow map或者deep shadow map或者体渲染技术等额外的计算。但是这种伪技术当然有限制,并不总能近似于真实的物理光照效果。而且因为是后置处理的,我还无法对毛发进行光线追踪,所以不能产生反射和折射效果,对毛发这么细微而数量巨大的物体进行光线追踪确实是一项挑战,我记得我很早以前就提过这个问题,到现在也没找到很好的方法,希望各位知道有什么好的方法能够给予指点,谢谢了先。插件的毛发的生成是采用3ds max里的面片进行造型,然后我的插件会把面片转换为毛发,因为我自己是学画画的,所以我认为用面片造型比用曲线造型更直观,更有体积感,观察起来也更见方便,修改发型也比较精确。我这里对毛发做的是类似REYES的vertex shading,也许做pixel shading会更细腻,但是毛发覆盖率比较大,如果要做pixel shading,先要做消隐才比较有效率,而我这里是先shading后消隐,当然了,可以借助类似REYES的occlusion culling等技术解决shading的浪费,这就有待以后提高了。
     
  • 相关阅读:
    CSS中position小解
    position
    mac默认安装postgresql, 如何让postgresql可以远程访问
    The data directory was initialized by PostgreSQL version 9.6, which is not compatible with this version 10.0.
    active admin gem error
    psql 无法添加超级用户
    ubuntu 15.04 安装Balsamiq Mockups 3
    Rails html 写public里图片的路径
    rails c 历史命令
    undefined local variable or method `per' for []:ActiveRecord::Relation
  • 原文地址:https://www.cnblogs.com/len3d/p/752388.html
Copyright © 2011-2022 走看看