1

For Windows there are many tools for extracting 3D data from programmes by intercepting the OpenGL data (e.g. 3D Ripper DX, glintercept, Ogle, OpenGLXtractor, HijackGL).

Are there any similar tools for Linux? If not, would it be possible to make one? (and if would anyone be interested in starting an open source project with me?)

I will actually automate the process, but that is another story.

4

1 に答える 1

3

最初に警告: OpenGL はシーン グラフではありません。OpenGL には、(物理的な意味での) 「シーン」や「オブジェクト」のようなものはありません。OpenGL が行うすべてのことは、点、線、および三角形を一度に 1 つずつ、互いに独立してシーンに描画することです。そのため、オブジェクトを抽出するための OpenGL 描画呼び出しをインターセプトすることは、本質的に信頼できません。そうは言っても、OpenGL を使用するほとんどのプログラムは、レンダリングされたジオメトリを抽出してオブジェクトとして解釈することを実際に実現可能にする方法でそれを行います。

私のハッカースペースの別のメンバーは、OpenGL 呼び出しをインターセプトしてメッシュを抽出するためのツールを作成しました (元の用途は、ゲーム アセットなどを RepRap で 3D プリントするためでした)。このツールのソースは、https://github.com/mazzoo/ogldumpにあります。

ただし、ogldumpは非常に制限されています。頂点バッファー オブジェクト (VBO) はサポートされておらず、インターリーブされた頂点配列によって問題が発生する可能性があり、シェーダーや一般的な頂点属性などはまったく知られていません。必要に応じて、自由にパッチを適用してください。

于 2013-07-25T09:07:52.973 に答える