
ZeloEngine
文章平均质量分 90
ZeloEngine
zoloypzuo
特级厨师
展开
-
【ZeloEngine】OpenGL升级Vulkan
Vulkan的资料有很多,这里以GDC2016中nvidia的slide作为讨论的基础下文中Vulkan简称vk。原创 2022-08-21 21:19:58 · 1503 阅读 · 0 评论 -
【ZeloEngine】反射系统填坑小结
今天是入行两周年,本想写个入行小结,想想还是踏实点把坑填完,写个DevLog本文接续之前一篇文章的原理描述,主要讲讲开发后的反思另外说明,ZHT当然是下班时间开发的,所以进度会慢很多,好在能每天坚持写一点,代码也就攒起来了。.................................原创 2022-07-17 23:10:41 · 525 阅读 · 0 评论 -
【ZeloEngine】本地化流程/ImGui中文化
填了中文化和icon的坑(2021/12/19开的坑)先做了一版标准流程v1,然后做一下优化v2【ZeloEngine】本地化流程/ImGui中文化_哔哩哔哩_bilibiliv1的标准流程是:所以我们可以去监听ImGui里所有会显示出来的文本参数,在ImGui实现上包一下gettext,并且输出运行时所有遇到/看到的文本,自动更新翻译模板文件.pot直接修改imgui.cpp风险还是太大了,imgui仍然在更新中好在我们有Lua的脚本绑定层,算是一层封装,且所有imgui逻辑都是在Lua写的,在这里改就好原创 2022-06-12 20:08:14 · 1722 阅读 · 0 评论 -
【ZeloEngine】重写反射和对象系统
【ZeloEngine】重写反射和对象系统TODO 引用结论实现了类似UHT和QtMoc的通用C++源码分析和代码生成方案功能特性本质是一个编译器应用,前后端分离,前端分析C++源码,后端代码生成,中间表示(IR)是收集的源码信息可以扩展代码生成目标后端,不需要改前端目前已有的目标:反射,Lua脚本绑定,序列化,imgui界面功能特点相比于UHT和QtMoc的区别:分离出meta.cs描述元信息,而不是在C++源文件中打标记默认类范围内全部导出,只需要描述导出哪个类即可,不需要每个成原创 2022-05-17 13:50:49 · 540 阅读 · 0 评论 -
【ZeloEngine】重新理解CMake
【ZeloEngine】重新理解CMake引子这两天重构了ZeloEngine的cmake脚本,正好重新思考一下,谈论cmake时,我们到底在解决什么问题本文先说结论,然后讨论cmake知识,然后讨论怎么应用在这次重构中重构结论构建时间41.547356s => 37.4614157s,稍微优化了一些Visual Studio工程目录现在:干净,少量target现在:target展开目录和文件目录一致原来:Core中每个子模块都是一个target;target里所有代码挤在一起原创 2022-03-18 20:55:07 · 716 阅读 · 0 评论 -
【ZeloEngine】沙箱机制
【ZeloEngine】沙箱机制沙箱,沙盒,Sandbox沙盒游戏是指开放世界游戏,比如MineCraft,玩家可以在里面自由地游玩程序的Sandbox,是指引擎提供一个干净的环境,供程序员自由地写业务逻辑动机引擎的最终目的是做游戏,这个过程中会产出很多Demo通过Sandbox,将Demo和引擎分割开,不断的开发新Demo,并把Demo中通用的部分向引擎迁移,形成一个开发循环结论干净的切换Demo,每个Demo是独立的引擎实例独立的思路早期我想直接用插件机制去做Sandbox,原创 2022-01-10 16:12:34 · 676 阅读 · 0 评论 -
【ZeloEngine】Lua源码汇总
【ZeloEngine】Lua源码汇总userdata和light userdata目前是不用light userdata的userdata的流程:C++ class Foo注册给lualua脚本new Foo,lua分配内存,管理gclight userdata则是C++分配内存和构造,一般是对应裸指针,Zelo不用这种用法检测参数是否是字符串字面量拼了一个空串,这样编译就会报错了#define lua_pushliteral(L, s) \ lua_pushlstring(L,原创 2021-12-21 16:54:51 · 976 阅读 · 0 评论 -
【ZeloEngine】ImGui汇总
【ZeloEngine】ImGui汇总ImGui如何开发/编程指南 ImGui基本原理 ImGui框架概念 ImGui接口 脚本绑定接口 脚本薄封装框架 参考项目痛点原理学完只是第一步,我们要铺量去写UI,那工具链要是完善的目前抄了几个界面后的痛点是:对接口不熟悉,查接口要跳很多文档理想的状态是:Model数据结构=》设计粗略View展示Model=》转换成代码=》迭代交互和样式接口文档https://blog.youkuaiyun.com/zolo_mario/article/deta原创 2021-12-19 20:30:19 · 4465 阅读 · 0 评论 -
【ZeloEngine】Lua调试器
【ZeloEngine】Lua调试器(Lua debugger)Lua没有非常强势的IDE和调试器方案,基本上都是专用方案造的轮子尝试了几个方案(按时间顺序)DecodaLuaPerfectEmmyLua(Clion)ZeroBraneLuaPanda调试器核心的实现都是一样的Remote Debug,被调试代码是一个客户端,调试器IDE是一个服务端,两端用socket连接基本上都会选择luasocket+mobdebug作为调试器核心有几个可以考量的地方:调试器接入,有没有遇到原创 2021-12-04 20:04:31 · 1763 阅读 · 0 评论