社区
周边
GitHub
GAMES104
发帖
</>Developers Community
Piccolo Engine
社区
周边
登录 | 注册
欲体验完整版功能
请移步PC端访问
piccoloengine.com
×
Lazy_V
https://github.com/zzxzzk115
帖子
5
评论
9
收藏
0
你或许需要的是这个? https://github.com/AngelMonica126/GraphicAlgorithm
其他
课程中提到的算法相关文章和代码的获取途径
赞
3
评论
1
评论于 565 天前
Lazy_V
评论于565 天前
其他
“
你或许需要的是这个? https://github.com/AngelMonica126/GraphicAlgorithm
课程中提到的算法相关文章和代码的获取途径
赞
3
评论
1
有参考资料可以分享嘛,学习一下
其他
游戏编辑器和UI开发
赞
评论
3
评论于 565 天前
Lazy_V
评论于565 天前
其他
“
有参考资料可以分享嘛,学习一下
游戏编辑器和UI开发
赞
评论
3
我也算图形小白,之前我是搞 .NET 服务器开发的。我分析 Piccolo 的方式首先是阅读 CMakeLists.txt,分析项目文件结构,有哪些编译目标,以及编译流程是怎么样的。然后生成项目,可以是 VS 解决方案,可以是 XCode 工程,也可以直接用 Clion 在根目录打开。随后找到 main loop,打断点,单步调试,了解大致的执行流程。对于图形渲染这一块,我会使用 RenderDoc 去抓帧,看看渲染管线中存在哪些 Pass,每个 Pass 做了什么事情,数据怎么组织,然后分析对应 C++ 代码和 glsl 代码是怎么写的。对于反射系统,我会大致了解 Clang 的 API 以及代码生成的流程,不过这主要也只是为了编辑器绘制更加方便,Schema 组织更简单,前期可以不用太深究,以免浪费太多时间,我一开始自己写引擎都是自己硬写的,没用反射。然后就可以开始借鉴 Piccolo 的思路开始写引擎了,不过在那之前还可以看看 The Cherno 的系列视频,参考 Hazel 的实现。我则是借鉴了 Piccolo 的项目结构、Hazel 的核心,随后参考其他开源引擎,实现了 OpenGL + DX11 双 RHI 的小引擎,正在开发中。OpenGL 的 RHI 设计,多半是先学习 LearnOpenGL 的某个知识点以后,根据自己引擎的数据组织方式,整合成一些 RenderCommand。DX11 这边我目前暂停开发了,想着 OpenGL 先实现差不多了再说。当引擎实现一定的功能后,就可以开始基于引擎去写一些样例项目了,这些样例项目可以实现一些图形渲染效果,这样就可以一边完善引擎,一边深入图形渲染的学习。以上仅为我个人的思路,希望对你有帮助。
Piccolo
我该如何利用piccolo引擎学习游戏引擎的知识?
赞
11
评论
2
评论于 573 天前
Lazy_V
评论于573 天前
Piccolo
“
我也算图形小白,之前我是搞 .NET 服务器开发的。我分析 Piccolo 的方式首先是阅读 CMakeLists.txt,分析项目文件结构,有哪些编译目标,以及编译流程是怎么样的。然后生成项目,可以是 VS 解决方案,可以是 XCode 工程,也可以直接用 Clion 在根目录打开。随后找到 main loop,打断点,单步调试,了解大致的执行流程。对于图形渲染这一块,我会使用 RenderDoc 去抓帧,看看渲染管线中存在哪些 Pass,每个 Pass 做了什么事情,数据怎么组织,然后分析对应 C++ 代码和 glsl 代码是怎么写的。对于反射系统,我会大致了解 Clang 的 API 以及代码生成的流程,不过这主要也只是为了编辑器绘制更加方便,Schema 组织更简单,前期可以不用太深究,以免浪费太多时间,我一开始自己写引擎都是自己硬写的,没用反射。然后就可以开始借鉴 Piccolo 的思路开始写引擎了,不过在那之前还可以看看 The Cherno 的系列视频,参考 Hazel 的实现。我则是借鉴了 Piccolo 的项目结构、Hazel 的核心,随后参考其他开源引擎,实现了 OpenGL + DX11 双 RHI 的小引擎,正在开发中。OpenGL 的 RHI 设计,多半是先学习 LearnOpenGL 的某个知识点以后,根据自己引擎的数据组织方式,整合成一些 RenderCommand。DX11 这边我目前暂停开发了,想着 OpenGL 先实现差不多了再说。当引擎实现一定的功能后,就可以开始基于引擎去写一些样例项目了,这些样例项目可以实现一些图形渲染效果,这样就可以一边完善引擎,一边深入图形渲染的学习。以上仅为我个人的思路,希望对你有帮助。
我该如何利用piccolo引擎学习游戏引擎的知识?
赞
11
评论
2
我整理了一下,可以参考: https://flowus.cn/62c8a779-4020-4b05-a904-963592f6e0a2
图形学
有什么好的学习路线,书籍推荐吗?希望倾听建议,避免闭门造车。
赞
1
评论
评论于 573 天前
Lazy_V
评论于573 天前
图形学
“
我整理了一下,可以参考: https://flowus.cn/62c8a779-4020-4b05-a904-963592f6e0a2
有什么好的学习路线,书籍推荐吗?希望倾听建议,避免闭门造车。
赞
1
评论
我也在整理学习路线,这是思维导图: https://flowus.cn/62c8a779-4020-4b05-a904-963592f6e0a2 会慢慢随着我的开发,逐步更新内容。
生活杂谈
恭喜P社
赞
2
评论
评论于 574 天前
Lazy_V
评论于574 天前
生活杂谈
“
我也在整理学习路线,这是思维导图: https://flowus.cn/62c8a779-4020-4b05-a904-963592f6e0a2 会慢慢随着我的开发,逐步更新内容。
恭喜P社
赞
2
评论
想写就开始写吧,不用等到全部都掌握了才开始动手实践,缺理论的时候就去补,缺 C++ 知识点的时候就去补,总之就是先开始,再查漏补缺。有很多开源引擎可以借鉴,例如 - Piccolo(https://github.com/BoomingTech/Piccolo) - Hazel(https://github.com/TheCherno/Hazel) - LumixEngine(https://github.com/nem0/LumixEngine) - Overload (https://github.com/adriengivry/Overload)。 有很多的第三方库能省去造论子的时间,我这里把我的 star list 分享给你: https://github.com/stars/zzxzzk115/lists/game-engine-dev
生活杂谈
恭喜P社
赞
2
评论
1
评论于 574 天前
Lazy_V
评论于574 天前
生活杂谈
“
想写就开始写吧,不用等到全部都掌握了才开始动手实践,缺理论的时候就去补,缺 C++ 知识点的时候就去补,总之就是先开始,再查漏补缺。有很多开源引擎可以借鉴,例如 - Piccolo(https://github.com/BoomingTech/Piccolo) - Hazel(https://github.com/TheCherno/Hazel) - LumixEngine(https://github.com/nem0/LumixEngine) - Overload (https://github.com/adriengivry/Overload)。 有很多的第三方库能省去造论子的时间,我这里把我的 star list 分享给你: https://github.com/stars/zzxzzk115/lists/game-engine-dev
恭喜P社
赞
2
评论
1
PhysX 相关的物理检测代码封装成公共部分,编译为静态/动态链接库,(如果是 iOS 则是静态链接库),保证前后端逻辑一致,这样你只用维护一份代码,不需要进行重复的工作。然后客户端这边不要依赖于客户端的物理引擎(例如 Unity 内置的 PhysX),而是以 Plugin 加载静态/动态链接库的形式,调用公共部分的这块代码。服务器则是直接引用这个静态/动态链接库,在这基础上写校验逻辑。如果使用 Unity 作为客户端,.NET 实现服务器,你需要对 PhysX 进行包装,写一层 P/Invoke 的 C# Wrapper 库,包含一系列调用 C++ 代码的 C# 接口。
服务器
请问大家对云服务器引擎怎么看
赞
1
评论
评论于 587 天前
Lazy_V
评论于587 天前
服务器
“
PhysX 相关的物理检测代码封装成公共部分,编译为静态/动态链接库,(如果是 iOS 则是静态链接库),保证前后端逻辑一致,这样你只用维护一份代码,不需要进行重复的工作。然后客户端这边不要依赖于客户端的物理引擎(例如 Unity 内置的 PhysX),而是以 Plugin 加载静态/动态链接库的形式,调用公共部分的这块代码。服务器则是直接引用这个静态/动态链接库,在这基础上写校验逻辑。如果使用 Unity 作为客户端,.NET 实现服务器,你需要对 PhysX 进行包装,写一层 P/Invoke 的 C# Wrapper 库,包含一系列调用 C++ 代码的 C# 接口。
请问大家对云服务器引擎怎么看
赞
1
评论
可能是 MSVC 和 MinGW gcc 在预编译期对于你文件命名的处理规则不同,我观察到你的 .h 文件实际命名是小写,但是你 #include 的时候却存在大写。
Piccolo
实现Piccolo源码解读第二期:反射系统时遇到的问题
赞
评论
评论于 587 天前
Lazy_V
评论于587 天前
Piccolo
“
可能是 MSVC 和 MinGW gcc 在预编译期对于你文件命名的处理规则不同,我观察到你的 .h 文件实际命名是小写,但是你 #include 的时候却存在大写。
实现Piccolo源码解读第二期:反射系统时遇到的问题
赞
评论
不知道回答正不正确... 我最近也在摸索多 RHI 的实现,Piccolo 目前的 RHI 只实现了 Vulkan 的版本,而且一些 RHI 的结构和枚举值实际上也是直接来自于 Vulkan,改了个名字的那种。对于 Pipeline 的实现,也是基于 Vulkan 理念的实现,管线内部,目前也是直接暴力强转 RHI 为 VulkanRHI。如果需要支持 OpenGL,需要进一步抽象 RHI 相关的 Structure 和 枚举,包括实现枚举的转义。由于 OpenGL 是一个大的状态机,和 Vulkan 的理念本质上是不同的,你对于 Pipeline 的实现也得进一步抽象,从而同时满足多个图形 API。
Piccolo
向各位大佬请教一个问题:PICCOLO里面用Opengl实现加载obj三维模型有什么好的思路吗?
赞
评论
评论于 590 天前
Lazy_V
评论于590 天前
Piccolo
“
不知道回答正不正确... 我最近也在摸索多 RHI 的实现,Piccolo 目前的 RHI 只实现了 Vulkan 的版本,而且一些 RHI 的结构和枚举值实际上也是直接来自于 Vulkan,改了个名字的那种。对于 Pipeline 的实现,也是基于 Vulkan 理念的实现,管线内部,目前也是直接暴力强转 RHI 为 VulkanRHI。如果需要支持 OpenGL,需要进一步抽象 RHI 相关的 Structure 和 枚举,包括实现枚举的转义。由于 OpenGL 是一个大的状态机,和 Vulkan 的理念本质上是不同的,你对于 Pipeline 的实现也得进一步抽象,从而同时满足多个图形 API。
向各位大佬请教一个问题:PICCOLO里面用Opengl实现加载obj三维模型有什么好的思路吗?
赞
评论
创作等级
LV2
会员等级
P2
50
获得点赞
18
获得评论
3
获得收藏
Lazy_V
个人中心
创作等级
LV2
会员等级
P2
50
获得点赞
18
获得评论
3
获得收藏
帖子
评论
收藏
你或许需要的是这个? https://github.com/AngelMonica126/GraphicAlgorithm
其他
课程中提到的算法相关文章和代码的获取途径
赞
3
评论
1
评论于 565 天前
Lazy_V
评论于565 天前
其他
“
你或许需要的是这个? https://github.com/AngelMonica126/GraphicAlgorithm
课程中提到的算法相关文章和代码的获取途径
赞
3
评论
1
有参考资料可以分享嘛,学习一下
其他
游戏编辑器和UI开发
赞
评论
3
评论于 565 天前
Lazy_V
评论于565 天前
其他
“
有参考资料可以分享嘛,学习一下
游戏编辑器和UI开发
赞
评论
3
我也算图形小白,之前我是搞 .NET 服务器开发的。我分析 Piccolo 的方式首先是阅读 CMakeLists.txt,分析项目文件结构,有哪些编译目标,以及编译流程是怎么样的。然后生成项目,可以是 VS 解决方案,可以是 XCode 工程,也可以直接用 Clion 在根目录打开。随后找到 main loop,打断点,单步调试,了解大致的执行流程。对于图形渲染这一块,我会使用 RenderDoc 去抓帧,看看渲染管线中存在哪些 Pass,每个 Pass 做了什么事情,数据怎么组织,然后分析对应 C++ 代码和 glsl 代码是怎么写的。对于反射系统,我会大致了解 Clang 的 API 以及代码生成的流程,不过这主要也只是为了编辑器绘制更加方便,Schema 组织更简单,前期可以不用太深究,以免浪费太多时间,我一开始自己写引擎都是自己硬写的,没用反射。然后就可以开始借鉴 Piccolo 的思路开始写引擎了,不过在那之前还可以看看 The Cherno 的系列视频,参考 Hazel 的实现。我则是借鉴了 Piccolo 的项目结构、Hazel 的核心,随后参考其他开源引擎,实现了 OpenGL + DX11 双 RHI 的小引擎,正在开发中。OpenGL 的 RHI 设计,多半是先学习 LearnOpenGL 的某个知识点以后,根据自己引擎的数据组织方式,整合成一些 RenderCommand。DX11 这边我目前暂停开发了,想着 OpenGL 先实现差不多了再说。当引擎实现一定的功能后,就可以开始基于引擎去写一些样例项目了,这些样例项目可以实现一些图形渲染效果,这样就可以一边完善引擎,一边深入图形渲染的学习。以上仅为我个人的思路,希望对你有帮助。
Piccolo
我该如何利用piccolo引擎学习游戏引擎的知识?
赞
11
评论
2
评论于 573 天前
Lazy_V
评论于573 天前
Piccolo
“
我也算图形小白,之前我是搞 .NET 服务器开发的。我分析 Piccolo 的方式首先是阅读 CMakeLists.txt,分析项目文件结构,有哪些编译目标,以及编译流程是怎么样的。然后生成项目,可以是 VS 解决方案,可以是 XCode 工程,也可以直接用 Clion 在根目录打开。随后找到 main loop,打断点,单步调试,了解大致的执行流程。对于图形渲染这一块,我会使用 RenderDoc 去抓帧,看看渲染管线中存在哪些 Pass,每个 Pass 做了什么事情,数据怎么组织,然后分析对应 C++ 代码和 glsl 代码是怎么写的。对于反射系统,我会大致了解 Clang 的 API 以及代码生成的流程,不过这主要也只是为了编辑器绘制更加方便,Schema 组织更简单,前期可以不用太深究,以免浪费太多时间,我一开始自己写引擎都是自己硬写的,没用反射。然后就可以开始借鉴 Piccolo 的思路开始写引擎了,不过在那之前还可以看看 The Cherno 的系列视频,参考 Hazel 的实现。我则是借鉴了 Piccolo 的项目结构、Hazel 的核心,随后参考其他开源引擎,实现了 OpenGL + DX11 双 RHI 的小引擎,正在开发中。OpenGL 的 RHI 设计,多半是先学习 LearnOpenGL 的某个知识点以后,根据自己引擎的数据组织方式,整合成一些 RenderCommand。DX11 这边我目前暂停开发了,想着 OpenGL 先实现差不多了再说。当引擎实现一定的功能后,就可以开始基于引擎去写一些样例项目了,这些样例项目可以实现一些图形渲染效果,这样就可以一边完善引擎,一边深入图形渲染的学习。以上仅为我个人的思路,希望对你有帮助。
我该如何利用piccolo引擎学习游戏引擎的知识?
赞
11
评论
2
我整理了一下,可以参考: https://flowus.cn/62c8a779-4020-4b05-a904-963592f6e0a2
图形学
有什么好的学习路线,书籍推荐吗?希望倾听建议,避免闭门造车。
赞
1
评论
评论于 573 天前
Lazy_V
评论于573 天前
图形学
“
我整理了一下,可以参考: https://flowus.cn/62c8a779-4020-4b05-a904-963592f6e0a2
有什么好的学习路线,书籍推荐吗?希望倾听建议,避免闭门造车。
赞
1
评论
我也在整理学习路线,这是思维导图: https://flowus.cn/62c8a779-4020-4b05-a904-963592f6e0a2 会慢慢随着我的开发,逐步更新内容。
生活杂谈
恭喜P社
赞
2
评论
评论于 574 天前
Lazy_V
评论于574 天前
生活杂谈
“
我也在整理学习路线,这是思维导图: https://flowus.cn/62c8a779-4020-4b05-a904-963592f6e0a2 会慢慢随着我的开发,逐步更新内容。
恭喜P社
赞
2
评论
想写就开始写吧,不用等到全部都掌握了才开始动手实践,缺理论的时候就去补,缺 C++ 知识点的时候就去补,总之就是先开始,再查漏补缺。有很多开源引擎可以借鉴,例如 - Piccolo(https://github.com/BoomingTech/Piccolo) - Hazel(https://github.com/TheCherno/Hazel) - LumixEngine(https://github.com/nem0/LumixEngine) - Overload (https://github.com/adriengivry/Overload)。 有很多的第三方库能省去造论子的时间,我这里把我的 star list 分享给你: https://github.com/stars/zzxzzk115/lists/game-engine-dev
生活杂谈
恭喜P社
赞
2
评论
1
评论于 574 天前
Lazy_V
评论于574 天前
生活杂谈
“
想写就开始写吧,不用等到全部都掌握了才开始动手实践,缺理论的时候就去补,缺 C++ 知识点的时候就去补,总之就是先开始,再查漏补缺。有很多开源引擎可以借鉴,例如 - Piccolo(https://github.com/BoomingTech/Piccolo) - Hazel(https://github.com/TheCherno/Hazel) - LumixEngine(https://github.com/nem0/LumixEngine) - Overload (https://github.com/adriengivry/Overload)。 有很多的第三方库能省去造论子的时间,我这里把我的 star list 分享给你: https://github.com/stars/zzxzzk115/lists/game-engine-dev
恭喜P社
赞
2
评论
1
PhysX 相关的物理检测代码封装成公共部分,编译为静态/动态链接库,(如果是 iOS 则是静态链接库),保证前后端逻辑一致,这样你只用维护一份代码,不需要进行重复的工作。然后客户端这边不要依赖于客户端的物理引擎(例如 Unity 内置的 PhysX),而是以 Plugin 加载静态/动态链接库的形式,调用公共部分的这块代码。服务器则是直接引用这个静态/动态链接库,在这基础上写校验逻辑。如果使用 Unity 作为客户端,.NET 实现服务器,你需要对 PhysX 进行包装,写一层 P/Invoke 的 C# Wrapper 库,包含一系列调用 C++ 代码的 C# 接口。
服务器
请问大家对云服务器引擎怎么看
赞
1
评论
评论于 587 天前
Lazy_V
评论于587 天前
服务器
“
PhysX 相关的物理检测代码封装成公共部分,编译为静态/动态链接库,(如果是 iOS 则是静态链接库),保证前后端逻辑一致,这样你只用维护一份代码,不需要进行重复的工作。然后客户端这边不要依赖于客户端的物理引擎(例如 Unity 内置的 PhysX),而是以 Plugin 加载静态/动态链接库的形式,调用公共部分的这块代码。服务器则是直接引用这个静态/动态链接库,在这基础上写校验逻辑。如果使用 Unity 作为客户端,.NET 实现服务器,你需要对 PhysX 进行包装,写一层 P/Invoke 的 C# Wrapper 库,包含一系列调用 C++ 代码的 C# 接口。
请问大家对云服务器引擎怎么看
赞
1
评论
可能是 MSVC 和 MinGW gcc 在预编译期对于你文件命名的处理规则不同,我观察到你的 .h 文件实际命名是小写,但是你 #include 的时候却存在大写。
Piccolo
实现Piccolo源码解读第二期:反射系统时遇到的问题
赞
评论
评论于 587 天前
Lazy_V
评论于587 天前
Piccolo
“
可能是 MSVC 和 MinGW gcc 在预编译期对于你文件命名的处理规则不同,我观察到你的 .h 文件实际命名是小写,但是你 #include 的时候却存在大写。
实现Piccolo源码解读第二期:反射系统时遇到的问题
赞
评论
不知道回答正不正确... 我最近也在摸索多 RHI 的实现,Piccolo 目前的 RHI 只实现了 Vulkan 的版本,而且一些 RHI 的结构和枚举值实际上也是直接来自于 Vulkan,改了个名字的那种。对于 Pipeline 的实现,也是基于 Vulkan 理念的实现,管线内部,目前也是直接暴力强转 RHI 为 VulkanRHI。如果需要支持 OpenGL,需要进一步抽象 RHI 相关的 Structure 和 枚举,包括实现枚举的转义。由于 OpenGL 是一个大的状态机,和 Vulkan 的理念本质上是不同的,你对于 Pipeline 的实现也得进一步抽象,从而同时满足多个图形 API。
Piccolo
向各位大佬请教一个问题:PICCOLO里面用Opengl实现加载obj三维模型有什么好的思路吗?
赞
评论
评论于 590 天前
Lazy_V
评论于590 天前
Piccolo
“
不知道回答正不正确... 我最近也在摸索多 RHI 的实现,Piccolo 目前的 RHI 只实现了 Vulkan 的版本,而且一些 RHI 的结构和枚举值实际上也是直接来自于 Vulkan,改了个名字的那种。对于 Pipeline 的实现,也是基于 Vulkan 理念的实现,管线内部,目前也是直接暴力强转 RHI 为 VulkanRHI。如果需要支持 OpenGL,需要进一步抽象 RHI 相关的 Structure 和 枚举,包括实现枚举的转义。由于 OpenGL 是一个大的状态机,和 Vulkan 的理念本质上是不同的,你对于 Pipeline 的实现也得进一步抽象,从而同时满足多个图形 API。
向各位大佬请教一个问题:PICCOLO里面用Opengl实现加载obj三维模型有什么好的思路吗?
赞
评论