Home
自研引擎Pulsar的三类对象生命周期开发总结
自研引擎

自研引擎Pulsar的三类对象生命周期开发总结

最早期实践-树形托管 在最早期的引擎基础库设计版本中,直接使用了new来实例化对象,通过保存裸指针来引用,为了不用手动的...
自研引擎Pulsar的Shader变体功能设计
自研引擎

自研引擎Pulsar的Shader变体功能设计

shader变体功能是引擎常见需求,可以通过自定义选项来从同一个shader源码中编译出不同的shader,而一个最常接...
HLSL对Vulkan的适应性以及伪语义绑定
Vulkan

HLSL对Vulkan的适应性以及伪语义绑定

Vulkan使用location来绑定,而hlsl使用语义绑定,但SPIRV编译器通常会按输入的顺序来自动指定locat...
GPU呈现模式与垂直空白
计算机图形学

GPU呈现模式与垂直空白

先说一个总结: 呈现模式主要为四种,简单描述了一下特点: Immediate:无帧率限制、有撕裂。 FIFO:最高帧率为...
自研引擎PulsarEngine的Shader编译流程
自研引擎

自研引擎PulsarEngine的Shader编译流程

Shader源码 对于一个游戏引擎需要有一个灵活的着色材质系统,较旧的做法一般是直接提供glsl源码,在程序运行时读取并...
UE材质Custom节点与HLSL的HACK操作
UnrealEngine

UE材质Custom节点与HLSL的HACK操作

HLSL生成逻辑 在新建一个Custom节点并转义为HLSL后,代码是这样的: MaterialFloat3 Custo...
UE5出现D3D12崩溃报错解决方案
UnrealEngine

UE5出现D3D12崩溃报错解决方案

为防止应用程序因使用过多内存而锁死,Windows实施了保护措施。如果一个应用程序的渲染时间超过几秒,Windows就会...
游戏引擎脚本绑定的三种写法与利弊
经验杂谈

游戏引擎脚本绑定的三种写法与利弊

在游戏开发中对游戏绑定的脚本语言的编写方法进行一个总结。 一、逻辑上的同级脚本 这种绑定使用方式的特点是脚本语言拥有与原...
一种解决不支持中文与空格文件名的编码
C++

一种解决不支持中文与空格文件名的编码

在我制作工具的多个情景下都会产生某些名字无法使用的问题,例如虚幻的ABC插件不支持中文名,蓝图的变量经常存在空格与特殊字...
Vulkan坐标系通用方案以及反转viewport
Vulkan

Vulkan坐标系通用方案以及反转viewport

vulkan的NDC默认使用的Y轴向下的右手坐标系以及Y轴向下的FrameBuffer。 我这里使用的方案为:顶点逆序为...