当前位置: 首页 > news >正文

Games104 听后笔记

1、为什么UE5要自己写一套STL库

因为传统的STL库中,例如:vector,它一般采用的是双倍扩容法,加入1000个数据装满了,现在需要又加一个,那么就开辟了2000个数据的空间,那么当前就又999的数据空间暂时浪费掉了,这是实时渲染不希望看见的,这样会非常消耗性能,从而偏离实时的要求

2、通常引擎会写一个Tick,一个主要做逻辑,一个主要做渲染

3、引擎分为功能层、数据资源层以及平台层、核心层、工具层

功能层包括:动画功能、物理功能、渲染功能、HUD功能,Camera、输入、脚本、AI等基础功能

数据层包括:音频文件、视频文件、模型文件、XML文件等等

平台层包括:Linux、Windows、Android等等

核心层:就是核心的容器数据结构等等

工具层:外部导入的第三方库、插件等等

4、软件架构规则:数据放在一起、访问数据尽可能顺序的去访问,读写时一起去读写

5、DCC工具:外部工具:Houdini、3DMax、Maya等等

6、Component-based Tick

它是模块逐级处理,而不是处理一个物体的所有行为,然后再处理其它物体的所有行为

它是通过处理所谓物体的逻辑,然后处理所有物体的输入以此类推

7、Scene Management

和Ray Trace一样,分为Oct-Tree 、BSP,思想都是一样的,就是通过包围盒,快速检索

8、同一个木材质,会合成组,在Resource Pool中存储,以此来减少DrawCall,提高性能开销,模型同理,也是通过模型和实例(instance)去做Resource Pool中存储管理

9、Visibility Culling

 

和Ray Trace一样,分为Oct-Tree 、BSP,思想都是一样的,就是通过包围盒,快速检索

这个和UE5的世界分区有点像,UE5世界分区是先将世界分成多个正方形,然后根据调整的距离Distance进行剔除,超过这个距离的正方形的物体就进行剔除,看不见的也剔除

相关文章:

  • 利用python搭建临时文件传输服务
  • 《自动机理论、语言和计算导论》阅读笔记:p5-p27
  • Microsoft Word 快捷键 (keyboard shortcut - hotkey)
  • C# 高级文件操作与异步编程探索(初步)
  • 计算机组成原理 — 指令系统
  • AI颠覆,倒计时
  • Wagtail-基于Python Django的内容管理系统CMS实现公网访问
  • iOS客户端自动化UI自动化airtest+appium从0到1搭建macos+脚本设计demo演示+全网最全最详细保姆级有步骤有图
  • dockers compose up 报no configuration file provided: not found
  • 【Bug-ModuleNotFoundError: No module named ‘models‘】
  • Android Databinding 使用教程
  • SQLite数据库文件损坏的可能几种情况(一)
  • 指针数组的有趣程序【C语言】
  • EasyExcel Converter实现java对象和excel单元格转换
  • postgres12.4安装pg_rman-1.3.16
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • Angular数据绑定机制
  • bootstrap创建登录注册页面
  •  D - 粉碎叛乱F - 其他起义
  • emacs初体验
  • golang 发送GET和POST示例
  • interface和setter,getter
  • java取消线程实例
  • node入门
  • Spring Cloud中负载均衡器概览
  • SpringBoot 实战 (三) | 配置文件详解
  • tab.js分享及浏览器兼容性问题汇总
  • 关于使用markdown的方法(引自CSDN教程)
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 警报:线上事故之CountDownLatch的威力
  • 深入 Nginx 之配置篇
  • 自定义函数
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • (1)STL算法之遍历容器
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (接口自动化)Python3操作MySQL数据库
  • (排序详解之 堆排序)
  • (学习日记)2024.01.09
  • (转)EOS中账户、钱包和密钥的关系
  • (转)创业家杂志:UCWEB天使第一步
  • *ST京蓝入股力合节能 着力绿色智慧城市服务
  • .Family_物联网
  • .NET Project Open Day(2011.11.13)
  • .NET Standard 的管理策略
  • .NET 线程 Thread 进程 Process、线程池 pool、Invoke、begininvoke、异步回调
  • .NET 中创建支持集合初始化器的类型
  • ??myeclipse+tomcat
  • @ 代码随想录算法训练营第8周(C语言)|Day57(动态规划)
  • @vue/cli脚手架
  • [《百万宝贝》观后]To be or not to be?
  • [202209]mysql8.0 双主集群搭建 亲测可用
  • [23] 4K4D: Real-Time 4D View Synthesis at 4K Resolution
  • [Android] Android ActivityManager