GameEngineDev
hijackedbycsdn
这个作者很懒,什么都没留下…
展开
-
Vulkan Material 设计学习
在学习的时候遇到的一些问题。原创 2024-04-03 02:12:27 · 433 阅读 · 0 评论 -
vulkan 渲染模型加载找错,stride 不对
回去看一下顶点数据,就是 6 个 6 个 float 的读进顶点着色器的。可以看到,顶点之间都是紧密挨着的,就是正常的三角形。加载下来的顶点数组,我跟教程是一样的。但是输入到顶点着色器的数据就不一样了。一看就是 stride 不对。原创 2024-03-17 01:09:00 · 425 阅读 · 0 评论 -
Imgui docking 分支与 vulkan hpp raii 的使用的坑
仔细看这个报错,似乎真的是 format 的问题,于是我把我的颜色 format 改成了 imgui 的 format 就好了。我看到最后面的我似乎能看懂,就是我 dependency 的数量跟 imgui 的不一样,我的是 0 imgui 的是 1。之前那个最小复现不是我的真正的应用,那个最小复现是改一下颜色格式就完全没有错了,但是我自己的应用中还是有错。我是用的 vulkan hpp 里面的示例,可能是因为我是 copy 的,所以我才对这些细节不敏感。应该补充 SubpassDependency。原创 2023-11-05 14:36:09 · 378 阅读 · 0 评论 -
Vulkan Buffer 的构造的坑
假设你读取模型之后的顶点和索引数组是这样的那么你传给 DeviceSize 和 memcpy 的大小应该是。原创 2023-11-03 09:32:09 · 85 阅读 · 0 评论 -
Windows 构建 Acid Game Engine 的坑
这个创建 glfw window 的时机也是有讲究的,需要在创建了 Windows module 之后,在那些连接到 onAddWindow 信号的 module 的创建之后,在那些需要 glfw window 的 module 之前。我的 cmake 的 FindOpenAL 里面会添加 OpenAL 的库,所以我不知道为什么原仓库会把那个判断是否已经存在 OpenAL 库的语句注释掉……一个 hack 的方法是记住需要 glfw window 的 module 的序号,在那个序号的位置之前调用。原创 2023-09-20 18:58:06 · 132 阅读 · 0 评论 -
unresolved external symbol “class vk::DispatchLoaderDynamic vk::defaultDispatchLoaderDynamic“ 的奇怪原因
怎么搞都搞不出来之后,我就只好一个个注释代码,来找是哪段代码出了问题。最后发现是这一段出了问题。原创 2023-09-15 10:38:56 · 106 阅读 · 0 评论 -
CMake 将所有 Target 的工程在 Visual Studio 中加到同一个文件夹
之后我发现还有 utility 类型的工程,我就觉得不能单单看 library 了,应该是要有一个方法找到所有 target,然后从中排除掉不需要的 target,将剩下的所有 target 的 folder 属性更改。一开始我想要重写 add_library 函数,来获取到那些 lib 添加了,进而获得所有的 library,存到一个 list 里面,最后对这个 list 遍历,设置 folder。我想要将所有 Target 的工程在 Visual Studio 中加到同一个文件夹。原创 2023-09-10 22:18:13 · 343 阅读 · 0 评论 -
Vulkan 创建 PhysicalDevice 和 Surface 的包装思路
主要就是找第一个支持 graphics 和 presentation queue family 的 device。看 Vulkan Sample 的话,创建 PhysicalDevice 和 Surface 的包装思路是。另外一种方式是对每一个 device 评分,选择评分最高的那个 device。Surface 的话。原创 2023-09-09 00:00:17 · 136 阅读 · 0 评论 -
CMake FetchContent 在处理仅头文件库上存在困难
FetchContent_MakeAvailable 会自动配置 link 和 include,但是在处理仅头文件库的时候,他不会设置好 include。这样的话,实在不行的话,对于仅头文件库的话,就不能用 FetchContent 了,这样的话,对于第三方库就存在了两种 cmake 的配置方式,令人不爽。根据官方文档 https://cmake.org/cmake/help/latest/module/FetchContent.html。我猜可能是因为他没有编译出一个可用的 target?原创 2023-09-06 17:07:15 · 302 阅读 · 0 评论 -
dllexport 静态成员出错的解决方法:即使使用了 dllexport,dll 中的静态成员也不能被外部直接访问
如果你觉得你没有直接访问,但是你有一些 inline 的函数中访问了静态成员,然后这些 inline 的函数写在外部代码中,编译器对外部代码展开之后,外部代码里就会出现对 dll 中的静态成员的直接访问了。所以解决方法就是把 dll 中原本定义在类中的会被编译器识别为 inline 的函数改为在 cpp 中实现,避免 inline。即使使用了 dllexport,dll 中的静态成员也不能被外部直接访问,直接访问就会出错。原创 2023-09-06 16:49:59 · 97 阅读 · 0 评论 -
Sphinx 找不到 Doxygen 导出的 xml 中的内容的解决方法
第一个是 conf.py 可能一直找不到 sphinx_rtd_theme 这个 module,即使你更新了 pip,重新下载了 sphinx_rtd_theme 好多遍,也没有办法。我的 cmake 配置如下,主要是设置了一个虚拟环境,放在输出目录中,这样我们就可以不污染主机的 python 环境,也可以清楚地知道自己的包下载到哪里了。其中,获取 Doxygen 所需要的头文件那里,那里是我自己的项目的情况,一个 runtime 一个 engine,这个具体实现因项目而异。完整的 conf.py。原创 2023-09-04 23:42:55 · 737 阅读 · 0 评论 -
Kohi 学习笔记
他有一个习惯是用 enum 最后一个位置来记录 enum 的数量就很巧妙其实enum {比如这里是 3,表示 darray 的属性有三个学了 c 之后还是第一次看到 union 的用法,原来是这么用的就是 union 中的所有数据成员共享同一个内存,那么我可以先用一个随便叫什么名字的变量先把最大内存定好了,然后我可以用一个没有名字的 struct 来确定这个 union 的各个部分数据叫什么名字,如果比如一开始我用了一个 f32 的两个长度的数组,然后 struct 里面是 x 和 y,那么我就可以。原创 2023-09-01 22:11:34 · 350 阅读 · 0 评论 -
Vulkan capabilities.currentExtent.width 为 uint32_t max 的意义
搜了一下 https://books.google.com.hk/books?难道是默认是 max?原创 2023-08-14 00:12:05 · 103 阅读 · 0 评论 -
Vulkan VK_LAYER_KHRONOS_validation 不支持的解决办法
如果退出 vkconfig,它会提示你退出不会保存 layer 设置的覆盖,然后退出 vkconfig 之后,程序重新找不到 VK_LAYER_KHRONOS_validation。在看验证层这一节 https://vulkan-tutorial.com/Drawing_a_triangle/Setup/Validation_layers。运行它的 cpp 之后发现我居然没有获得到 VK_LAYER_KHRONOS_validation 这个拓展。我看别人的说法是要添加好环境变量。原创 2023-08-13 23:56:29 · 353 阅读 · 0 评论 -
CMake 配置 Vulkan 出现链接失败,找不到 vkEnumerateInstanceExtensionProperties 符号的错误的解决方法
使用 CMake 配置 glfw, glm 的时候,总是提示链接失败,找不到 vkEnumerateInstanceExtensionProperties 符号。本来我 link 到一个文件夹的时候,cmake 在控制台输出那里也提示了,会忽略掉这一行……果然是因为我不能 link 到一个文件夹。我还以为是要把 Vulkan SDK 的 lib 文件复制到 exe 目录底下什么的,我还在想要不要用 install。这很明显就是链接不到 Vulkan SDK 的库,但是我觉得我这么写应该没有问题。原创 2023-08-13 09:43:38 · 439 阅读 · 0 评论 -
Windows11 使用 VS2022 构建 Doom3-BFG 源码的失败记录
之后看到 https://gamedev.stackexchange.com/questions/22802/how-can-i-build-and-run-doom-3-from-source-in-windows 才知道,我应该去 steam 购买游戏本体。我有点不理解,这种资源缺失的问题,如果确实有的这样的问题的话,别人应该十年前就会提出来的啊……其实一开始我是没有反应的,因为我看到了一些 shader,我还以为这些就够了,emmm,但是我确实没看到贴图什么的,是我大意了。原创 2023-08-12 15:28:06 · 273 阅读 · 0 评论 -
Hazel 引擎学习笔记
参考:https://blog.csdn.net/alexhu2010q/article/details/107688039拉取了 7c02b7863f1d70af88b7c447b223c9da4dc9e04a 这个 commit 的时候,构建会报错原因是我们在 E:\Hazel-master\Hazel\Sandbox\src\SandboxApp.cpp 中调用了 ImGui 的 API。原创 2023-08-11 17:52:19 · 1366 阅读 · 0 评论