繁体   English   中英

使用C ++和Python在OpenGL中进行资源管理

[英]Resource management in OpenGL using C++ and Python

我在OpenGL中创建了一个资源加载器,并将其公开给Python,有一个函数叫做:

Texture* tex = ResourceManager->loadTexture('name.png')

然后,我将纹理名称保留在矢量列表中,因此下一次要加载它时,我将检查它是否已经加载,如果返回则使用该指针返回它。

但是,当我要卸载它时,我不知道它已经被使用了多少次,如果直接卸载它,它将崩溃,因为多次使用同一指针,所以我所有的类都暴露给Python。

我想知道是否可以将所有这些麻烦留给Python(自动卸载​​),并且仍然跟踪我加载并重用了哪些纹理?

PS:

platform: linux-x64
gcc: 4.8.3
python    c++   boost-python,
editor:kdevelop

Boost.Python将正确使用C ++ 11或boost shared_ptr。 只需返回boost :: shared_ptr即可,引用计数将在整个语言范围以及您的C ++代码中得到解决。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM