OpenGL ES2.0で線の点描(破線/点線)を実装しようとしていて、このトピックについて多くのスレッドが見つかりました。しかし、例はありませんでした。誰かがこれを前にやっていて、実装に手伝ってもらえますか?OpenGL ESで線を点描する
答えて
存在のOpenGL ESに点描線には直接サポートされないので、一般的なアプローチは、次のとおり
- は、複数の別個のラインセグメントをレンダリングし、点描パターンの一つの固体部分をレンダリングする各セグメントは。
- 2つの三角形でできた細い四角形をレンダリングし、透明なテクスチャを使用して線の点描効果を適用します。
パフォーマンス上の観点からは、画面にかなりの数の行がある場合は後者をお勧めします。
オプション3は、solidpixelによって指定されたものを超えて、テクスチャ線を使用することです。ラインのフラグメントシェーダは、他のフラグメントシェーダと同様に変化を受け取り、テクスチャをサンプリングすることができます。したがって、さまざまなテクスチャ座標をx = 0
からx = k * (length of line)
まで入力し、テクスチャをサンプリングしてフラグメントカラーを生成します。
OpenGLで線を描画するときの動作は、四角形を描画するときの動作と異なります。対角線上の細い四角形は、フラグメント中心を欠くことがありますが、線は常にフラグメントの連続コレクションを描画します。
だから、それをあらかじめ計算してそれを調べることと比較して、飛行中に点描を計算することは多かれ少なかれです。あなたが固体ピクセルの支持者としてそれを計算することができるなら、より少ない帯域幅を消費するので、それはおそらく望ましいです。
このオプションは単純な行で使用できます。しかし、私は2つの線を点描しようとすると(3つの位置の頂点を渡すことによって)、テクスチャリングは最初の線に関連しているので機能しません。 2番目の行には点描パターンがありません。 –
私は、各点でのテクスチャ座標が、その点までのストリップ内のすべての線に沿った合計距離から計算される限り、それは良いと思います。したがって、ジオメトリを生成する際には累積合計を維持してください。 – Tommy
- 1. OpenGL ES点線の円の円の描画
- 2. OpenGL ES 2.0 GLKit線を描く
- 3. OpenGL ES - 線のみで描画する三角形?
- 4. Android OpenGL ES法線
- 5. OpenGL ES 1.0を使用したAndroid上の描画線
- 6. OpenGL ESで描画を伸ばす - iOS
- 7. OpenGl ES 2D Android再描画
- 8. OpenGL ES 2.0、複数の頂点バッファを使用した描画
- 9. ベジェ曲線の各点に接線を描くopengl
- 10. OpenGL ESで輪郭を描く
- 11. OpenGL ES:頂点/カラーバッファ/ポインタ
- 12. iPhoneでOpenGL ESを使用して直線を描画しますか?
- 13. iPhoneゲームアプリでOpenGL ESを使用してアニメーションで直線を描く方法は?
- 14. OpenGL ES 2.0での2D描画(iOS)
- 15. OpenGL ESでの描画の問題
- 16. アンドロイドのOpenGL-esでタッチ上でテクスチャ/テキストとして点を描く方法は?
- 17. OpenGL ES 2(Android)ビットマップを描画
- 18. OpenGL ES:小さなオブジェクトを描く
- 19. OpenGL ES 2.0とOpenGL 3との類似点と相違点
- 20. Android OpenGL Es描画線がAdreno GPUで正しく動作しない
- 21. OpenGL ESの単一ピクセル描画アンドロイド
- 22. OpenGL ES 3.0 Javaはカラーアトリビュート(各頂点と異なる色)で頂点を描画します
- 23. iOSのOpenGL ESコンテキストでアウトラインテキストを描画する方法は?
- 24. OpenGL-ES 2.0で透明ポリゴンを描画する方法は?
- 25. 私は準備openglの-ESでカスタムレンダラを使用している場合のOpenGL-ESを使用して線を描画する最も簡単な方法(アンドロイド)
- 26. GLKit/OpenGL-ESで法線を自動的に計算する
- 27. OpenGL ES 2.0頂点変換アルゴリズム
- 28. OpenGL ES 2.0と頂点バッファオブジェクト(VBO)
- 29. OpenGLのアンドロイドで線を描く方法
- 30. AndroidでOpenGL ES描画の背景色を止めるには?
私は後者の方が線の太さとアンチエイリアスをよりよく制御できると思います。 – Columbo
私は円のようないくつかの異なる要素を持っているので、私の問題のために非常に重くて非常に困難な最初の接近を理解しています。しかし、私は第二の近道を理解していない。例がありますか? –
http://korkd.com/2012/02/15/dashed-lines/ –