[英]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.