私はopengl esでアンドロイドに線を引いています。線がきれいに引けます。唯一の問題は、カメラがどれだけ近くても遠くても線の太さが変わらないことです。これに対する解決策はありますか?
4256 次
1 に答える
5
OpenGL は、カメラからの距離に関係なく、ピクセル単位で測定された固定幅で線を描画します。カメラの距離によって太さが変化する「線」が必要な場合は、それらをポリゴンとして描画する必要があります。
で線幅を変更できますがglLineWidth()
、ピクセル単位の固定幅のままです。また、OpenGL ES では、1.0 までの線幅をサポートするためだけに実装が必要です。
ラインをポリゴンとして描画するには、少なくとも 2 つの主な方法があります。1 つは、線ごとに 1 つのクワッドを描画し、クワッドがカメラの方を向いていることを確認することです。もう 1 つのアプローチは、複数のポリゴンで構成される「棒」(円柱) を描くことです。必要な精度にもよりますが、円柱を近似するために 4 つのポリゴンを使用するだけで十分な場合があります。これにより、基本的に細長いボックスが作成されます。
于 2014-06-30T17:30:35.620 に答える