摘要:
也不能说是在自己内心中酝酿了许久的一个计划,毕竟以我目前的能力,想要从零到一地写一个哪怕是比较简单的游戏引擎仍旧是一个十分有难度的工作。仅仅是能达到”能够熟练使用Unity进行开发”,都能够让一个游戏程序员绞尽脑子,不断耕耘。 大学毕业工作两年,我的代码学习之旅也已经有了六年之旅。在基础阶段每学到一 阅读全文
摘要:
置顶说明: 本博客的目的:为了巩固自己所学知识,努力提高自己的专业技能;若文章能够帮助到你,是我莫大的荣幸。 本博客的文章主要涉及的领域为游戏开发(本人不才,也在努力学习中) 随笔主要记录一些琐碎的知识点,例如今天看到某些新奇的技术等,都会记录在随笔之中。 文章部分博主会耐心、认真的对内容进行分析和 阅读全文
摘要:
关于近段时间为何没有更新的解释:Find a new job. 引言 一般来说,一个优质的商业级别的游戏本质上就是一个复杂庞大的软件系统。在庞大系统的开发过程中难免会出现错误。为了排查错误、校验代码的正确性,游戏引擎一般会提供一些调试和开发工具,一般有如下几个: 日志及代码追踪:日志系统一般提供向控 阅读全文
摘要:
引言 为什么会将文件系统放在引擎的底层核心代码呢?对于游戏而言,游戏的本质就是多媒体体验(模型、声音、视频等),而游戏引擎引擎需要在底层实现相关文件的读取作为支撑。 文件系统和资源管理器是两个概念。文件系统的功能是文件的读写,针对的是单文件或文件夹;而资源管理器则是目录级别的增删查改,可以成为引擎文 阅读全文
摘要:
预备知识可参考我整理的博客 Windows编程之线程:https://www.cnblogs.com/ZhuSenlin/p/16662075.html Windows编程之线程同步:https://www.cnblogs.com/ZhuSenlin/p/16663055.html 代码结构 一个简 阅读全文
摘要:
本笔记整理自:《Windows核心编程(第五版)》 什么是线程同步 多个线程是并行运行的,而在对堆区的变量是公有变量,任何线程都可以对他们进行访问和修改。这就会引发x访问冲突的问题。当多个线程同时修改一个变量时,极有可能会产生逻辑上的错误,甚至程序崩溃。 用户方式中的线程同步 原子访问:Interl 阅读全文
摘要:
本笔记整理自:《Windows核心编程(第五版)》 何为线程 线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。每一个进程至少包含一个线程。 主线程是以main、wmain、WinMain或wWinMain作为入口的线程。 线程即为程序作业的 阅读全文
摘要:
标准着色器(Standard Material or Standard Specular(Setup)) 渲染模式(Rendering Mode) Opaque:适用于没有透明区域的普通固体对象 Cutout:alpha剔除,在这种模式下,没有半透明区域,纹理为100%不透明或不可见。使用透明度来创 阅读全文
摘要:
通过合理组织数据利用CPU的缓存机制来加快内存访问速度。 (摘自《游戏编程模式》) 现代计算机硬件被木桶效应约束着——CPU逐年增长的速度迅猛,而较为遗憾的是RAM访问速度却是逐年迟缓。速度的不匹配使得CPU的能力收到了极大的限制——虽然它处理数据很快,但是获取数据的速度却很慢。这意味着CPU更多的 阅读全文
摘要:
为某服务提供一个全局访问入口来避免使用者与该服务具体实现类之间产生耦合。 (摘自《游戏编程模式》) 对于一些在游戏系统各处都可能调用的系统、对象或函数,如果(利用静态类或单例模式)直接调用也会造成一定的耦合——当我们对静态类或单例模式的调用方式进行修改时,我们就需要找到各个调用的代码块并进行修改,而 阅读全文
摘要:
对消息或事件的发送与受理进行时间上的解耦。 (摘自《游戏编程模式》) 事件队列模式维护着一个事件队列。元命令入队意味着我们主观想要立即想要执行该命令的相关操作;而出队意味着响应执行该命令相关的操作。受限于各种硬件和软件的情况,这些命令执行并不是立即响应的,但顺序是固定的、也不会出现命令遗漏的情况。我 阅读全文
摘要:
允许一个单一的实体跨越多个不同域而不会导致耦合。 (摘自《游戏编程模式》) 组件模式又是一个采用“Have One”实现多态的模式。从客观上来说,Unity引擎的GameObject就是使用组件尤为成功的例子。在使用Unity开发中,我们可以给一个GameObject添加引擎自带或自己编写的组件。下 阅读全文