screen space reflection/soft alpha test/
http://www.crytek.com/cryengine/presentations/secrets-of-cryengine-3-graphics-technology
很多宝贝里面
不止题目那俩
soft alpha test不用msaa的话用后处理
screen space reflection用 ray tracing
*******************************************
screen space reflection /real time local reflection
1.为每个像素计算反射vector(deferred depth and normal)这里需要normal
2.ray march along reflect vector(拿depth01)
3.depth01与sample depth检测
4.if hit sample last frame color
看起来合适deferred shading
********************************************
screen space selt-shadow
soft shadow
contact shadow
======================
skin
http://www.iryoku.com/stare-into-the-future
====================================
pass 0

pass 1

pass 2

blur几次 接着
pass3 composition

http://casual-effects.blogspot.com/2014/08/screen-space-ray-tracing.html
算法描述
pass0
1.计算每个pixel的reflect vector用wold normal(view关于normal的reflect)
2.沿reflect vector ray march,设step=n
3.在step那里 sample depth tex得到depthS
在step那里可以算得 reflect方向上此点depth01
4.if depth01<depthS continue;继续迭代
5.if depth01>depthS hit,此点被场景遮挡 形成反射
return 此点的data---uv pos iterator count hit
-----------------
下面有些问题 步长该如何确定,一共多少step
A:步长小会更精确 大会fast 取个合适的值 有个最大距离限制和最大迭代次数限制 合理设置一下 可见的反射距离
jitter为什么加进来
A:

分层抽样stratified sampling 积分收敛和视觉效果优于均匀采样
---------
错的地方 fade out
屏幕外面的pix在屏幕内部发生反射的那部分图像不存在 用fade out掩饰下
-----------------------
ray marching
sphere marching for sdf 每个黑点那里存了distance to surface

cone tracing


cone 就是这个cone
==============
http://casual-effects.blogspot.com/2014/08/screen-space-ray-tracing.html
代码
github postprocessing stack v2
https://github.com/Unity-Technologies/PostProcessing
使用manual
https://docs.unity3d.com/Manual/PostProcessing-ScreenSpaceReflection.html
===============================================================

