0

どういうわけか、既存のメッシュの構築を自動的に続行することは可能ですか?これはどのように行うことができますか?
例を挙げましょう。私は直方体を持っていますが、実行時にもっと大きな直方体が欲しいです。直方体にもテクスチャがあり、直方体の新しい部分に新しいテクスチャが必要です。この問題では、テクスチャリングのためにスケーリングが十分ではないと思います。実行時に直方体にテクスチャを追加するにはどうすればよいですか?

いくつかのチュートリアル/フレームワークとこの問題を解決するための助けをお願いします。


編集:@datenwolfの回答によると:
同じメッシュをより多く再利用することで、直方体の形状を拡張できると思います。
実行時に何かをテクスチャ化する方法を知っていますか?


Edit2:
では、もっと具体的な問題です。1階建てのシンプルな直方体の家を建てたいと思います。そしてしばらくして、別のフロアを追加したいと思います。簡単な作業だと思いますが、これまでこのような問題に取り組んだことはありませんでした。

4

1 に答える 1

3

OpenGLはシーングラフではありません。これは単なる描画APIです。画面に表示されているものの内部表現はありません。何かを描画した後にOpenGLに残されるのは、フレームバッファの内容だけです。

何かを変更したい場合は、フレームバッファをクリアし、調整を行ってシーンを再描画します。


Quation EDIT 2について: 最初のステートメントを繰り返すことしかできません。OpenGLはシーングラフではありません。つまり、OpenGLを使用してシーンを「構築」することはありません。持っているのは、ジオメトリデータ(頂点)とサンプリングデータ(画像/テクスチャ)です。

次に、描画関数があります。これは、OpenGLに、ジオメトリデータから三角形、線、または点を作成し、生成されたフラグメント(=ピクセル)を照明計算、単色、およびテクスチャサンプリングデータから得られた値で埋めるように指示します。

OpenGLでは、シーンに変更を加えることはできません。シーンに変更を加えるには、OpenGLに提供されるジオメトリデータと、これが意味するさまざまな描画操作を変更します

すでに述べたように、OpenGLを使用してシーン/ジオメトリを「構築」することはありません。これには、Blender、Maya、3DS Max、Cinema 4Dなどの3Dモデリングプログラムを使用し、レンダリングプログラムがアクセスできる形式でモデルをデータストア(ファイル、Webリソース、データベースエントリなど)に保存します。変更されたモデルは別の保存場所に保存され、同様に読み込まれ、新しいモデルを描画する変更を表します。

ジオメトリを構築するもう1つの方法は、基本的なビルディングブロック(平面、球、円錐、閉じたサーフェスパッチ)と論理演算(和集合、差分、交差、除外)からシーンを構築するConstructive(Solid)Geometry(CSG)システムを使用することです。 。ただし、OpenGLはジオメトリ処理ライブラリではありません。

OpenGLが提供するのは、描画ツールです。キャンバス(=フレームバッファ)、ステンシル、はさみ、コラージュ画像(テクスチャ)、「形状」(=プリミティブ、つまり点、線、三角形)、「スマートブラシ」(シェーダー)です。興味深いことに、複数のパスでステンシルバッファを使用することにより、画面スペース、ソリッドに対する画像ベースの論理演算を実行できます。ただし、これは実際には単なる画像ベースの効果であり、ジオメトリ自体は処理されません。

于 2011-09-22T06:56:42.107 に答える