
自研游戏引擎及算法
文章平均质量分 73
个人开发游戏的过程点滴
千年奇葩
业务范围:3D引擎、游戏、Web前端、跨平台软件、aigc。最近看机会,求捞啊
展开
-
GODOT游戏引擎简介,包含与unity性能对比测试,以及选型建议
godot游戏引擎简介,与unity引擎的2d/3d渲染性能测试,以及技术选型建议原创 2023-08-05 16:39:09 · 24470 阅读 · 3 评论 -
Opengl常用缓冲对象功能介绍及使用示例(C++实现)
本文整理了常用的opengl缓冲区对象并安排了使用示例。原创 2025-02-22 02:00:34 · 1023 阅读 · 0 评论 -
用Shader glsl实现一个简单的PBR光照模型
PBR模型定义了各种光照属性,如基础颜色、金属度、粗糙度等,就像给物体设定各种 “性格特点”。顶点着色器负责把顶点从模型空间转换到裁剪空间,同时计算一些用于光照计算的参数,就像给顶点 “搬家” 并准备好 “行李”。而片段着色器是整个 PBR 实现的核心,计算每个像素的颜色。它通过采样纹理获取各种属性值,然后根据 PBR 光照模型计算漫反射和镜面反射项,最后结合环境光得到最终颜色,就像给每个像素 “化妆”,让它们看起来更真实。原创 2025-02-14 18:15:28 · 554 阅读 · 0 评论 -
C++自研3D教程OPENGL版本---动态批处理的基本实现
动态更新:使用 GL_DYNAMIC_DRAW 标志更新顶点缓冲区,适用于频繁变化的顶点数据。通过动态批处理,你可以有效地减少绘制调用,提高渲染性能,特别是在需要渲染大量小对象的场景中。负责管理顶点数据、更新顶点缓冲区和渲染。如果顶点数据频繁变化,可以预先分配足够的内存,避免频繁调用 glBufferData。主循环:每一帧清空批处理数据,添加新的顶点数据,更新缓冲区并渲染。在多线程环境中,可以将顶点数据的更新和渲染分离到不同的线程中。顶点和片段着色器:简单的着色器,用于渲染带颜色的三角形。原创 2025-02-07 08:59:08 · 377 阅读 · 0 评论 -
Unity项目转微信小游戏 微信小程序保姆教程,繁杂问题解决,及微信小游戏平台简单性能测试
Unity导出微信小游戏 使用教程,疑难问题解决方案 unity转微信小程序性能测试 微信小游戏与原生移动android ios平台性能对比测试原创 2023-11-07 20:45:16 · 25750 阅读 · 6 评论 -
游戏热加载、即时加载、热更新、热补丁原理流程图
本文主要阐述游戏及软件工程中的更新原理及流程,具体代码请查看本博webgl在线加载资源和xlua热更新热加载的实现流程所谓热加载,就是将资源放在服务器端,当客户端运行时,即时下载指定的资源文件并应用在程序中。拿unity项目为例,大致流程为:发送需要的资源包名发送资源启动客户端服务器运行需要热加载的资源继续运行加载资源时,可以选择异步加载,这样就不会用等待,该干嘛干嘛。也可以选择同步加载...原创 2020-05-04 13:41:56 · 3689 阅读 · 0 评论 -
Vulkan渲染引擎开发教程 一、开发环境搭建
运行成功会显示两个窗口,一个是用于显示调试信息的控制台,一个就是用于显示vukan实例的glfw窗口,长这样。依次填入Vulkan SDK下的include目录、glm下的glm目录、glfw下的include目录。填写glfw下的lib–vs2022目录、vulkan下的Lib目录,在属性面板中,点击C/C++ -> 常规 -> 附加包含目录。GLFW是个跨平台的小型窗口库,也就是显示窗口,图形的载体。在下一章中,将尝试在vulkan中绘制一个三角形。再点击连接器->常规->附加库目录。原创 2023-11-19 02:22:46 · 4259 阅读 · 1 评论 -
webgl框架介绍以及webgl项目的技术选型问题
废话部分最近面试了很多公司,感慨颇多技术选型是重中之重,应该是所有企业的共识,这不仅关于到当前项目的交付,也涉及到未来项目的生命线和前景。但就有人当儿戏。不管是什么技术,选型决策者都应该具备开阔的技术视野。有个前辈曾对我说过,什么事情最好亲自尝试,知道和做过,是完全两个不同的概念。所以也推荐选型的项目管理人员应该亲自调研,以免造成损失。有些公司明显因为技术选型的问题把项目带进的不上不下的境地。让我印象最深刻的就是前些天遇到一家专做交通规划的公司,选了一个不合适的技术栈全家桶,项目进行到中期整个技术部原创 2020-07-26 10:32:41 · 7173 阅读 · 4 评论 -
Anti-Aliasing抗锯齿 SSAA MSAA FXAA三维游戏抗锯齿技术浅谈
今天组里同学询问关于抗锯齿的问题,我尽量简化成人话方便理解。关于抗锯齿的技术有很多种,有的基于硬件,有的则完全依赖算法计算。总的来说,锯齿是软硬件沟通差异导致的问题,是开发者最常见的问题之一。实际上很多引擎或三维包都自带抗锯齿算法,比如FXAA, MSAA, SSAA等。知道其中原理有助于我们因地制宜地选择相应技术实现甲方的无耻需求,也可以方便的实现自己下流的目的。SSAA图像缩放抗锯齿技术。原理:输出屏幕结果时,先生成一个更大分辨率的图像,然后再缩放成为目标分辨率图像。由于最终输出的每个像素都原创 2020-12-02 15:19:24 · 2584 阅读 · 0 评论 -
游戏数据传输帧同步中,自定义浮点(float)、二维向量(vector2)、三维向量(vecter3)、四元数(Quaternion)的数据类型的实现
由于帧同步需要各客户端的浮点数不能出现误差,所以需要使用经过处理过的浮点数。不只是浮点数本身,所有基于浮点数实现的数据类型都要经过处理,包括Vector2、Vector3、Quaternion等等由csharp代码实现,直接拖入unity可直接使用自定义浮点数类型:mFloat// 添加该标签可以保证该数据类型可以被json等工具正常序列化[Serializable]class mFloat{ // 存储中会使用的真实值 public int realValue = 0; //原创 2020-07-13 11:57:01 · 2521 阅读 · 1 评论 -
网络游戏数据同步的实现 一:状态同步、帧同步的基本原理概述
网络游戏,最重要的部分应该就是数据同步了。一个游戏的数据同步质量,直接影响这个网游的操作体验。做出一个一步一卡的游戏,一定会成为其最大的槽点。记得我当年最早玩的网络游戏《传奇》,那真是处处可卡bug满天飞,,,即使是这样,大家仿佛觉得这卡顿是天经地义的,面不改色的接受这种摧残。。。除了服务端的硬件投入以外,数据同步方式的不同也直接会影响性能。拿时下比较火爆的几个网游为例,数据同步方式大致分为以下几种:操作同步。信息同步。3。 3...原创 2020-07-13 01:15:28 · 9106 阅读 · 0 评论 -
unity c#《自己做游戏》之 设计一个可以生成复杂解密地图的随机地图系统 第一篇 设计地图规划
需求随机生成地图,且尽量扩大变化因子,以下是大致需求内容房间位置随机房间大小随机(可接受倍数)起始房间(出生点)带锁的房间(宝藏房,道具房)终点房间前boss房(boss关卡)钥匙房 (钥匙要出现在锁之前)道具房(装备、解密道具)服务房(存档、购物)有怪房每个房间最多可有包括入口在内的4个门某些房间可以多路互联设计思路从我们玩游戏的经验中反向推理,发现人物闯关的行...原创 2019-09-06 13:26:53 · 1273 阅读 · 0 评论