这张算法图说的很详细了 和我理解的是一致的
https://gizmosandgames.com/2017/01/17/screen-space-reflections/
算uv reflection上step那次的uv
// Center of ray through pixel
t2 = min(tMax.x, tMax.y);
average = refl_dir * (t1 + t2) * 0.5f;
t1 = t2; // Calculating the eye vector for the current pixel
float u = (pos.x + 0.5f + average.x) / width - 0.5f;
float v = (pos.y + 0.5f + average.y) / height - 0.5f;
cam_ray_dir = float3(u, v * aspect, -ratio); // Compare ray depth to world depth and end if ray has gone behind image
depth_travelled = intersection(starting_world_pos, float3(0,0,0), refl_dir, cam_ray_dir);
ray_depth = starting_world_pos.z + depth_travelled * refl_dir.z;
if (!src.bounds.inside(pixel_x, pixel_y) || ray_depth <= world_pos(pixel_x, pixel_y, 2))
break;
=========================
http://roar11.com/2015/07/screen-space-glossy-reflections/
screen space reflection/soft alpha test/的更多相关文章
- 在Unity中实现屏幕空间反射Screen Space Reflection(4)
第四部分讲一下如何在2D屏幕空间步进光线. http://casual-effects.blogspot.com/2014/08/screen-space-ray-tracing.html 中的代码感 ...
- 在Unity中实现屏幕空间反射Screen Space Reflection(2)
traceRay函数 在上一篇中,我们有如下签名的traceRay函数 bool traceRay(float3 start, float3 direction, out float2 hitPixe ...
- 在Unity中实现屏幕空间反射Screen Space Reflection(1)
本篇文章我会介绍一下我自己在Unity中实现的SSR效果 出发点是理解SSR效果的原理,因此最终效果不是非常完美的(代码都是够用就行),但是从学习的角度来说足以学习到SSR中的核心算法. 如果对核心算 ...
- 高级屏幕空间反射: Screen Space Reflection (SSSR)
SSSR进一步调优,对标寒霜级技术水平,实现方式为Direct3D 11+自主实现实时渲染引擎,方法为对比测试.实现已经有段时间了,还是简要更新下吧.以下画面中的SSSR效果全部采用1:4 resol ...
- 高级屏幕空间反射: Screen Space Reflection (SSR)
自从CE3首倡SSR以来,发展至今,其质量与当年早已不能同日而语.不仅强调超越性的质量,而且强调超越性的性能.乘着周末有空撸了撸,以下是增强型实时SSR结果图.与我原来的SSR原始实现相比,新的增强型 ...
- 在Unity中实现屏幕空间反射Screen Space Reflection(3)
本篇讲一下相交检测的优化.有两个措施. 线段相交检测 之前的检测都是检测光线的终点是否在物体内.我们可以尝试检测光线的线段是否与物体相交. 比如说有一个非常薄的物体,光线差不多垂直于它的表面.如果用普 ...
- GraphicsLab Project 之 Screen Space Planar Reflection
作者:i_dovelemon 日期:2020-06-23 主题:Screen Space Planar Reflection, Compute Shader 引言 前段时间,同事发来一篇讲述特化版本的 ...
- 基于屏幕空间的实时全局光照(Real-time Global Illumination Based On Screen Space)
目录 Reflective Shadow Maps(RSM) RSM 的重要性采样 RSM 的应用与缺陷 Screen Space Ambient Occulsion(SSAO) SSAO Blur ...
- screen space shadowmap unity
unity用到了screen space shadow map 1.camera 在light pos 生成depth1 2.screen space depth2 3.根据depth1 depth2 ...
随机推荐
- 【笔试题】Spring笔试题
spring笔试题 1.Spring支持的事务管理类型 Spring支持两种类型的事务管理: 编程式事务管理:这意味你通过编程的方式管理事务,给你带来极大的灵活性,但是难维护. 声明式事务管理:这意味 ...
- 洛谷P2236 HNOI2002 彩票 [暴搜]
题目传送门 彩票 分析: 虽然题目标签上标的是Splay,但我一个蒟蒻至今也沒掌握平衡树,所以就索性一个暴搜,加一点剪枝就水过去了- 代码: #include<cstdio> #inclu ...
- Why Did the Cow Cross the Road III(树状数组)
Why Did the Cow Cross the Road III 时间限制: 1 Sec 内存限制: 128 MB提交: 65 解决: 28[提交][状态][讨论版] 题目描述 The lay ...
- Struts2中的设计模式
http://blog.csdn.net/significantfrank/article/details/7712053 1. Command Pattern 基本定义: 把Command(Requ ...
- [BZOJ5251][九省联考2018]劈配(网络流)
5251: [2018多省省队联测]劈配 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 33 Solved: 22[Submit][Status][ ...
- JZYZOJ1454 NOIP2015 D2T3_运输计划 二分 差分数组 lca tarjan 树链剖分
http://172.20.6.3/Problem_Show.asp?id=1454 从这道题我充分认识到我的脑子里好多水orz. 如果知道了这个要用二分和差分写,就没什么思考上的难点了(屁咧你写了一 ...
- 【2-sat】Gym - 101201F - Illumination
题意:平面上l盏灯,每盏灯可以照亮横向的2*r+1个格子或者纵向的2*r+1个格子,让你确定每盏灯的方向,使得每个格子只被同一行的不超过一盏灯照亮,并且只被同一列的不超过一盏灯照亮.输出是否有解. 显 ...
- 【数论】【ex-BSGS】poj3243 Clever Y
用于求解高次同余方程A^x≡B(mod C),其中C不一定是素数. http://blog.csdn.net/tsaid/article/details/7354716 这篇题解写得最好. 那啥,这题 ...
- Java并发(五):synchronized实现原理
一.synchronized用法 Java中的同步块用synchronized标记. 同步块在Java中是同步在某个对象上(监视器对象). 所有同步在一个对象上的同步块在同时只能被一个线程进入并执行操 ...
- Java高级架构师(一)第34节:Nginx的Http模块部分的指令
默认长链接的数目在100个 默认长链接的超时时间,一般在75S.