序(为什么要抄unreal源码)

2023-11-11

unreal所有源码很长,几百万行,一辈子也抄不完。然而,ue4.0版本的runtime只有1887个文件,251043行(不算第三方库),可以只按照渲染相关部分抄写一下,

然后,逐版本增补,只需要关注渲染部分,和工作中用到的插件,还是可以的。
统计了一下,rhi(含注释47949行,纯代码35462行),rhicore(含注释3985行,纯代码2838行),renderer(含注释264440行,纯代码205227行)和RendererCore(含注释66807行,纯代码49492行)。总共381881行(含注释),纯代码是203019行,相当于一个中型引擎,是可以接受的。每天300行(含注释)就行了,三四年就可以抄完了。即使版本再更新,增量学习就可以了,那时候也没多少了。

从重要性上看,ue使用了最先进的技术,比如从枚举上就可以看到,很多过时的技术都不再用了。有种时不我待之感。
namespace ERHIFeatureLevel
{
enum Type
{
/** Feature level defined by the core capabilities of OpenGL ES2. Deprecated */
ES2_REMOVED,

	/** Feature level defined by the core capabilities of OpenGL ES3.1 & Metal/Vulkan. */
	ES3_1,

	/**
	 * Feature level defined by the capabilities of DX10 Shader Model 4.
	 * SUPPORT FOR THIS FEATURE LEVEL HAS BEEN ENTIRELY REMOVED.
	 */
	SM4_REMOVED,

	/**
	 * Feature level defined by the capabilities of DX11 Shader Model 5.
	 *   Compute shaders with shared memory, group sync, UAV writes, integer atomics
	 *   Indirect drawing
	 *   Pixel shaders with UAV writes
	 *   Cubemap arrays
	 *   Read-only depth or stencil views (eg read depth buffer as SRV while depth test and stencil write)
	 * Tessellation is not considered part of Feature Level SM5 and has a separate capability flag.
	 */
	SM5,

	/**
	 * Feature level defined by the capabilities of DirectX 12 hardware feature level 12_2 with Shader Model 6.5
	 *   Raytracing Tier 1.1
	 *   Mesh and Amplification shaders
	 *   Variable rate shading
	 *   Sampler feedback
	 *   Resource binding tier 3
	 */
	SM6,

	Num
};

};

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

