自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (4)
  • 问答 (4)
  • 收藏
  • 关注

原创 [前沿技术] AMD FSR 1.0源码分析(二)

AMD FSR 1.0技术的源码分析

2023-03-08 22:31:41 930

原创 [NPR + UE](1) 简单Cel Shading

UE4引擎中实现简单的cel渲染

2022-08-16 09:46:49 792

原创 [UE4]RenderTarget应用3——可交互草

UE4下利用RT,实现可交互草

2022-08-16 09:15:37 1130

原创 [前沿技术] AMD FSR 1.0源码分析(一)

AMD FSR 1.0版本源码分析

2022-08-12 14:49:49 1914

原创 MSAA的理解(个人向)

MSAA流程的疑问和个人理解

2022-08-12 14:38:33 1172 2

原创 物理光源:Linearly Transformed Cosines

1. 介绍1️⃣首先,确认LTC技术的目标:解决多边形面光源的光照积分问题,特别是高光部分的求解。多边形面光源的积分和我们之前考虑的问题都不一样:常见光源(点光源、SpotLight等):简单,积分域就是一个点。环境贴图:复杂一点,积分域是半球域——一般来说,我们都是使用IBL技术类,进行简化。我们考虑更加物理的光源:多边形光源。这个时候,积分域 SSS 就很复杂了,求解更加复杂:I=∫S(L(wl)⋅f(p,wi,wo)⋅cos⁡(θp))dwi I=\int_S(L(w_l)\cdot.

2022-05-05 17:14:28 588

原创 全局光照技术:Precomputed Radiance Transfer

1. 介绍物体在不同光照下的表现不同,PRT(Precomputed Radiance Transfer)是一 个计算物体在不同光照下表现的方法。光线在一个环境中,会经历反射,折射, 散射,甚至还会在物体的内部进行散射。为了模拟具有真实感的渲染结果,传统的 Path Tracing 方法需要考虑来自各个方向的光线、所有可能的传播形式,并且收敛速度极慢。PRT使用一种预计算方法,该方法在离线渲染的 Path Tracing 工具链中预计算 lighting以及 light transport, 并将它们用球

2022-04-01 14:30:08 1422 3

原创 重要性采样

1. 介绍首先,明确的是,本人在这里不会涉及大数定理、蒙特卡洛积分、重要性采样的数学原理和推导,仅仅是做个介绍。重点还是重要性采样和光照积分的结合。1.1 快速回顾蒙特卡洛积分蒙特卡洛积分,并不是指一种名叫蒙特卡洛的积分,而是采用蒙特卡洛法来估计积分。参考上图,在[a,b][a,b][a,b]的区间内均匀取足够多的点(N很大),来估算上诉曲线下的面积(假如我们无法求解析解):FN=∫abf(x)dx=b−aN∑i=1Nf(xi) F_N=\int_a^b{f(x)dx}=\frac{b-a}

2022-03-07 13:45:55 2142

原创 全局光照算法:IBL

1. 介绍基于图像的光照(Image based lighting, IBL)是一类光照技术的集合。其光源不是可分解的直接光源,而是将周围环境整体视为一个大光源。现代渲染引擎中使用的IBL有四种常见类型:远程光探头,用于捕捉"无限远"处的光照信息,可以忽略视差。远程探头通常包括天空, 远处的景观特征或建筑物等。它们可以由渲染引擎捕捉, 也可以高动态范围图像的形式从相机获得.局部光探头,用于从特定角度捕捉世界的某个区域。捕捉会投影到立方体或球体上, 具体取决于周围的几何体。局部探头比远程探头更精确,在

2022-02-28 19:12:00 6500 1

原创 全局光照算法:reflective shadow maps

1. 技术理解RSM的全称是reflective shadow maps,受到Instant Radiosity这个离线技术的启发,其思想和ShadowMap的思想近似。在正式介绍和了解这个技术之前,我需要确定RSM用处何在?我想,《RTR4》中对它的分类很正确——Dynamic Diffuse Global Illumination,这是一个处理动态全局漫反射的技术:GI(全局光照):用于二次及以上bounce造成的间接光。Dynamic(动态):可以实时更新,可作用于动态物体。Diffuse(

2022-02-26 22:27:10 1097

原创 AMD FSR技术在UE4移动端可用的研究(二)——4.27的适配

1. 从FDeferredShadingSceneRenderer::Render入手1️⃣首先根据大佬的博客,我们可以很快定位到后处理发生的地方(整个函数的靠后处):进入AddPostProcessingPasses,然后根据笔记(1)(参考官方各种文档),可以知道FSR作为UpScale是位于Tone Mapping之后的,所以我们直接略过中间复杂的过程,可以很快找到主放大Pass和副放大Pass:2️⃣考虑主放大Pass,在设置完PassInputs之后,核心代码就是下面这一行:Cus

2022-01-14 10:40:56 1813 3

原创 MLAA的实现与分析

前言:本文主要参考《Morphological Antialiasing》和《Practical Morphological Antialiasing》1. 介绍MSAA有不可忽视的缺点。首先,会导致处理时间的增加。此外,在大部分平台上(旧的),使用多个渲染目标(MRT)时,不能激活多重采样。即使在可以同时激活MRT和MSAA的平台上(即DirectX 10以上),MSAA的实现也不简单。MSAA的另一个缺点是不能平滑非几何边缘,比如使用Alpha Test所产生的边缘——在渲染植被时经常使用。因此,

2022-01-12 18:04:28 3560 2

原创 AMD FSR技术在UE4移动端可用的研究(一)——介绍以及安装

1. 介绍AMD FidelityFX Super Resolution (FSR) 采用先进的优化升级技术,能够在无需用户升级显卡的情况下帮助提高部分游戏的帧率,带来高质量、高分辨率的游戏体验。FSR适用于包括集成显卡在内的各种新旧产品,并针对基于 AMD RDNA™ 和 AMD RDNA 2™ 架构的 Radeon™ RX 6000 和 RX 5000 系列显卡进行了优化。部分 NVIDIA® 显卡也支持 FSR。FSR提出了四种不同的质量模式:Ultra Quality,Quality,Ba

2022-01-06 18:13:47 5143 3

翻译 FXAA白皮书的翻译和理解补充

FXAA实现1. 算法前瞻算法流程参考上图,可以分为以下几步:输入一张非线性RGB图(例如:sRGB),并从采样得到的颜色值中得到亮度luminance。通过亮度,检查当前像素的局部对比度(local contrast),来舍弃非边缘像素。检测到的边缘为红色,向黄色渐变表示检测到的亚像素锯齿的程度。(drawn using FXAA_DEBUG_PASSTHROUGHshader define)。通过局部对比度检测的像素被分类为金色的水平,和蓝色的垂直。(FXAA_DEBUG_HORZVER

2021-12-30 16:33:11 569

翻译 图形学技巧——翻译IQ博客-2

图形学零散知识

2021-12-02 17:49:29 400

翻译 图形学技巧——翻译IQ博客-1

图形学的零散知识

2021-12-02 17:39:58 226

原创 UE4RenderTarget应用2——雪地

UE4的RT应用

2021-12-02 17:15:45 1357

原创 Effective Modern C++ : 3.转向现代C++

C++

2021-12-02 16:55:24 384

原创 Effective Modern C++ : 1+2.类别推导&auto

C++ 14, 书籍总结

2021-12-02 16:54:12 792

原创 Vulkan教材2

Vulkan教程2文章目录Vulkan教程21. Vertex input descriptionVertex shaderVertex dataBinding descriptionsAttribute descriptionsPipeline vertex input2. Vertex buffer creationBuffer creationMemory requirementsMemory allocationFilling the vertex bufferBinding the vertex

2021-06-12 18:24:55 227

原创 UE4——材质系统初探1

教程1文章目录教程11. 整体架构2. 性能3. PBR4. 压缩和内存5. 纹理池6. 渲染目标7. 材质编辑器动画序列视图使用的外部信息世界对齐纹理8. 简单组合Bump Offset混合角度纠正法线顶点着色1. 整体架构首先,我们需要注意的是在编辑材质时,要小心其细节面板的用法分栏,我们需要明确其勾选,否则,很有可能导出后报错,部分材质无法显示,例如:一般情况下,哪怕没有勾选,UE4也会启动使用静态光照的版本。为什么编译着色器的数量如此惊人?理由和Unity一样,着色器内分支结构的使用

2021-06-12 18:22:43 517

原创 UE4RenderTarget应用1——画布

1. 使用渲染目标绘画绘制方法为了确定在哪里绘制渲染目标,需要从摄像机向前画一条线。如果线条击中画布,可以在UV空间中得到击中位置。例如,如果画布是完美的UV映射,在中心的点击将返回值(0.5,0.5)。如果它击中右下角,将得到一个值(1,1)。然后可以使用一些简单的数学计算绘制位置。需要设置一个纹理作为参数,这样就可以传递渲染目标。为此,创建一个TextureSampleParameter2D并命名为RenderTarget。然后,将它连接到BaseColor。创建RT更好的方法是使用蓝图创建渲

2021-06-12 18:09:36 1559

原创 ShaderToy上后处理练习4——边缘检测

边缘检测主要参考,或者说就是照着著名大佬QianMo的后处理教程写的,不过他是在Unity里面实现的,作为一个高品质后处理插件,然后本人是在ShaderToy上实现的,当然我都是在复现大佬的代码,推荐大家去读大佬的文章,地址:https://github.com/QianMo/GPU-Gems-Book-Source-Code强烈安利!!!!Edge Detection SobelCommon#define _EdgeColor vec4(1., 0., 0., 1.)#define _Back

2021-06-12 17:41:52 508

原创 ShaderToy上后处理练习3——像素化

像素化型后处理主要参考,或者说就是照着著名大佬QianMo的后处理教程写的,不过他是在Unity里面实现的,作为一个高品质后处理插件,然后本人是在ShaderToy上实现的,当然我都是在复现大佬的代码,推荐大家去读大佬的文章,地址:https://github.com/QianMo/GPU-Gems-Book-Source-Code强烈安利!!!!Pixelize QuadCommon#define _PixelSize (1000.)#define _PixelRatio (1.)#defi

2021-06-12 17:37:20 327

原创 ShaderToy上后处理练习2——模糊

模糊算法主要参考,或者说就是照着著名大佬QianMo的后处理教程写的,不过他是在Unity里面实现的,作为一个高品质后处理插件,然后本人是在ShaderToy上实现的,当然我都是在复现大佬的代码,推荐大家去读大佬的文章,地址:https://github.com/QianMo/GPU-Gems-Book-Source-Code强烈安利!!!!还有,就是,一些结果和代码不能一一对应,不过贴到ShaderToy上就能看到效果高斯模糊Commom#define SIZE 5.#define STEP

2021-06-12 17:32:52 454

原创 ShaderToy上后处理练习1——故障

故障艺术主要参考,或者说就是照着著名大佬QianMo的后处理教程写的,不过他是在Unity里面实现的,作为一个高品质后处理插件,然后本人是在ShaderToy上实现的,当然我都是在复现大佬的代码,推荐大家去读大佬的文章,地址:https://github.com/QianMo/GPU-Gems-Book-Source-Code强烈安利!!!!RGB颜色分离故障(RGB Split Glitch)Common#define IDENSITY (0.091)#define PATTERRN (2)

2021-06-12 17:22:47 613

原创 Cheap Curvature代码解析

Cheap Curvature代码解析作者:Nimitz,网址:https://www.shadertoy.com/view/Xts3WM标签:3d,cheap,curvature简介:主要是对曲率的简单计算相机的简单设置在相机的常规设置上,加上了鼠标点击的控制,较为简单。射线步进float map(vec3 p){ p.x += sin(p.y*4.+time+sin(p.z))*0.15; // float d = length(p)-1.; floa

2021-06-12 16:51:04 248

原创 Combustible Clouds代码解析

Combustible Clouds作者:Shane,网址:https://www.shadertoy.com/view/MscXRH标签:noise,cloud,volumetric基础设置​ 一开始是ro,rd的设置,这里和常规的不一样。vec3 rd = normalize(vec3(fragCoord - iResolution.xy*.5, iResolution.y*.75)); // Ray origin. Moving along the Z-axis.vec3 ro =

2021-06-12 16:49:27 190

原创 RM-F代码解析

RM-F代码解析作者:shau,网址:https://www.shadertoy.com/view/MsVcRy标签:3D,带状条纹,Moody Clouds,髓质效果总共一个部分:ImageImage​ 首先自定义了一个结构体Scenestruct Scene { //射线步进的距离 float t; //物体标号:外球,内球,还是地板 float id; //法线 vec3 n; //近交点位置 float stn;

2021-06-12 16:45:06 928

原创 PlayingMarble代码解析

Playing Marble代码解析作者:Guil,网址:https://www.shadertoy.com/view/MtX3Ws标签:3D,分形,volumetricImage一开始,常规的坐标变换,处理鼠标点击事件,然后照相机设置,然后进行IQ的球体相交测试vec2 tmm = iSphere( ro, rd, vec4(0.,0.,0.,2.) );然后是核心的rayMarch函数,这里是进行髓质计算,关于这一部分,在RM-F中有详细介绍,这里就不说了float map(in ve

2021-06-11 11:01:47 638

原创 Elevated代码解析

Elevated代码解析作者:iq,网址:https://www.shadertoy.com/view/MdX3Rr标签:procedural, 3d, raymarching, distancefield, terrain, motionblur总共两个部分:Image,Buffer AImagevoid mainImage( out vec4 fragColor, in vec2 fragCoord ){ vec2 uv = fragCoord/iResolution.xy;

2021-06-11 11:00:07 265

原创 IQ_Clouds优秀代码解析

IQ_Clouds作者:IQ,网址:https://www.shadertoy.com/view/XslGRr标签:procedural,volumetric,lodRender主函数里面就是常规的坐标变换和相机设置,所以我们直接进入render函数进行分析。一开始依旧是天空设置,包括:天空的色变和太阳的设置两部分。// background sky float sun = clamp( dot(sundir,rd), 0.0, 1.0 );vec3 col = vec3(0.6,

2021-06-11 10:56:28 204 1

原创 ProteanClouds代码解析

Protean Clouds优秀代码解析作者:nimitz,网址:https://www.shadertoy.com/view/3l23Rh标签:procedural, 3d, fast, volumetric(程序,3d,快速,体积)Technical details:主要的体积噪声是由一个变形的周期网格(periodic grid)产生的,它可以以非常低的计算成本产生大范围的noise-like patterns。允许多次取体梯度计算,以改善照明。进一步加速March,因为volume is

2021-06-11 10:55:03 262

原创 ShaderToy技术收藏:无三角函数噪声

Hash without SinePS:无三角函数版,这些大佬都不待见三角函数,我也要,虽然我菜// 1 out, 1 in...float hash11(float p){ p = fract(p * .1031); p *= p + 33.33; p *= p + p; return fract(p);}//---------------------------------------------------------------------------

2021-06-11 10:36:12 271

原创 Abstract Travel代码解析

Abstract Travel作者:Shane,网址:https://www.shadertoy.com/view/MlXSWXTags:Noise,tunnel,triangle,abstract简介:利用Shadertoy用户Nimitz的三角噪声思想及其曲率函数来伪造一个抽象,平面阴影,点光源的网状外观。个人收获:Image​ 首先是进行常规的坐标变换,以及相机的起始位置和目标位置的设置,然后在相机前后设置了两个点光源,然后使用这些值的Z值扰动他们的XY平面:这里的扰动函数path使用

2021-06-11 10:34:13 199 4

原创 Analytic Normals 3D代码解析

Analytic Normals 3D代码解析作者:iq,网址:https://www.shadertoy.com/view/XttSz2标签:3d, noise, normals, analytical, numerical总共一个部分:Image照相机设置这个比较常见,就是简单的照相机旋转和矩阵获取// camera animfloat an = 0.1*iTime;vec3 ro = 3.0*vec3( cos(an), 0.8, sin(an) );vec3 ta = vec3(

2021-06-11 10:31:51 229 1

原创 Faster atmospheric scattering

Faster atmospheric scattering作者:16807,网址:https://www.shadertoy.com/view/3dBSDW代码规范设置和一些常量、类#ifdef GL_ES#define _in(T) const in T#define _inout(T) inout T#define _out(T) out T#define _begin(type) type (#define _end )#define mul(a, b) (a) * (b)#en

2021-06-11 10:30:25 125 1

原创 Volumetric Integration(体积渲染——烟雾)

VolumetricIntegration作者:SebH,网址:https://www.shadertoy.com/view/XlBSRz关键词:体积渲染、参与介质介绍:这里有一个演示,介绍了带有阴影的single体积渲染。我还加入了我在SIGGRAPH 15演讲中提出的改进的散射积分。关于我开发的Frostbite新的体积测量系统。见幻灯片28,网址是http://www.frostbite.com/2015/08/physically-based-unified-volumetric-rend

2021-06-11 10:28:33 866 2

原创 Mystery Mountains

Mystery Mountains作者:Dave_Hoskins,网址:https://www.shadertoy.com/view/llsGW7核心// Add texture layers of differing frequencies and magnitudes...#define F +texture(iChannel0,.3+p.xz*s/3e3)/(s+=s) ...t = F F F F F F F F;类似随机布朗函数的过程,不过这里我们进行采样的,不是某个噪声函数,而

2021-06-11 10:15:01 85

原创 RealTimeRender 第五章笔记

Chapter 5——Shading Basic文章目录Chapter 5——Shading Basic1. Shading Models2. Light Sources3. Implementing Shading Models4. Aliasing and Antialiasing4.1 Antialiasing Patterns5.Transparency, Alpha, andCompositing5.1 Blending Order5.2 Order-Independent Transparen

2021-01-07 19:58:05 278 1

北航专硕课程资料汇总

包含:PPT、历年考试卷子等,不是考研,而是研究生课程资料

2021-01-02

北航研究生程序语言设计大作业

2020年B卷100分优秀作业

2021-01-02

华中大编译原理课程设计

实现了目标代码生成,实现了数组、自增、循环、结构体、函数

2021-01-02

北航研究生程序数理统计大作业1+2

适合于研究生作业参考

2021-01-02

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除