我知道 Kivy 公开了它的 OpenGL 上下文和它的一些原始接口。如果你直接篡改OpenGL,或者使用像kivy.graphics.trasformation这样的低级模块,这会对更高级别的小部件产生什么影响(通常)?是否一切都无缝协作,或者低级别的 openGL 函数是否有破坏布局或使小部件出现错误的习惯?
小部件在实现中是完全 3D 的吗?虽然他们的界面是针对 2D 的?我是否应该使用 python 扁平化我的 3D 模拟,并远离低级 api?
我还不足以从网格构建完整的 3D 对象,但如果有一些简单的硬件加速转换和纹理操作/混合/投影,那就太好了。
- 我可以使用这个Renderer模板扩展大多数内置小部件吗?GitHub
- 渲染器的多个实例会并行工作吗?(假设内置插件可以正常工作)
- 嵌套?(可能不是,如果是,则有限)
我希望在混合高级和低级 api 时给出一系列警告的答案,或者在设计时考虑到 2.5D 的现有项目框架(我见过的大多数项目都非常重视 3D 对象生成)。
项目说明
我想设置一个显示为多个分层 2D 平面(使用 sprites/drawingAPI/Widgets)的场景,但在技术上是在 3D 场景之后建模的。场景深度不需要完整的 3D 支持,但可以受益于 3D 相机平移/旋转。
我想为小部件和绘图 API 使用高级 Kivy。现在绘制顺序和缩放应该给我的场景我想要的深度。但我不确定如何获得某些缩放/平移效果。
我希望使用garden.particlesystem(据我了解,设计为平面 2D 小部件)。我计划堆叠 3 个实例,最终创建一个流体管道模拟。在第一个版本中,我不需要先进行繁重的 3D->2D 投影,但最终我可以看到它成为一个问题。