序(为什么要抄unreal源码) 的相关文章

  • UE5《Electric Dreams》项目PCG技术解析 之 PCGCustomNodes详解(三)SG_CopyPointsWithHierarchy

    继续解析 Electric Dreams 项目中的自定义节点和子图 SG CopyPointsWithHierarchy和PostCopyPoints OffsetIndices 文章目录 前导文章 标准组合拳 SG CopyPointsW
  • UE4,UE5虚幻引擎,怎么在蓝图中获取FPS帧速率,显示在UMG(UI)上

    前言 在UE中可以使用命令行比如stat fps显示帧率 但只是显示在界面 假设我们要在蓝图中获取FPS帧率 并且显示在我们创建的UMG控件蓝图 这种stat fps命令行的形式就不行了 因为它只会固定显示在右上角的位置 1 在Tick中获
  • UE中FRotator和Pitch(Roll,Yaw)以及相对朝向的关系

    前几天 看人宅的塔防视频教程 他使用了塔的成员变量rotator 我可能在哪里少写了 所以 老是朝向不对 跟踪调试了下 发现FRotator是由pitch roll yaw三个部分组成 而pitch roll yaw是局部坐标系中的朝向 那
  • 部署Git服务器

    哈喽 大家好 本次为大家演示如何部署git服务器 首先要准备gitea和phpstudy pro phpstudy一路nest即可 可以帮你安装mysql和阿帕奇 登录127 0 0 1 3000注册gitea即可 如何在上传公钥的时候出现
  • UE5《Electric Dreams》项目PCG技术解析 之 PCGCustomNodes详解(四)ApplyHierarchy

    继续解析 Electric Dreams 项目中的自定义节点和子图 ApplyHierarchy 文章目录 前导文章 标准组合拳 ApplyHierarchy Execute with Context Iteration Loop Body
  • Rider编译UE5项目RD报错

    Rider编译UE5项目RD报错 我的版本 5 0 1 不知道何时能修复这个问题 具体报错 Expecting to find a type to be declared in a module rules named RD in UE5R
  • UE5 添加插件

    1 编辑 gt 插件 gt 添加 2 选择插件类型 输入插件名称 设置插件目录 点击 创建插件 3 在工程目录下生成Plugins目录 而且在Plugins目录下生成各个插件的目录
  • UE4/UE5 虚幻引擎,DDC(DerivedDataCache)派生数据缓存

    1 编辑器偏好设置 gt 全局 gt 共享派生数据缓存 作用 同一个项目编译结束之后 会把缓存数据存储到共享文件夹中 后续其他团队成员打开项目的时候 就不需要再次编译了
  • UE5实现距离测量功能

    文章目录 1 实现目标 2 实现过程 2 1 Widget 2 2 蓝图实现 3 参考资料 1 实现目标 UE5在Runtime环境下测量两个空间点位之间的绝对距离 并支持多段线的距离测量 GIF动图如下所示 2 实现过程 实现原理比较简单
  • UE5项目打包发布Windows需要安装插件

    一 下图为UE5项目打包发布Windows的安装路劲 前面感叹号为未安装插件 二 打包前的其他可有可无设置 1 编辑Edit 项目设置Project Settings 2 平台Platforms Windows 三 安装路径 1 搜索vis
  • UE5 MediaPlayer无法正确播放视频

    StreamMediaSource 播放流媒体源 流媒体源 Stream Media Source 是一种资源 允许你在虚幻引擎5 UE5 中流送支持的 URL格式视频 定义流后 你可以将其加载并使用 媒体播放器 资源在UE4中播放 并可
  • 虚幻引擎(UE)C++,加载读取本地路径图片、Texture2D

    通过路径获取单张图片 转为Texture2D UFUNCTION BlueprintCallable Category Image static UTexture2D LoadTexture2D const FString ImagePat
  • 从UE4到UE5:新特性的限制

    Nanite 原理 划分culster 按层级进行三角形的culling和lod selection HLOD 基于compute shader 和N卡的mesh shader同目的不同路 纯软件和硬件路线 开启 导入时勾选build na
  • UE4、5不让贴花影响Mesh

    如果不想让贴花影响某些在移动中的物体穿过它也会受到影响 例如人 车之类的 可以把mesh里的Receives Decals选项去掉
  • UE5 C++插件开发指南目录

    这一篇原本的标题是 如何将插件上架到UE虚幻商城 但是Up主聆枫LingFeng已经分享了相关议题 而且非常详细 UE 虚幻商城上架指南 所以这一篇就改写目录了 其实由谁来讲并不重要 重要的是讲的内容是否是读者需要的 希望大家可以从中受益
  • 如何解决UE5重定向后丢失RootMotion

    解决方法如图所示
  • UE TSubclassOf

    定义 TSubclassOf
  • 【UE5】初识MetaHuman 创建虚拟角色

    步骤 在UE5工程中启用 Quixel Bridge 插件 打开 Quixel Bridge 点击 MetaHumans MetaHuman Presets UE5 点击 START MHC 在弹出的网页中选择一个虚幻引擎版本 然后点击 启
  • 【UE】制作地月全息投影

    效果 步骤 1 在必应国际版上搜索 purlin noise 下载如下所示图片 再搜索 Earth Map 下载如下所示图片 再搜索 Moon 360 下载如下所示图片 这三张图片的资源链接如下 链接 https pan baidu com
  • 【UE材质】通过曲线图谱和颜色曲线来控制材质运动

    目录 效果 步骤 一 实现线性运动 二 实现非线性运动 效果 步骤 一 实现线性运动 1 新建一个材质并打开 设置材质域为用户界面 混合模式为半透明 在材质图表中添加如下节点 此时我们就可以通过数值改变圆圈纹理的缩放 但是缩放会伴随着纹理平

