UE4/UE5 Rendering入门
文章平均质量分 89
UE4/UE5图形渲染入门, 主要是做笔记,记录UE4图形相关基础,为了方便抄代码,不会涉及太深入的UE4图形
带帯大师兄
图形编程,C++,UE4/UE5,Directx11/Directx12/Vulkan
展开
-
UE地形系统材质混合实现和Shader生成分析(UE5 5.2)
随着电脑和手机硬件性能越来越高,游戏越来越追求大世界,而大世界非常核心的一环是地形系统,地形系统两大构成因素:高度和多材质混合,此篇文章介绍下UE4/UE5 地形的材质混合方案----基于WeightMap混合。原创 2023-11-12 22:44:13 · 1500 阅读 · 0 评论 -
(UE5 5.2)HISM Mobile DrawInstance在渲染层的实现浅分析
在 (UE4 4.27) UHierarchicalInstancedStaticMesh(HISM)原理分析 这篇博客大致介绍HISM组件从游戏线程到渲染线程的重建KD-Tree和剔除并提交DrawCall逻辑,但是没有分析渲染层的大致数据结构和实现. 可以看出FHierarchicalStaticMeshSceneProxy 实际存储Instance数组数据来自于FInstancedStaticMeshSceneProxy FHierarchicalStaticMeshSceneProxy只是以FClu原创 2023-06-15 03:52:19 · 1481 阅读 · 0 评论 -
UE4引擎的CopyTexture, CopyToResolveTarget
在图形渲染各种算法上,特别是对2D纹理的处理上,经常出现一种情况,我们需要将一张纹理的一部分拷贝到另外一张纹理上。如下所示UE4提供了CopyTexture和CopyToResolveTarget来实现拷贝一张纹理一部分到另外一张纹理上的类似功能。......原创 2022-07-19 01:59:38 · 2330 阅读 · 2 评论 -
UE4引擎自定义ScreenPass和MRT输出
在前面的博客 (UE4 4.27)插件添加GlobalShder 中我们定义了一个GlobalShader来对一张RT进行后处理, 那篇博客还自定义VertexShader, PixelShader, 顶点格式, 顶点数组等等,其实这个只是作为案例教学,实际上在UE4引擎里对一张纹(多张)纹理进行后处理已经有内置的RenderPass, 它是ScreenPass。UE4默认为我们定义了FScreenVS和配套DrawRectangle函数,我们只需要轻松编写自己PixelShader,就可以进行后处理。..原创 2022-07-10 23:17:39 · 1133 阅读 · 0 评论 -
UE5引擎 PC端的Landscape渲染浅分析
游戏目前发展趋势是大世界,而大世界必不可少的元素是大地形,UE引擎从地形系统有完善的渲染管线和工具链。原创 2022-07-04 00:44:37 · 3498 阅读 · 0 评论 -
(UE4 4.27) UE4添加一次自定义的MeshPass实现移动端边缘发光
(UE4 4.27) UE4添加一次自定义的Mesh Render Pass(UE4 4.27) UE4添加一次自定义的Mesh Render Pass原创 2021-12-02 02:33:09 · 4846 阅读 · 0 评论 -
(UE4 4.27)自定义PrimitiveComponent
(UE4 4.27)自定义PrimitiveComponent(UE4 4.27)自定义PrimitiveComponent(UE4 4.27)自定义PrimitiveComponent原创 2021-10-29 02:07:51 · 3879 阅读 · 2 评论 -
(UE4 4.27)插件添加GlobalShder
前言在上一节我们大致介绍了UE4 GlobalShader的情况, 并且在引擎代码做了一些修改来阐述GlobalShader的声明-定义-使用。实际上在UE4开发中, GlobalShader不一定使用在修改引擎代码,也可能是用在插件, 比如LensDistortion插件就是使用GlobalShader定制一个RenderToTexture的功能。当然在插件中,GlobalShader的使用场景不仅仅局限于RenderToTexture, 可以ComputeShader等等来加速某些并行计算(如基于G原创 2021-10-15 00:55:07 · 1140 阅读 · 1 评论 -
(UE4 4.27)自定义GlobalShader
GlobalShader是什么我的理解是GlobalShader就是一个普通Shader, 只不过它存在一个全局Shader实例, 不和Mesh材质绑定, GlobalShader经常用于SinglePass, 如体积云, 各种可视化,全部的ComputeShaderPass都是用的GlobalShader.自定义GlobalShader添加C++ VertexShaderclass FMyVS : public FGlobalShader{ DECLARE_SHADER_TYPE原创 2021-09-30 23:09:23 · 2887 阅读 · 1 评论