Unreal Engine 4
文章平均质量分 80
子轩Q
游戏开发行业老司机,现就职于深圳某特大型砖厂
展开
-
UE4多线程任务系统详解
首先,了解一下该系统重要的数据类型.1. FQueuedThreadPool:虚基类,队列线程池, FQueuedThreadPoolBase继承自FQueuedThreadPool, FQueuedThreadPoolBase维护了一个TArray QueuedWork(需要被执行的工作), TArray AllThreads(所有的线程) TArray原创 2016-10-10 18:59:17 · 8365 阅读 · 0 评论 -
UE4 RHI浅析
RHI: Render hardware interface 渲染硬件层接口, 本人理解RHI是一套硬件无关,平台无关的图形渲染API. 它是如何做到与平台无关,与硬件无关的呢?每个RHI接口都对应着多个图形API的实现版本. 对于每个RHI接口,其实都有针对DX11,DX12,OpenGL等版本的实现。对于不同平台,引擎初始化的时候就已经确定要用哪一套图形API了。 之后,调原创 2016-10-24 19:52:32 · 9069 阅读 · 3 评论 -
UE3的各种viewport和client
转载自:http://www.cnblogs.com/wellbye/p/5366034.html名字里带viewport/client的类不少,以及相关的类:FViewportFrame、FViewportFViewportClient/UScriptViewportClient/UGameViewportClientUClient/UWindowsC转载 2016-10-14 17:54:43 · 1990 阅读 · 0 评论 -
UE4 ENQUEUE_UNIQUE_RENDER_COMMAND_ONEPARAMETER 宏
该宏非常重要, 其作用是: 创建一个渲染命令任务,并将该任务压入渲染队列,待渲染线程执行. 主要用于多线程渲染!#define ENQUEUE_UNIQUE_RENDER_COMMAND_ONEPARAMETER(TypeName,ParamType1,ParamName1,ParamValue1,Code) 等效于下面两个宏:#define ENQUEUE_UNI原创 2016-10-14 18:44:20 · 3729 阅读 · 0 评论 -
UE4 渲染线程执行任务的流程
先列出相关的类:FTaskGraphInterface: 虚基类,提供了一组管理和操作线程的接口.class FTaskGraphImplementation : public FTaskGraphInterface 该子类实现了基类的接口,在构造函数里创建了N个FRunnableThread和FTaskThreadBase.FTaskThreadBase:继承自F原创 2016-10-26 19:03:35 · 5074 阅读 · 0 评论 -
UE4渲染任务的产生及入队
渲染任务是如何产生并压入到渲染队列的呢还记得ENQUEUE_UNIQUE_RENDER_COMMAND_ONEPARAMETER宏吗,该宏的作用就是生成渲染任务并压入渲染队列。这是笔者知道的一种方式,应该还有其他方式。ENQUEUE_UNIQUE_RENDER_COMMAND_ONEPARAMETER宏展开后会得到下面的核心代码,它的作用是把创建任务并压入渲染队列:TG原创 2016-10-31 19:55:24 · 3888 阅读 · 1 评论 -
UE4 初始化流程
http://blog.csdn.net/flushthink/article/details/40295495自古以来所有的游戏引擎都分为三个大阶段:Init,Loop,Exit。UE4也不例外。首先找到带有入口函数的文件:Runtime/Launch/Private/XXXX/LaunchXXXX.cpp。Windows平台就将XXXX替换成Windows。转载 2016-11-29 11:48:59 · 4420 阅读 · 0 评论 -
FRenderCommandFence类
FRenderCommandFence用于game线程和渲染线程的同步,UE4最多允许game领先渲染线程一帧,也就是渲染线程跑第N帧的时候,game线程最多跑第N+1帧,这是因为game线程跑的太快没多大意义,还会耗光内存。因为game线程不断的产生数据传递给渲染线程,如果渲染线程消费数据远远慢于产生数据,就会有越来越多的数据存于内存中。先介绍一下FRenderCommandFence原创 2016-11-18 15:40:17 · 2024 阅读 · 0 评论 -
ue4 NewObject
出自:http://www.cnblogs.com/wellbye/p/5808894.htmlue4 NewObject/StaticConstructObject_Internal/StaticAllocateObject/FObjectInitializer:对象创建和初始化UObject是一套很复杂的体系,之前读ue3代码时曾分析过其类型系统实现,主要是与UClas转载 2016-12-06 14:53:20 · 11787 阅读 · 0 评论