/ / C ++およびPythonを使用したOpenGLのリソース管理-python、c ++、boost-python

C ++とPythonを使ったOpenGLのリソース管理 - python、c ++、boost-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

回答:

回答№1は0

ブースト。PythonはC ++ 11を正しく使用するか、shared_ptrをブーストします。代わりにboost :: shared_ptrを返すだけで、参照カウントが言語境界を越えて、またC ++コードで処理されます。