distance field(占坑
signed distance field
https://kosmonautblog.wordpress.com/2017/05/09/signed-distance-field-rendering-journey-pt-2/
mesh distance field
https://docs.unrealengine.com/en-us/Engine/Rendering/LightingAndShadows/MeshDistanceFields
http://advances.realtimerendering.com/s2015/DynamicOcclusionWithSignedDistanceFields.pdf
https://www.quora.com/Computer-Graphics-How-does-the-distance-field-ambient-occlusion-work-in-the-Unreal-Engine
静态物体阴影ao 3dtexture
=================================
前段时间一直在忙 填下吧
讲下理解
generate distance field
这个 voxel是3dtexture的
存的是 worldspace一个 voxel到边缘 voxel的距离
边缘 voxel就是mesh顶点所在的 voxel
一个场景存一张大的3d texture包含模型和模型旁边的空间 每个 voxel都有个distance
voxel
这步的算法可以用八叉树遍历 先标0 递归那块和二维UI那里算法是一个道理
改成遍历空间中相邻26个voxel
然后根据这个distance field 做遮挡
用ray marching 就是那个一圈一圈的spheretracing
判断明暗那个点到光源有一条连线L 此空间中的voxel有一个distance 为半径做圆到与L的下个交点再用此点的distance做圆
一直交下去 到distance为0 shadow
能走到光源 此点照亮
---------------------------



下面我就一个问题了
为什么崩坏三的sdf是一圈一圈的
ue4的是这样连续的
https://www.shadertoy.com/view/4s2cWV
fragColor = vec4( fract(sd / max(iResolution.x, iResolution.y) * 20.) );
那一圈圈绝对是20乘出来的 但是为什么呢
====================
等下次有时间再分析
==========================================
崩坏3一圈一圈的是他们压缩存储了depth 和sdf无关
distance field(占坑的更多相关文章
- AppStore占坑注意事项
AppStore占坑注意事项 我们会提前在AppStore(iTunesConnect)里注册一些应用名称,以满足未来业务需要和防止恶意注册,其中有一些需要注意的事情,整理如下: 倒计时180天 为了 ...
- 插件开发之360 DroidPlugin源码分析(五)Service预注册占坑
请尊重分享成果,转载请注明出处: http://blog.csdn.net/hejjunlin/article/details/52264977 在了解系统的activity,service,broa ...
- 插件开发之360 DroidPlugin源码分析(四)Activity预注册占坑
请尊重分享成果,转载请注明出处: http://blog.csdn.net/hejjunlin/article/details/52258434 在了解系统的activity,service,broa ...
- 插件占坑,四大组件动态注册前奏(三) 系统BroadCast的注册发送流程
转载请注明出处:http://blog.csdn.net/hejjunlin/article/details/52204143 前言:为什么要了解系统Activity,Service,BroadCas ...
- 插件占坑,四大组件动态注册前奏(二) 系统Service的启动流程
转载请注明出处:http://blog.csdn.net/hejjunlin/article/details/52203903 前言:为什么要了解系统Activity,Service,BroadCas ...
- 插件占坑,四大组件动态注册前奏(一) 系统Activity的启动流程
转载请注明出处:http://blog.csdn.net/hejjunlin/article/details/52190050 前言:为什么要了解系统Activity,Service,,BroadCa ...
- Signed Distance Field Shadow in Unity
0x00 前言 最近读到了一个今年GDC上很棒的分享,是Sebastian Aaltonen带来的利用Ray-tracing实现一些有趣的效果的分享. 其中有一段他介绍到了对Signed Distan ...
- Signed Distance Field Technique
[Distance Field Technique] 一种小纹理高清放大的技术. A distance field is generated from a high resolution image, ...
- signed distance field 算法
将二值图转化成signed distance field后,可以在双线性插值下实现平滑放大. 定义: 到前景的distance field:各点到最近前景点的距离. 到背景的distance fiel ...
随机推荐
- ubuntu上安装mysql及导入导出
ubuntu上安装mysql: 1. sudo apt-get install mysql-server 2. apt-get isntall mysql-client3. sudo apt-get ...
- js对象替换键值名称
js对象替换键值名称 将obj中的id和name字段替换分别替换成为“@id”,“@name” 代码如下: let obj = [{id:,name:,name:"李四"}].ma ...
- javascript大神修炼记(3)——条件分支
读者朋友们好,我们今天接着前面的讲,前面已经大概了讲了一下运算符,今天的任务主要就是讲解逻辑条件分支,循环. 我们先就来模拟一个逻辑块,就用我们经常接触到的买车票来说吧,车票的价格对不同的人价格是有差 ...
- Lucene.Net无障碍学习和使用:搜索篇
一.初步认识搜索 先从上一篇示例代码中我们摘录一段代码看看搜索的简单实现: private TopDocs Search(string keyword,string field) { TopDocs ...
- 出现Unrecognized field "state" (class com.jt.manage.pojo.ItemCat)异常
当在pojo中,往往会出现字段无法一一对应时,有可能就会出现创建Unrecognized field "state" (class com.jt.manage.pojo.ItemC ...
- 【我要学python】open函数的简单用法
open函数 1,使用方法:open('文件路径', '模式',编码方式). 2,最好使用with open as: 省去每一次都需要close()的环节 3,模式介绍: ①w 可写(如果存在,会覆盖 ...
- ExtJs之表单(form)
--Form和Form Basic Extjs Form和Form Basic是两个东西,Form提供界面的展示,而Form Basic则提供数据的处理.验证等功能.每一个Form Panel在创建的 ...
- 【JAVA】在线程里使用线程外的变量为什么一定要是final类型
这个情况真的碰到很多,开始的时候也很难理解,但是既然IDE提示要final那我就final咯,跑通就行管那么多呢.然而这并不是科学的学习方法,万一面试问你呢那不是倒了大霉. OK,看了一些
- [bzoj2433][Noi2011]智能车比赛
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=2433 http://221.192.240.123:8586/JudgeOnline/ ...
- HihoCoder - 1715 树的连通问题
题面在这里! 正式告别文化课回归的第一题QWQ,然鹅半个月之后还是要退役QWQWQWQWQ 好像很久之前就见过的一个题,当时只会打一打 O(N^2) 的暴力QWQ,正好今天又写了遍这个暴力用来对拍23 ...