随机推荐

  • 强化学习笔记之策略梯度PG

    前面几天观看了B站周博磊老师的强化学习纲要系列视频狠狠地补了一下基础 强烈推荐没有基础的同学去补补基础 特别是MP马尔可夫过程 MRP马尔可夫奖励过程 MDP马尔可夫决策过程等 才能更好地理解与掌握后来的强化学习算法的算法思想 出发点是什么
  • windows服务器 应通过设定终端接入方式或网络地址范围对通过网络进行管理的管理终端进行限制。

    评测项 应通过设定终端接入方式或网络地址范围对通过网络进行管理的管理终端进行限制 整改建议 建议操作系统设定终端接入方式 网络地址范围等条件限制终端登录 如windows防火墙启用 高级设置 打开 高级安全windows防火墙 窗口 入站规
  • 2022年焊工考试电焊工考试模拟试题卷及答案

    题库来源 优题宝公众号 2022年焊工考试电焊工考试模拟试题卷及答案 由优题宝公众号根据最新焊工考试电焊工考试大纲与历年焊工考试电焊工考试真题汇总编写 包含焊工考试电焊工考试常考重点题型与知识点 有助于考生复习备考焊工考试电焊工考试 取得好
  • 简单公式

    1 行内公式 有三种形式 美元符号 c a b c a b math环境 begin math c a b end math 2 上下标 1 上标 使用 两位以上数字使用 括起来 如 x的20次方 x 20 2 下标 使用 3 希腊字母 希
  • Vue2.js (2)引入开发组件

    1 如何引入Vue2 通过CDN https cn vuejs org v2 guide instance html 学习 安装 section CDN DOCTYPE html gt
  • ACL模块H3C真题练习

    ACL相关练习题 客户的网络结构如图所示 要实现如下需求 1 Host C与Host B互访 2 Host B和Host A不能互访 3 Host A和Host C不能互访 那么 多选 A 只在MSR 1的接口GE0 0上应用高级ACL可以
  • flink-CDC的sqlServer连接器的前期准备

    一 安装sqlserver 本次安装是在windows本地进行的测试 版本为sqlserver2019 1 首先下载sqlserver2019的下载器 sqlserver2019可以直接复制下面的连接 https download micr
  • yum不能使用解决办法

    在安装完linux系统后 执行yum 发现报错 不能正常使用 解决方法如下 1 查看系统中是否有安装yum rpm qa grep yum 如果有返回 说明yum是安装了的 但还是不能正常使用 所以要卸载掉原来的yum 2 卸载yum rp
  • wget命令8种实用用法

    大家好 我是良许 wget 是一个可以从网络上下载文件的免费实用程序 它的工作原理是从 Internet 上获取数据 并将其保存到本地文件中或显示在你的终端上 这实际上也是大家所使用的浏览器所做的 例如 Firefox 或 Chrome 其
  • layer好看的弹出文本框

    layer open type 1 title 料架列表 skin layui layer rim 加上边框 area 300px 350px 宽高 shadeClose true skin yourclass content inLj c
  • 手写实现next_permutation(全排列)

    next permutation函数 需要加头文件
  • 绘制思维导图用什么软件?告诉你三个实用的软件

    思维导图是一种有效的思维模式 应用于记忆 学习 思考等的思维 地图 有利于人脑思维的扩散 如今市面上能够辅助我们更好地锻炼大脑 产出思维导图的工具数不胜数 但不同人群的使用不同 适配的软件也不尽相同 那么今天就让我来告诉你电脑好用的思维导图
  • 蚂蚁区块链第17课 错误码指导大全

    1 摘要 本文介绍蚂蚁区块链的错误码按出错来源分为5类 平台校验错误码 虚拟机错误码 区块链错误码 客户端系统错误码 TEE 错误码 并给出了具体的错误码值和解释说明 2 错误码大全 2 1 平台校验错误码 错误码 错误码值 错误消息 描述
  • [Django] Django基础环境配置

    step1 设置python 虚拟环境并激活 然后安装Django开发版本 这里可以本人参考博客 step2 新建项目 之前安装Django以及虚拟环境都是在C盘下处理的 在这里用D盘存储项目 出现小插曲 C Users 用户名 gt d
  • 2023高教社杯数学建模思路 - 案例:FPTree-频繁模式树算法

    文章目录 算法介绍 FP树表示法 构建FP树 实现代码 建模资料 赛题思路 赛题出来以后第一时间在CSDN分享 https blog csdn net dc sinor type blog 算法介绍 FP Tree算法全称是Frequent
  • MySQL基础篇-第15章_存储过程与函数

    第15章 存储过程与函数 讲师 尚硅谷 宋红康 江湖人称 康师傅 官网 http www atguigu com MySQL从5 0版本开始支持存储过程和函数 存储过程和函数能够将复杂的SQL逻辑封装在一起 应用程序无须关注存储过程和函数内
  • vue动态添加路由清空路由

    刚做的项目分多个模块 点击后再查询菜单 动态加进路由 直接动态添加则爆出警告信息 路由重复 于是乎想到了先清空路由 resetRouter const newRouter new Router mode hash scrollBehavio
  • TortoiseGit清除账号密码

    开发十年 就只剩下这套Java开发体系了 gt gt gt 1 编辑系统配置 2 删除配置信息 3 删除 git credentials 一般在c盘的用户目录下
  • pytorch怎么加入环境变量_pytorch安装(使用pip3装到conda环境下)(示例代码)

    之前在windows上使用pip3的方式安装过pytorch 虽然偶尔也会HTTP Error 安装失败 但是基本还是可以安装成功的 上 这一次在ubuntu上装了anaconda 想着之后的库都用conda安装 而不使用ubuntu自带的
  • 序(为什么要抄unreal源码)

    unreal所有源码很长 几百万行 一辈子也抄不完 然而 ue4 0版本的runtime只有1887个文件 251043行 不算第三方库 可以只按照渲染相关部分抄写一下 然后 逐版本增补 只需要关注渲染部分 和工作中用到的插件 还是可以的