作者:i_dovelemon 日期:2020-06-23 主题:Screen Space Planar Reflection, Compute Shader 引言 前段时间,同事发来一篇讲述特化版本的 Screen Space Reflection 实现 Planar Reflection 的文章.出于好奇,实验了下,看看效果如何.如下是目前实现出来的基础版本的效果: 原理 对于上图来说, Water Plane 表示水面,上半部分为实际场景的山体,下半部分为以水面为镜像进行反射之后的山体效果.…
作者:i_dovelemon 日期:2016 / 05 / 30 主题:3D,Graphics 引言 进公司以来,主要在学习的就是如何保证代码的质量,以前热爱的图形学也放置了.但是,作为游戏程序员,特别是3D游戏程序员,图形学的重要不言而喻.从今天开始起,将进行GraphicsLab Project学习项目,此项目旨在学习常用的图形学方面的知识,一方面构建在图形方面的知识库,另一方面也希望以此激励在同一条道路上行走的伙伴们继续坚持下去. GraphicsLab Project将以理论总结配合实际…
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 loc…
第四部分讲一下如何在2D屏幕空间步进光线. http://casual-effects.blogspot.com/2014/08/screen-space-ray-tracing.html 中的代码感觉不太好理解,这里的代码是按照我自己的理解去重新实现的简单版,在效率上可能不如这个网址中的代码. 3D空间的光线步进 原本的实现中,我们得到光线后,将其在3D空间中进行步进,再投影到2D空间上.在投影过后,3D空间中均匀的采样点在2D空间中就不是均匀分布的了. (图来自 http://casual-…
traceRay函数 在上一篇中,我们有如下签名的traceRay函数 bool traceRay(float3 start, float3 direction, out float2 hitPixel, out float3 debugCol ) { } 其中的参数意义都很明了.start和direction是相机空间下的光线起点,以及光线方向. traceRay的核心代码并不复杂,如下: #define RAY_LENGTH 2.0 #define STEP_COUNT 64 //maxim…
作者:i_dovelemon 日期:2020-01-04 主题:Rendering Equation,Irradiance Environment Map,Spherical Harmonic 引言 在实时图形渲染中,Global Illumination 是圣杯级的效果.为了实现这个效果,前辈们开发了很多的技术.但是这些技术大都只能用于静态物体上,对于动态的物体却不能很好的支持.所以,为了让动态的物体也有一点 GI 的效果,开发出了一系列的技术.今天,我们就来介绍其中一种技术:Diffuse…
目录 Reflective Shadow Maps(RSM) RSM 的重要性采样 RSM 的应用与缺陷 Screen Space Ambient Occulsion(SSAO) SSAO Blur Horizon Based Ambient Occlusion(HBAO) SSAO 的应用与缺陷 Screen Space Directional Occlusion(SSDO) SSDO 的应用与缺陷 Screen Space Reflection(SSR)/Screen Space Ray T…
unity用到了screen space shadow map 1.camera 在light pos 生成depth1 2.screen space depth2 3.根据depth1 depth2生成 screen space shadow 4.采样ssshadow 生成阴影 为什么要加这一步 per object 与per pixel的区别 可以降低overdraw 之前考虑的时候我忽视了一点 传统sm算法是每个receive shadow的物体 转到light space 算shadow…
作者:i_dovelemon 日期:2016 / 07 / 02 来源:CSDN 主题:Render to Texture, Post process, Glare, Glow, Multi-pass rendering 引言         从GraphicsLab Project项目立项以来,一直都在忙着搭建Shader的实验环境,现在基本的实验环境已经搭建完毕,所以就试着使用它来编写一些效果.本篇文章就将向大家讲述,如何在OpenGL中,使用GLSL编写出辉光效果. 辉光(Glare,Gl…
2018.0.3f 里面directional light开了shadow 就会有一张updatedepth 如果距离远 没有阴影就没有shadow pass 但是updatedepth没有关掉 管线后面也没有对这张depth tex的引用 如果距离在实时阴影产生范围之内 会用screen space shadow updatedepth就是给screen space shadow用的 这里有些shit 开shadow的情况下 用camera.DepthTextureMode.NONE 并不能关…