自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(158)
  • 资源 (178)
  • 收藏
  • 关注

原创 UE4 World, Level, LevelStreaming从入门到深入

两种模式本质都属于关卡流送技术,但实现逻辑不同:传统流送依赖显式的手动配置,而World Composition通过层级化和自动化简化了大世界管理。开发者可根据项目规模选择,甚至混合使用(如在大世界中嵌套局部手动流送)以实现灵活的场景构建。

2025-03-09 22:48:25 1066

原创 UE5.5 PCGFrameWork--GPU CustomHLSL

用户自定义函数,如何生成各种分形点云,各种自定义几何形状分布的点云等等。

2025-02-10 02:02:35 988 1

原创 UE5.5 PCGFrameWork使用入门

UE5.5PCGFrameWork从使用到原理深入。UE5.5PCGFrameWork从使用到原理深入。

2024-12-09 00:07:14 1037

原创 UE5.5 Geometry库平面切割原理分析

平面定义: 面上一个点 + 法线算法流程如下。

2024-12-08 23:58:02 436

原创 UE5.5 Geometry库的空间加速结构--AABBTree

AABB 树(Axis-Aligned Bounding Box Tree)是一种在计算机图形学、计算机游戏、机器人运动规划、碰撞检测等领域广泛应用的数据结构,用于高效地处理几何对象之间的空间关系,尤其是碰撞检测方面。是一个简单的几何概念,它是一个长方体(在二维空间中是矩形),其各边分别与坐标轴平行。对于一组几何对象(如三维模型中的多个三角形面片组成的物体),可以找到一个刚好能包围这些对象的 AABB,这个 AABB 能简单且快速地描述这些对象在空间中的大致位置和范围。

2024-12-03 01:14:37 1260

原创 清华计算几何--2D Polygon的三角剖分(triangulation)

一个N个顶点的Polygon最多需要N/3的哨点扫描整个画廊。简单多边形: 非相邻边不相交. 简单多边形也叫做Jordan polygon简单多边形案例(包含有洞和无洞)非简单多边形案例简单Polygon的三个邻接顶点构成的,并且完全位于Polygon的三角形称为Ear. 还有其他两种类型三角形, 分别称为Mouth和Dirty. 本文重点研究Ear.由沿着同一条线的两条单调链(左链和右链)构成的多边形就是单调多边.用Stack结构保存扫描点.

2024-10-21 00:56:23 968

原创 清华计算几何--凸Polygon的相交问题

本节只讨论凸Polygon的问题,不涉及凹Polygon.相交包含了边相交和完全包含。

2024-09-09 02:03:32 838

原创 清华计算几何-线段求交与BO算法

给定单边轴下, N定线段,检查出相交的线段.

2024-08-26 01:16:31 1211 1

原创 清华计算几何-ElementUniqueness, MinMap, MaxGap

给出一组数给出一组数据,, 判断每个数都是唯一性的或者说判断是否存在重复的.算法思路很简单, 快速排序 + 遍历判断: Max(O(nlogn) + O(n)) = O(nlogn)算法复杂度。

2024-08-04 19:33:40 354

原创 清华计算几何-算法LowBound和ConvexHull(凸包)-GrahamScan

算法求解复杂度是否存在一个最低界限,有时候想尽一切办法优化一个算法,去优化其复杂度,比如算法复杂度依次到: O(n4), O(n3), O(n2)一直优化下去能最低到哪个复杂度,有时候不好直接估算出。有个比较好的办法是从经典算法(比如排序)中,找到此算法和经典算法的等价转换。如果此算法和经典算法等价,则此算法的LowBound也是经典算法的LowBound。就是: 假设A为经典算法, 已经知道其算法复杂度。

2024-07-28 14:47:41 722

原创 清华计算几何-ConvexHull(凸包)-JarivsMarch

在未排序的几何中求出最大的元素添加到已排序几何的末尾.

2024-07-21 22:37:17 1008

原创 清华计算几何-ConvexHull(凸包)-增量构造

分别介绍了EP(extremity point)和ED(extremity edge)求凸包的算法, 算法复杂度分别为O(n4)和O(n3). 这两种算法都是从一个集合里现存数据直接暴力求解出凸包.增量构造的思路可以帮助我们进一步优化算法复杂度, 基本思路是:一个个元素添加, 看每步的增量是否满足凸包要求.和插入排序的理念相似.

