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 ...
随机推荐
- Multiply Strings——面试题
Given two numbers represented as strings, return multiplication of the numbers as a string. Note: Th ...
- .net/c#常用框架/中间件简介(不定时更新)
任务调度 Quartz.NET:Quartz.NET是一个开源的作业调度框架,非常适合在平时的工作中,定时轮询数据库同步,定时邮件通知,定时处理数据等. Quartz.NET允 许开发人员根据时间间隔 ...
- [译]怎样在Vue.js中使用jquery插件
原文:http://gambardella.info/2016/09/05/guide-how-to-use-vue-js-with-jquery-plugins 使用Vue真的太棒了,但是也有可能使 ...
- 我一直记不住的vim用法
一.多行编辑进入visual block模式一般模式下Crtl+v组合键以块的形式选中待编辑的文本 进入visual line模式一般模式下大写V以行的形式选中待编辑的文本 上述两种模式的复制用y,删 ...
- 设置loadrunner中每个mdrv.exe进程中包含的vuser个数
设置loadrunner中每个mdrv.exe进程中包含的vuser个数 在loadrunner中,默认的是每50个vuser会使用一个mdrv.exe进程,但是有些时候vuser中的使用的线程太多就 ...
- php打开错误日志
ini_set("display_errors", "On"); error_reporting(E_ALL | E_STRICT);
- Ubuntu 17.04 搭建LAMP服务器环境流程
安装Apache2 安装代码 sudo apt-get install apache2 更改默认目录 sudo vim /etc/apache2/apache2.conf // 将 <Direc ...
- BootstrapTable与KnockoutJS相结合实现增删改查功能
http://www.jb51.net/article/83910.htm KnockoutJS是一个JavaScript实现的MVVM框架.通过本文给大家介绍BootstrapTable与Knock ...
- VMware8安装配置Win7、CentOS-7向导
1.宿主电脑配置情况 Windows 8.1 中文版 Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz 2.4GHz RAM: 8G Type: 64 bit 2.软件 ...
- Oracle REGEXP
ORACLE中的支持正则表达式的函数主要有下面四个: 1,REGEXP_LIKE :与LIKE的功能相似 2,REGEXP_INSTR :与INSTR的功能相似 3,REGEXP_SUBSTR :与S ...