UE4 RHI与条件式编译】的更多相关文章

RHI即RenderHardwareInterface, 即渲染硬件接口, 是UE为实现跨平台而实现的一套API. 每个RHI接口都为OpenGL, Vulkan, DX11等做了不同的实现. 在引擎初始化时使用的绘图接口就已经确定, 引擎就可以确定RHI所使用接口的版本. 针对于不同的绘图API(DX11, DX12, OpenGL, Vulkan乃至于Metal), 会有不同的FRHICommandContext类对RHI方法做不同的实现(以RHIDrawIndexedPrimitive方法…
UE4中的RHI指的是Render hardware interface,作用像Ogre里的RenderSystem,针对Dx11,Dx12,Opengl等等平台抽象出相同的接口,我们能方便能使用相同接口对应不同渲染平台. 和以前一样,先简单介绍一些类与文件的作用,我们有个抽象的了解. RHI.h :主要定义一些硬件平台的公共变量. 一是 硬件支持项,如是否支持PF_FloatRGBA格式渲染目标,手机平台是否支持FrameBuffer拾取,支持体纹理,支持硬件合并渲染等等. 二是 硬件变量,如…
以 Character 类为例,假设有 PacManCharacter 派生自 Character类首先在 PacManCharacter.h 头文件中添加碰撞函数的声明: OnCollision 为自定义的碰撞函数,名称可以任意,但参数形式必须满足以下条件 UFUNCTION() void OnCollision(class AActor* OtherActor, class UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool…
在上篇简单说明RHI的作用后, 我们在引擎中探索一下RHI的种种细节与实现. 在解决方案资源管理器中搜索RHI, 会有这些文件: (1)对应不同运行平台的PlatformDynamicRHI.cpp(上篇有提到, 主要进行硬件接口创建前的配置并创建不同绘图接口对应的RHI). 由于目标平台在打包时就确定了, 在打包时会选择编译这些PlatformDynamicRHI.cpp中的一个, 而其他平台的.cpp会被绕过编译. (2)对应不同绘图接口的DynamicRHI. 可以看到有DX11, DX1…
1.首先我们需要注册一个Epic账户,网址如下 http://api.unrealengine.com/CHN/GettingStarted/Installation/index.html#bookmark1 2.创建GitHub账户 https://github.com/ 3.登录UE4社区点击个人 进入到个人之后点击连接的账户,之后在下面填写我们GITHUB的昵称(用户名),注意这里不是邮箱地址 绑定成功后会受到一封Epic的邮件,通知我们绑定成功 4.重新登录GitHub验证我们的邮箱地址…
UE4 基础,但是不经常用总是忘记,做个笔记加深记忆: 图方便就随便贴一个项目中的STRUCT和 Enum 的.h 文件 Note:虽然USTRUCT可以定义函数,但是不能加UFUNCTION 标签喔 USTRUCT(BlueprintType) struct FData_PageInfo { GENERATED_USTRUCT_BODY() FData_PageInfo(); FData_PageInfo(UChildActorComponent *parent_Com); void reIn…
在个人的Unrealengine账户中关联自己的GitHub账户成功之后,就可以访问UE4引擎的源码了. git clone -b release https://github.com/EpicGames/UnrealEngine.git 克隆成功后,执行Setup.bat拉取并安装外部依赖文件(第三方库.资源包.示例工程等),最后调用UnrealVersionSelector添加引擎到注册表并在资源管理器中添加引擎快捷菜单功能 "%EngineDir%\Engine\Binaries\Win6…
#include预处理命令几乎使我们在第一次接触C的时候就会碰到的预处理命令,可我现在还不怎么清楚,这次争取一次搞懂. 一.#include预处理指令的基本使用 预处理指令可以将别处的源代码内容插入到现在的位置,可以标识出某一段程序代码只有在特定条件下才会被编译. #include预处理指令告诉预处理器,将指定头文件的内容插入到预处理器指令的相应位置. 指定插入头文件有两种方式: #include <filename> #include "filename" 当要包含标准链…
使用了几天的UE4 ,总算是将游戏在安卓平台执行起来了.当中遇到非常多问题,而且终于依旧有一些问题没能解决. 整体感觉是UE4这款引擎眼下还不够成熟.问题较多. 没有unity使用起来方便. 可是既然开放了,发展必定迅猛.值得期待.其代码也值得游戏开发编程人员研究. 我们来看看详细步骤: 首先.编译出引擎.对于学习目的来说.从网上下载一份就够了,编译步骤简单的描写叙述一下:我们把下载的代码解压到指定的文件夹,包含UnrealEngine-4.*.*-release.7z,Required_1of…
本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/details/45644007 作者:cartzhang UE4制作插件的插件神器 本博文同步在:Galaxix动漫大陆UE4板块  看近来,很多使用UE4插件的同学,都苦恼于UE4插件,官方给了好多资料,但是还是无从下手啊. 下面这个是官方插件说明: https://docs.unrealengine.com/latest/INT/Prog…