5

OpenGLで何かを見たのをぼんやりと覚えています(ESではなく、これに出くわしたときにiPhoneでv1.0のままだったので、これを使用したことはありませんでした)。顔の内部を構成しました。そのため、これはモデル全体のアウトライン(私が行う方法を知っています)と同じではなく、基本的にすべてのトリスが1つのポリにブレンドされた平面のアウトラインと同じです。たとえば、triで構成された立方体では、各面は実際には2つのtriです。正方形の輪郭をレンダリングしたいのですが、顔の対角線はレンダリングしません。六角形でも同じです。これには4つのトリスが必要ですが、顔の輪郭は1つだけです。

はい、すべてのエッジをテストして、それらが同一平面上の面を共有しているかどうかを確認できますが、トライメッシュデータを定義しているときに、この線が面の輪郭を描いているのに対して、どこかで見たことを覚えていると誓ったかもしれません。 1つは顔の中にあります。」そうすれば、レンダリング時に、基本的に「ワイヤーフレームをください。ただし、それらを構成するトリスの周りではなく、完全な面のエッジの周りのワイヤーのみ」というフラグを設定できます。

ところで、私のターゲットはOpenGL ES 2.0をサポートするすべてのプラットフォームですが、私の開発プラットフォームはiOSです。繰り返しになりますが、このImは元々OpenGLにあり、シェーダーが登場すると減価償却された可能性がありますが、それが当てはまるかどうかを確認するためのこの機能への参照すら見つかりません。

私が今知っている唯一の方法は、頂点のセットを1つにすることですが、インデックスの2つの別々のセットを用意することです... 1つはトリスをレンダリングするためのもので、もう1つは面のワイヤーフレームをレンダリングするためのものです。これをたくさん手作業でコーディングすることになったので、これは本当に苦痛です。これも、線をレンダリングするときに定義できると99%確信しています。

4

1 に答える 1

3

GL_QUADS、glEdgeFlag、およびglPolygonModeは、OpenGLESではサポートされていません。

LINESを使用してワイヤーフレームを描画できます。隠線を取得するには、最初に黒で塗りつぶされた三角形(DEPTHがオン)を描画してから、GL_LINESを使用して目的のエッジを描画します。

于 2011-07-30T19:14:18.927 に答える