1

このチュートリアル を使用していて動作しましたが、三角形の点のみを描画したかったのです。drawArrays のモードを GLES20.GL_TRIANGLES から GLES20.GL_POINTS に設定すると、何も描画されません。または、頂点シェーダーでポイント サイズを設定するだけでも、何も描画されません。私は何が欠けていますか?

このようなコードを見ると、 必要でない限りテクスチャを使用したくないので、何が必要なのかわかりません。

4

1 に答える 1

0

単純な OpenGL プリミティブ」 言います:

ポイントは、火花や、光線を通過する際にちらちらと光るダスト パーティクルなどの優れたパーティクル エフェクトを作成できます。3D グラフィックスを扱っていても、画面上の 1 点をレンダリングするだけで 2D 空間の錯覚が生じます。これは、モニター画面がフラットまたは 2 次元であり、奥行きを示すものがないためです。したがって、ポイントをインタラクティブに見せる方法の 1 つは、 円、らせん、正弦および余弦の式のバリエーションなどの興味深いパターンで画面上を移動させることです。

編集:しかし、ポイント
だけを表示したい場合は、次のようにglPointSize(float size)またはglPointSize(int size)を使用できます。

gl.glPointSize(5.0f);
gl.glDrawElements(...);    

一方、OpenGL ES 2.0 はポイント スプライトをサポートし、頂点シェーダーでは、次のように gl_PointSize でサイズを設定できます。

uniform float uThickness;
...
gl_PointSize = uThickness;    

参考文献:
stackexchange
wikibooks
Pro Open GL ES for Android

于 2012-04-23T09:52:24.977 に答える