2024-07-20 15:19:53 996

原创 清华计算几何-ConvexHull(凸包)-求极点InTriangle/ToLeft Test

凸包是计算几何一个非常基础核心的概念。我理解的凸包就是给定一个点集合, 最外围的点的包围体就是凸包。

2024-07-14 22:20:48 951

原创 清华计算几何-ConvexHull(凸包)-求极边

给定一个点集, 求出最外围的点所形成的几何, 就是凸包。如下所示凸包在计算几何是一个非常基础和核心的一个概念, 很多几何计算算法都围绕凸包展开。

2024-07-14 01:34:42 693

原创 C++访问Private,Protecd,const修改值的一些方法总结

上面一个类所有变量都是Private, 并且存在一个Public模版函数, 这时候就可以通过模版函数特化来进一步访问。有段宏代码可以快速定义访问具体某个类的某个Proteced变量的代码,比较好用, 推荐进这篇博客里拷贝使用.这种访问Private办法最大的限制是类本身得存在Public模版函数.Protected变量访问比较常用的一种方法是用过定义母类方法来访问。

2024-06-15 22:15:17 579

原创 (UE4.26)UE4的FArchive序列化入门

序列化(Serialize)和反序列化(UnSerialize)是程序领域常见的概念。对于这两个词汇我理解的是序列化(Serialize): 变量值(等基本类型, 或者ArrayMap,或者更复杂的复合体)存储为一个文件(二进制流, 二进制文件, json, xml等格式)。反序列化(UnSerialize): 读取文件来复原变量值。UE4的序列化一个比较核心类是FArchive, 这个类定义了对大部分基础变量类型的序列化和反序列化接口。

2024-06-08 01:13:26 2099

原创 Houdini的PythonScript基本使用

Houdini的节点基础类型为OpNode, 子类型分为ObjNode, SopNode, LopNode等.这节主讲。

2024-06-01 23:14:40 1765

原创 UStaticMesh几何数据相关(UE5.3)

总体上概念和Houdini的一些几何概念相似,每种几何元素都可以附带属性,比如点的“Position”, 顶点的“Normal,UV”等等。下面介绍下如何获取Mesh元数据和相关属性。

2024-05-13 23:50:20 1286 2

原创 UE引擎 LandscapeGrass 实现机制分析(UE5.2)

材质Grass采样层配置显示结果。

2023-12-11 00:53:40 1462 3

原创 UE地形系统材质混合实现和Shader生成分析(UE5 5.2)

随着电脑和手机硬件性能越来越高,游戏越来越追求大世界,而大世界非常核心的一环是地形系统,地形系统两大构成因素:高度和多材质混合,此篇文章介绍下UE4/UE5 地形的材质混合方案----基于WeightMap混合。

2023-11-12 22:44:13 3172

原创 UE5 Profile 内存

UE5 提供了多种Profile内存(Mempry)的手段。

2023-07-12 00:01:39 3201 2

原创 UE5.2 Mobile安卓游戏 Graphics Profile工具使用总结

Android游戏Profile 图形帧的常用工具有: snapdragon profiler, renderdoc,(1)opengl es3.1/3.2或者vulkan(2)UE5 Android 打Debug包(3)USB连接电脑的设置:手机连接电脑,开启USB传输文件模式,开启开发者模式,打开USB调试模式,打开允许USB安装,打开启动GPU调试层下载地址:Snapdragon Profiler - Qualcomm Developer Network打开snapdragon profilerSta

2023-06-29 03:59:30 1944

