UE材质与渲染
文章平均质量分 90
UE材质与渲染
YakSue
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
AI教我UE渲染-学习笔记(8):StaticMesh渲染数据初步学习
StaticMesh渲染数据初步学习原创 2026-04-11 15:11:05 · 586 阅读 · 0 评论 -
AI教我UE渲染-学习笔记(7):PS输出到多个RT
让PS输出到多个RT原创 2026-04-04 23:22:36 · 427 阅读 · 0 评论 -
AI教我UE渲染-学习笔记(6):启用深度缓冲
根据之前AI建议的短期内的学习路线,上一篇已经画了一个3D三角形了。下一篇就是要引入深度缓冲了,同时需要画两个有遮挡关系的三角形来验证深度缓冲是有效的。原创 2026-04-04 11:04:08 · 566 阅读 · 0 评论 -
AI教我UE渲染-学习笔记(5):测试画一个3D三角形
在AI的建议下,下面我将画一个3D空间的三角形,借助 ViewProjectionMatrix(视图投影矩阵)的力量进入3D世界。原创 2026-03-31 22:56:13 · 513 阅读 · 0 评论 -
AI教我UE渲染-学习笔记(4):测试新写个全屏复制贴图的shader与pass
测试新写个全屏复制贴图的shader与pass原创 2026-03-21 00:09:03 · 377 阅读 · 0 评论 -
AI教我UE渲染-学习笔记(3):AddDrawTexturePass
AddDrawTexturePass相关学习原创 2026-03-15 10:58:10 · 409 阅读 · 0 评论 -
AI教我UE渲染-学习笔记(2):使用SceneTextures
上一篇《AI教我UE渲染-学习笔记(1):清理视窗RT》中我直接操纵的是 ViewFamily.RenderTarget,这是最后显示在视窗上的RT。而原版的Render过程实际上是不断地操纵中间场景纹理即FSceneTextures的,最后才将结果显示到ViewFamily.RenderTarget上。本篇我想仿照类似的过程,即创建并清空SceneTextures,最后拷贝到ViewFamily.RenderTarget上。原创 2026-03-12 08:58:39 · 406 阅读 · 0 评论 -
AI教我UE渲染-学习笔记(1):清理视窗RT
文章摘要 本文记录了从零开始学习UE渲染流程的过程。首先通过添加暗蓝色清除视窗的代码,成功初始化了渲染画面。接着探讨了RDG(Render Dependency Graph)的基本概念,将其比作"施工图+工头"的组合。文章还分析了FSceneViewFamily的结构和作用,以及ViewFamily在代码中的设置过程。对于TryCreateViewFamilyTexture函数,作者通过与AI交流确认其实际功能是登记已有纹理而非创建新纹理。最后,通过AddClearRenderTarge原创 2026-03-08 21:04:46 · 462 阅读 · 0 评论 -
AI教我UE渲染-学习笔记(0):起点
本文记录了作者利用AI工具学习UE渲染技术的探索过程。作者从UE的核心渲染函数FDeferredShadingSceneRenderer::Render入手,通过AI辅助创建了一个简化版本Render_Learning,并实现了通过CVar开关切换新旧版本的功能。实验发现,使用空白渲染函数时画面不再更新但UI仍正常工作,说明界面渲染可能不在该函数内。这为后续深入研究渲染流程奠定了基础,作者计划继续探索视窗RT清理等具体渲染步骤。原创 2026-03-08 21:03:34 · 289 阅读 · 0 评论 -
观察RenderDoc截帧UE时“Event”代表什么
RenderDoc 的 Event Browser 窗口是观察渲染流程的最基础方式。其中包含着绘制出当前这一帧按时间顺序所经历的事件(Event)。本篇想弄明白在截帧UE的时候,这些“Event”代表什么,或者说来源是什么。原创 2025-03-20 22:12:37 · 827 阅读 · 0 评论 -
翻译UE官方文档:Graphics Programming Overview
翻译官方文档(此文档官方提供中文版,而我这里再翻译一遍的原因:一是原版翻译有些用语我不习惯,可能有些意思没能准确传达给我;二是我想自己再翻译一遍可以让我看得更仔细。注意:虽然这个文档来源于5.2版本,但内容好像很多是过时的,比如DrawingPolicy。所以现在只能学习个思路,代码细节很多都不能参考了,很可惜。翻译 2023-07-03 17:44:40 · 2279 阅读 · 0 评论 -
学习在UE中为截屏工具(SceneCapture)添加一种新的源(Source)
本篇的目标是添加一种新的 Capture Source 。需要对引擎的代码和shader文件做些修改。原创 2022-12-10 15:54:37 · 3852 阅读 · 0 评论 -
尝试使用RenderDoc查看UE的Shader代码
尝试在UE中用RenderDoc截帧,并看到可读的shader代码原创 2022-06-12 15:40:51 · 5617 阅读 · 1 评论 -
尝试在UE的材质节点中进行高斯模糊
0. 高斯模糊基础高斯模糊的原理已有很多文章介绍。实践上讲,就是对图像做一个卷积(通俗讲,就是采样相邻的几个像素并乘算上对应的权重)。我这里想采用的卷积核是5×5的(数据来自于这里的讨论):{ 0.01, 0.02, 0.04, 0.02, 0.01, 0.02, 0.04, 0.08, 0.04, 0.02, 0.04, 0.08, 0.16, 0.08, 0.04, 0.02, 0.04, 0.08, 0.04, 0.02, 0.01, 0.02, 0.04, 0.02, 0.0原创 2021-12-19 00:31:12 · 14065 阅读 · 2 评论 -
在UE中做一个用材质来处理贴图的蓝图工具
目标做一个蓝图工具,对于一个输入图像,可以使用材质中的逻辑将计算后的图像输出。0. 创建一个蓝图这里我选择创建 Editor Utility Blueprint 型蓝图,因为它提供了一个右键就能执行命令的菜单,我觉得很方便。选择EditorUtilityObject作为父类,它是一个较为基础的类。创建后可以右键看到能执行命令的菜单:它执行的就是Run函数,可以在蓝图中重载它:比如连接一个打印一个 Hello现在再右键菜单中执行命令的时候就可以看到打印Hello。1. 创建Ren原创 2021-12-08 23:37:06 · 4117 阅读 · 0 评论 -
UE4材质节点的颜色分类
目标UE4的材质节点有各种颜色:这些颜色其实也是一种“信息”,它提示了节点本身的一种“类别”。本篇的目标是:观察代码中决定材质节点颜色的逻辑总结出各个颜色所代表的类别找到决定颜色的逻辑在哪下面我们先观察代码中,决定材质节点颜色的逻辑在哪。在UE4中,一个图表节点由一个UEdGraphNode表示,而它对应的界面控件由一个SGraphNode表示,这在之前的博客【UE4编辑器扩展】学习图表编辑器(UEdGraph):节点外观(SGraphNode) 中也有讨论。对于材质节点来说:原创 2021-02-11 20:07:51 · 9470 阅读 · 0 评论 -
翻译《Unreal Engine 4 Rendering Part 5: Shader Permutations》
译者前言原文:Unreal Engine 4 Rendering Part 5: Shader Permutations | by Matt Hoffman | Medium作者:Matt Hoffman @LordNed已经在Twitter上联系作者并获得允许。permutation 太多了如前所述,虚幻对于一个给定的Shader/材质会编译多个 permutations(组合),以便可以处理不同的用法。当一个材质被改变时,虚幻会搜索Shader所使用的.ush/.usf文件,然后重新加载(re翻译 2021-01-15 23:56:44 · 2138 阅读 · 0 评论 -
翻译《Unreal Engine 4 Rendering Part 4: The Deferred Shading Pipeline》
译者前言原文:Unreal Engine 4 Rendering Part 4: The Deferred Shading Pipeline | by Matt Hoffman | Medium作者:Matt Hoffman @LordNed已经在Twitter上联系作者并获得允许。延迟渲染的BasePass在本系列的第3部分中,我们完成了对C++这边事情的研究,现在终于准备好看看在GPU上一切是如何工作的了。我们将会更深入地研究一下:Vertex Factory 是怎样控制对常规BaseP翻译 2021-01-11 00:52:41 · 2617 阅读 · 0 评论 -
翻译《Unreal Engine 4 Rendering Part 2: Shaders and Vertex Data》
这个是《Unreal Engine 4 Rendering》系列的原文第2部分。不过是我翻译的第1篇,因为原文第1部分是介绍,相对而言我觉得这一篇优先级更高,且本篇在不看前一部分的情况下也影响不大翻译 2021-01-09 16:43:32 · 2763 阅读 · 0 评论 -
实验比较材质节点中“ActorPosition”和“ObjectPosition”的区别,并观察其值是如何在代码中设置的
目标我注意到比较如何在材质中得到实验观察材质节点是什么使用什么compile找到hlsl的代码搜索shader代码找到这个uniformbuffer怎么传在C++中怎么原创 2020-12-03 23:08:03 · 4426 阅读 · 0 评论 -
用C++扩展一个UE4材质节点
目标简单观察材质节点(UMaterialExpression)的C++代码尝试扩展一个UE4材质节点自定义材质节点逻辑UMaterialExpression在插件中扩展一个UE4材质节点0. 创建插件1.原创 2020-12-01 23:59:57 · 3434 阅读 · 1 评论
分享