UE4 RHI(2)】的更多相关文章

UE4中的RHI指的是Render hardware interface,作用像Ogre里的RenderSystem,针对Dx11,Dx12,Opengl等等平台抽象出相同的接口,我们能方便能使用相同接口对应不同渲染平台. 和以前一样,先简单介绍一些类与文件的作用,我们有个抽象的了解. RHI.h :主要定义一些硬件平台的公共变量. 一是 硬件支持项,如是否支持PF_FloatRGBA格式渲染目标,手机平台是否支持FrameBuffer拾取,支持体纹理,支持硬件合并渲染等等. 二是 硬件变量,如…
RHI即RenderHardwareInterface, 即渲染硬件接口, 是UE为实现跨平台而实现的一套API. 每个RHI接口都为OpenGL, Vulkan, DX11等做了不同的实现. 在引擎初始化时使用的绘图接口就已经确定, 引擎就可以确定RHI所使用接口的版本. 针对于不同的绘图API(DX11, DX12, OpenGL, Vulkan乃至于Metal), 会有不同的FRHICommandContext类对RHI方法做不同的实现(以RHIDrawIndexedPrimitive方法…
在上篇简单说明RHI的作用后, 我们在引擎中探索一下RHI的种种细节与实现. 在解决方案资源管理器中搜索RHI, 会有这些文件: (1)对应不同运行平台的PlatformDynamicRHI.cpp(上篇有提到, 主要进行硬件接口创建前的配置并创建不同绘图接口对应的RHI). 由于目标平台在打包时就确定了, 在打包时会选择编译这些PlatformDynamicRHI.cpp中的一个, 而其他平台的.cpp会被绕过编译. (2)对应不同绘图接口的DynamicRHI. 可以看到有DX11, DX1…
由于目前在使用UE4引擎,多少也有一些心得,比如在日常使用中会遇到一些问题.坑(潜规则)或者一些使用技巧等.本人决定开一个大坑,主要有两个目的:一是可以自己做个记录,二是可以给大家提供一些参考吧.主要包括两部分,第一部分主要是UE4的使用,这里面应该主要是我平常开发中遇到的问题,或者一些技巧等.第二部分主要是对UE4引擎部分源码或者架构的解读,当然这部分比较难写,因为它的代码量实在是太多,很难在较短的时间内吃透一个比较大的模块,但是我尽量会输出一些对大家有用的东西.当然这个系列不保证更新频率,一…
截至UE4  4.10 runtime 无法生成BSP类 ,只能通过自定义的Mesh的Vertex 进行绘制 ( Google 考证,能改UE4源码的请忽略 ) 可用到的 UE4 集成的Render Plugins : CustomMeshComponent ProceduralMeshComponent 以下是参考 参考文献: https://wiki.unrealengine.com/Procedural_Mesh_Generation https://answers.unrealengin…
最近在Unity上要写一个东东,功能差不多就是在Unity编辑器上的旋转,移动这些,在手机上也能比较容易操作最好,原来用Axiom3D写过一个类似的,有许多位置并不好用,刚好在研究UE4的源码,在模型操作上,很多位置都解决了,其实大家可以对比下,在UE4与Unity中,UE4的如移动和旋转都要正确和好用. 如下是根据UE4中简单移植过来的效果图,差不多已经够用,UE4相关源码主要在EditorViewportClient与UnrealWidget. 介绍一下这个组件主要功能. 1. 模型本地空间…
本文主要讲实现过程的一些坑. 先说下要实现的目标,主要功能在UE4/Unity中都要用,能同时捕获多个摄像头,并且捕获的图片要达到1080p25桢上,并且需要经过复杂的图片处理后丢给UE4/Unity3D,并且要CPU要占用小,以便在UE4/Unity有大的余地做更多的事件. 市面上一般1080p后的摄像头,在20桢以上都不会提供原生的rgba32数据,一般常见的有压缩格式mjpg,末压缩的一般是nv12,牛点的会提供yuv2,正常的实现会把内存流里的数据提供给对应的UE4/Unity3D,然后…
命令行在外部 从命令行运行编辑项目 1 导航到您的[LauncherInstall][VersionNumber]\Engine\Binaries\Win64 目录中. 2 右键单击上 UE4Editor.exe 的可执行文件,并选择创建快捷方式. 3 重命名该快捷方式,它会启动编辑器,即 MyProject 的- Editor.exe. 4 右键单击新创建的快捷方式并选择属性. 5 加入项目文件参数属性: [LauncherInstall][VersionNumber]\Engine\Bina…
http://blog.ch-wind.com/ue4-profiling-preview/ Profililng是成品制作过程中非常重要的一个步骤,通过Profiling才能提高运行效率使得作品达到用户能够运行从程度. UE4本身有提供用于Profiling的工具,但是要正确的将其用于优化却需要经过一些学习.在掌握基础之后,要很好的完成优化,需要的是更多的实践所累积的经验了. 本文的主要内容来自对Tech Art Aid的[Profiling系列视频]的总结和官方的[性能分析文档]. 不过由于…
目录 一.光线追踪概述 1.1 光线追踪是什么 1.2 光线追踪的特点 1.3 光线追踪的历史 1.4 光线追踪的应用 二.光线追踪的原理 2.1 光线追踪的物理原理 2.2 光线追踪算法 2.3 RTX和DXR 2.3.1 RTX(NV) 2.3.2 DXR(Microsoft) 三.UE4的光线追踪 3.1 UE4光线追踪的开启 3.2 UE4光线追踪的特性 3.2.1 光线追踪的阴影 3.2.2 光线追踪的反射 3.2.3 光线追踪的透明 3.2.4 光线追踪的环境光遮蔽 3.2.5 光线…