原创 (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 1997

原创 Unity Nsight Graphcis 使用

在渲染Profile中,大家经常喜欢使用Renderdoc软件, 之前我的一篇博客也介绍Renderdoc Profile渲染的流程Renderdoc适合查看Draw哪一步出差了,导致效果不符合理想,又或者是非常粗糙估算某次Drawcall的消耗时间。但是Renderdoc有个非常严重的缺点,无法具体查看某次DrawCall具体瓶颈, 比如具体消耗瓶颈是在VertexShader, 还是PixelShader,消耗瓶颈在Shader的哪一步计算,这些Renderdoc是无法查看的。

2023-05-06 04:04:25 2535

原创 Unity实现GPU Cull渲染

前言在网上看到不少有关于UE4 生成Texture的教程,但是有些可以成功生成,有些生成失败,有些是创建无法持久保存的Texture或者说是关掉编辑器重启后就变黑的Texture等等。

2023-05-05 02:38:24 2269

原创 UE4引擎的CopyTexture, CopyToResolveTarget

在图形渲染各种算法上,特别是对2D纹理的处理上,经常出现一种情况,我们需要将一张纹理的一部分拷贝到另外一张纹理上。如下所示UE4提供了CopyTexture和CopyToResolveTarget来实现拷贝一张纹理一部分到另外一张纹理上的类似功能。......

2022-07-19 01:59:38 3241 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 1474

原创 UE5引擎 PC端的Landscape渲染浅分析

游戏目前发展趋势是大世界,而大世界必不可少的元素是大地形,UE引擎从地形系统有完善的渲染管线和工具链。

2022-07-04 00:44:37 4913

原创 UE5 切换到DX12模式,并输出D3DDebug信息

切换到Debug模式DebugEditor或者DebugGameEditor模式设置项目的命令行信息在uproject后加 -dx12, -d3ddebug, -onethread之后UE5引擎发生RHI层的错误信息会自动输出到 “Output(输出)”窗口

2022-05-24 23:53:15 1242

原创 (UE4 4.27)UE4的Texture生成和原理浅分析

UE4的Texture使用分析UE4的Texture使用分析UE4的Texture使用分析

2022-04-10 18:25:22 6183 2

原创 (UE4 4.27) UHierarchicalInstancedStaticMesh(HISM)原理分析

UE4 UHierarchicalInstancedStaticMesh剔除原理分析UE4 UHierarchicalInstancedStaticMesh剔除原理分析UE4 UHierarchicalInstancedStaticMesh剔除原理分析

2022-04-08 02:24:07 9092 2

原创 地形渲染之四叉树(QuadTree)

地形的四叉树对象为一个地形,如下面所示:这里我们利用四叉树进行对地形进行分割,在此之前我分享两篇关于四叉树的技术博客:四叉树与八叉树和四叉树。这里我们以地形的三角形数量为条件进行四叉树的构建,如下面图所示:当然这里仅仅是一个类比,最终进行空间分区可能得到1块,也可能是4块,也可能是16块,也可能是64块,等等等。。。。。其实这取决于...

2022-04-06 00:40:51 3410 1

原创 UE4性能Profile的各种方式

Profile渲染阶段时间--stat scenerendering在RenderCore(.h,.cpp)声明定义profile字段,加入到局部函数,可以通过stat scenerendering指令来打印出相应时间

2022-03-20 01:33:23 2970

原创 UE4 4.27打包安卓手机

设置安卓开发环境安装Android Studio在https://developer.android.com/studio/archive官网下载Android Studio, UE4 4.27 下推荐记得下载Android Studio 4.0下载好了以后一路Next安装, 记得自己安装的路径第一次使用设置Android Studio在 Verify Settings对话框,记得你安装的JDK位置设置安装NDK在引擎的安卓目录点击SetupAndroid.bat...

2022-03-12 01:44:42 774

原创 RenderDoc Debug UE4 Shader

修改配置文件UnrealEngine\Engine\Config\ConsoleVariables.inir.Shaders.Optimize=0r.Shaders.KeepDebugInfo=1下载Renderdoc和开启Renderdoc插件F12按键截帧Debug PixelShader鼠标右键选取像素,点Debug进入PixelShader 代码Debug ComputeShader选取Dispatch的时候点击Debug...

2022-02-28 23:34:42 2307 1

原创 UE4 4.27 修改Mobile Forward管线支持Cluster多光源剔除

前言最近闲着没事想熟悉下UE4的图形模块(差不多算第一次碰这玩意),自己想寻找个需求,目前UE4 4.27的 Mobile Forward是不支持多光源的,默认是最大支持到4栈点光源. 于是,我萌发了一点想法,通过改造UE的Mobile Forward管线支持多光源剔除.分析UE MobileForward 的多点光源实现看下MobileBasePassPixelShader.usf的文件,你会发现是UE是“手动”多光源实现,硬编码最大4个点灯光。如下所示所以想支持多光源,后续必

2022-02-25 02:19:49 3782 4

原创 (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 5765

原创 (UE4 4.27)自定义PrimitiveComponent

(UE4 4.27)自定义PrimitiveComponent(UE4 4.27)自定义PrimitiveComponent(UE4 4.27)自定义PrimitiveComponent

2021-10-29 02:07:51 4959 2

原创 (UE4 4.27)插件添加GlobalShder

前言在上一节我们大致介绍了UE4 GlobalShader的情况, 并且在引擎代码做了一些修改来阐述GlobalShader的声明-定义-使用。实际上在UE4开发中, GlobalShader不一定使用在修改引擎代码,也可能是用在插件, 比如LensDistortion插件就是使用GlobalShader定制一个RenderToTexture的功能。当然在插件中,GlobalShader的使用场景不仅仅局限于RenderToTexture, 可以ComputeShader等等来加速某些并行计算(如基于G

2021-10-15 00:55:07 1432 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 3557 1

DX11_CSM_OPT.rar

DX11_CSM_OPT.rar 代码

2018-02-08

DX11_CascadeShadowMap

DX11_CascadeShadowMap

2018-02-08

Directx11_CSM.rarDirectx11_CSM.rarDirectx11_CSM.rar

Directx11_CSM.rarvvDirectx11_CSM.rarDirectx11_CSM.rarDirectx11_CSM.rar

2018-01-23

Directx11_Basic.rarDirectx11_Basic.rarDirectx11_Basic.rar

Directx11_Basic.rarDirectx11_Basic.rarDirectx11_Basic.rarDirectx11_Basic.rar

2018-01-23

123.rar123.rar123.rar

123.rar123.rar123.rar123.rar123.rar123.rar123.rar123.rar123.rar

2017-12-19

OpenGL3.3_CascadeShadowMap1.rar

OpenGL3.3_CascadeShadowMap1.rar OpenGL3.3_CascadeShadowMap1.rar OpenGL3.3_CascadeShadowMap1.rar

2017-12-10

OpenGL_PBR+IBL+Specular+Texture1

OpenGL_PBR+IBL+Specular+Texture.rar OpenGL_PBR+IBL+Specular+Texture.rar OpenGL_PBR+IBL+Specular+Texture.rar

2017-11-19

OpenGL3.3_PBR+IBL_Specular-NoTexture.rar

OpenGL3.3_PBR+IBL_Specular-NoTexture.rar OpenGL3.3_PBR+IBL_Specular-NoTexture.rar

2017-11-18

OpenGL3.3_PBR_IBL_Diffuse.rar

OpenGL3.3_PBR_IBL_Diffuse.rarOpenGL3.3_PBR_IBL_Diffuse.rarOpenGL3.3_PBR_IBL_Diffuse.rar

2017-11-12

OpenGL3.3_IBL_Diffuse_Equireutangular1.rar

OpenGL3.3_IBL_Diffuse_Equireutangular1.rar OpenGL3.3_IBL_Diffuse_Equireutangular1.rar OpenGL3.3_IBL_Diffuse_Equireutangular1.rar

2017-11-12

OpenGL3.3_IBL_Diffuse_Equireutangular.rar

OpenGL3.3_IBL_Diffuse_Equireutangular.rarOpenGL3.3_IBL_Diffuse_Equireutangular.rarOpenGL3.3_IBL_Diffuse_Equireutangular.rar

2017-11-12

OpenGL3.3_PBR_TEXTURE.rar

OpenGL3.3_PBR_TEXTURE.rarOpenGL3.3_PBR_TEXTURE.rarOpenGL3.3_PBR_TEXTURE.rar

2017-11-06

OpenGL3.3_PbrNoTexture.rar

OpenGL3.3_PbrNoTexture.rarOpenGL3.3_PbrNoTexture.rarOpenGL3.3_PbrNoTexture.rarOpenGL3.3_PbrNoTexture.rar

2017-11-06

Directx11_SSAO.rar

Directx11_SSAO.rar Directx11_SSAO.rar Directx11_SSAO.rar Directx11_SSAO.rar

2017-10-31

OpenGL3.3_ShadowCubeMap_NoGeometry.rar

OpenGL3.3_ShadowCubeMap_NoGeometry.rarOpenGL3.3_ShadowCubeMap_NoGeometry.rarOpenGL3.3_ShadowCubeMap_NoGeometry.rar

2017-10-29

OpenGL3.3_Shadow_PointLight.rar

OpenGL3.3_Shadow_PointLight.rar OpenGL3.3_Shadow_PointLight.rar OpenGL3.3_Shadow_PointLight.rar OpenGL3.3_Shadow_PointLight.rar

2017-10-23

OpenGL3.3_ShadowMap_PCF.rar

OpenGL3.3_ShadowMap_PCF.rarOpenGL3.3_ShadowMap_PCF.rarOpenGL3.3_ShadowMap_PCF.rarOpenGL3.3_ShadowMap_PCF.rar

2017-10-22

OpenGL3.3_Ssao.rar

OpenGL3.3_Ssao.rar OpenGL3.3_Ssao.rar OpenGL3.3_Ssao.rar OpenGL3.3_Ssao.rar OpenGL3.3_Ssao.rar OpenGL3.3_Ssao.rar OpenGL3.3_Ssao.rarv OpenGL3.3_Ssao.rar OpenGL3.3_Ssao.rar OpenGL3.3_Ssao.rar

2017-10-20

OpenGL3.3_DefferShading.rar

OpenGL3.3_DefferShading.rar OpenGL3.3_DefferShading.rar OpenGL3.3_DefferShading.rar OpenGL3.3_DefferShading.rar

2017-10-14

OpenGL3.3_Bloom.rar

OpenGL3.3_Bloom.rar

2017-10-13

UE4 FFT Ocean

UE4 FFT Ocean

2022-10-11

UE4测试CopyTexture和CopyToResolveTarget的代码

UE4测试CopyTexture和CopyToResolveTarget的代码

2022-07-19

UE4的自定义ScreenPass和MRT输出

UE4的自定义ScreenPass和MRT输出

2022-07-10

hdk_Dijkstra_Find_Path

hdk_Dijkstra_Find_Path

2021-12-06

CustomRenderComponent.zip

CustomRenderComponent.zip

2021-10-30

CustomRenderComponent.rar

UE4的定制渲染八面体的Mesh

2021-10-29

TestShader.rar

UE4 GlobalShader插件

2021-10-15

terrain_type1.hda

terrain_type1.hda

2021-09-14

step.hip 程序化螺旋梯子生成

step.hip 程序化螺旋梯子生成

2021-08-31

TestFreeImage.zip

TestFreeImage.zip

2021-05-23

DijkstraAndAstar.rar

c++实现Dijkstra和Astar.算法c++实现Dijkstra和Astar.算法c++实现Dijkstra和Astar.算法

2020-09-25

PathFind.rar

用C++代码实现了A*算法和Dijkstra算法。

2020-06-16

generatorAllocator.rar

generatorAllocator

2019-11-19

PoolAllocator.cpp

PoolAllocator池分配器PoolAllocator池分配器PoolAllocator池分配器

2019-10-14

StackAllocator(堆栈分配器)

游戏内存管理一之StackAllocator(堆栈分配器)

2019-10-11

DX11_DOF

DX11_DOFDX11_DOFDX11_DOFDX11_DOFDX11_DOFDX11_DOFDX11_DOFDX11_DOF

2018-04-19

D3D11_LoadFBX.rarD3D11_LoadFBX.rarD3D11_LoadFBX.rarD3D11_LoadFBX.rar

D3D11_LoadFBX.rarD3D11_LoadFBX.rarD3D11_LoadFBX.rar

2018-04-16

AdvanceMotionBlur

AdvanceMotionBlurAdvanceMotionBlurAdvanceMotionBlurAdvanceMotionBlur

2018-03-26

zyh-code-review.rar

zyh-code-review.rarzyh-code-review.rarzyh-code-review.rarzyh-code-review.rar

2018-03-12

计算机图形学书籍.PRT计算机图形学书籍.prt计算机图形学书籍.prt计算机图形学书籍.prt计算机图形学书籍.prt

计算机图形学书籍.PRT计算机图形学书籍.PRT计算机图形学书籍.PRT计算机图形学书籍.PRT

2018-03-09

空空如也

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

TA关注的人

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