首页 > 编程语言 >《3D编程模式》写书-第3次记录

《3D编程模式》写书-第3次记录

时间:2023-04-16 10:55:40浏览次数:47  
标签:场景 编程 模式 写书 编辑器 引擎 使用 3D

大家好,这段时间我完成了“积木模式”、“管道模式”、“多线程模式”、“依赖隔离模式”的初稿

目前我已经完成了所有模式(7个模式)的初稿,下面会给出它们的使用场景,如果您正好能用到,请联系我提前阅读模式的初稿,欢迎大家给出反馈建议,您的大名有机会出现在《3D编程模式》的书中,感谢!

我的QQ号:
395976266

我的微信号:
chaogex

这里是所有的的写书记录:
《3D编程模式》写书记录

模式的使用场景

积木模式

使用场景
多人开发的大型系统

具体场景如下:

  • 多人开发的引擎
  • 多人开发的编辑器

管道模式

使用场景
需要按串行或者并行的顺序连续地执行多个逻辑

具体场景如下:

  • 系统的初始化
  • 引擎主循环中的更新、渲染

多线程模式

使用场景
需要渲染大型场景或者有并行逻辑的系统

具体场景如下:

  • 需要渲染大型场景
  • 开多个线程来并行地执行一些逻辑,如加载超大模型、进行复杂计算等逻辑

依赖隔离模式

使用了频繁变化的外部依赖的系统

使用场景
多人开发的大型系统

具体场景如下:

  • 替换编辑器使用的引擎

  • 升级编辑器使用的引擎的版本

  • 增加编辑器使用的引擎

拼接模式

使用场景
系统需要构造包括各种分支的数据

具体场景如下:

  • 构造引擎的Shader代码
  • 构造游戏的地图数据

撤销重做模式

使用场景
使用函数式编程范式开发的系统,该系统需要撤销/重做功能

具体场景如下:

  • 需要撤销/重做功能的编辑器
  • 需要保存/载入功能的游戏

ECS模式

使用场景
适合于大型的游戏,场景中有很多人物,人物的行为很多或者很复杂

具体场景如下:

  • 有很多个种类的游戏人物的游戏
  • 游戏人物有很多的行为,而且还经常会增加新的行为

标签:场景,编程,模式,写书,编辑器,引擎,使用,3D
From: https://www.cnblogs.com/chaogex/p/17322653.html

相关文章

  • Java面向对象编程中级
    IDEA常用快捷键删除当前行,默认是ctrl+Y自己配置ctrl+d复制当前行,自己配置ctrl+alt+向下光标补全代码alt+/添加注释和取消注释ctrl+/导入该行需要的类先配置autoimport,然后使用alt+enter即可快速格式化代码ctrl+alt+L快速运行程序自己定义alt+......
  • 面向对象编程 -- 创建对象3
    面向对象编程 --创建对象3一、对象迭代//ECMAScript2017新增了两个静态方法,用于将对象内容转换为序列化的--更重要的是可迭代--格式//这两个静态方法Object.values()和Object.entries()接收一个对象,返回它们内容的数组。consto={ foo:'bar', baz:1, qux......
  • NOC 2022 初中组选择和编程题题解
    NOC2022初中组选择题和编程题题解注意:本文有几个问题:部分题目我也不确定答案,而且我水平不行,有些题目我还真不会,大家就把我的答案当个参考吧。目前有一大半的题目因为作者比较懒,暂时没写,空在那儿,可以下载原题自己做做。1初中组选拔赛原题链接,提取码:efy6。1.1选择题......
  • ESP3D ESP32-C3 bulid时报错 'Serial2' was not declared in this scope
    ESP3D版本: 3.0.0-alpha3 错误原因: ESP32-C3只有两个port 解决方法一: github上最新的git已经解决了该问题,使用git获取最新版,不要下载Release的 解决方法二: 去掉Serial2serial_sevice.cpp中,  第40,41行将MAX_SERIAL的值......
  • 实验4 数组应用编程
    task1_1#include<stdio.h>#defineN4intmain(){ inta[N]={2,0,2,3}; charb[N]={'2','0','2','3'}; inti; printf("sizeof(int)=%d\n",sizeof(int)); printf("sizeof(char)=%d\n",sizeo......
  • java字节码编程技术(8/10) -Javassist
    Javassist这个库和asm经常使用,它的性能稍差一点<dependency><groupId>org.javassist</groupId><artifactId>javassist</artifactId><version>3.27.0-GA</version></dependency>获取一个类加载器(ClassLoader),以加载指定的.jar或.class文件privateClassLoade......
  • 网络编程记录
    IP数据报在传输的过程中虽然是先发送到路由器,再由他转发个目的主机,但是其头部的目标IP地址确实最终的目标主机的IP地址,而不是中转路由器的IP地址。说明IP头部的源端IP地址和目的端IP地址在转发过程中是始终不变的,但帧头部的源端物理地址和目的端物理地址在转发过程中是一直变化......
  • jdbc编程基础
    packagecom.local.util;importjava.sql.*;/***@date2023/4/1518:13*@description*/publicclassJdbcUtil{publicstaticfinalStringDRIVER_NAME="com.mysql.cj.jdbc.Driver";publicstaticfinalStringURL="jdbc:mysq......
  • EXCEL VBA编程的一些小结
     最近单位内部的项目里要用到些报表EXCEL的生成,虽说JAVA的POI可以有这能力,但觉得还是可能比较麻烦,因此还是转用.net来搞,用visualstudio2003配合office2003,用到了一些VBA,因此小结并归纳之,选了些资料归纳在这里,以备今后查考首先创建 Excel 对象,使用ComObj:DimExcelIDas......
  • [oeasy]python00134_[趣味拓展]python起源_历史_Guido人生_ABC编程语言_Tanenbaum
    python历史回忆上次内容颜文字是kaomoji把字符变成一种图画的方法一层叠一层很多好玩儿的kaomoji是一层层堆叠起来的meme虚拟的表情也在真实世界有巨大影响一步步地影响字符编码就是这样一步步发展过来的python也是一步步发展到今天的python究竟是怎么发展的呢?......