1

3D OpenGL ゲームのユーザー インターフェイス要素を、切り落とされることなくニア クリッピング プレーンのできるだけ近くに配置したいと考えています。たとえば、この宣言では

Matrix.frustumM(mRenderer.mProjectionMatrix, 0, -1.0f, 1.0f, -1.0f, 1.0f, 1.0f, 32.0f);

画像は、少なくとも理論的には -1.0 の z 値でレンダリングを開始します。実際には、描画を表示するには、このオブジェクトの少し後ろにオブジェクトを配置する必要があることがわかりました。その量はユーザーのデバイスによって異なります。たとえば、画面いっぱいに正方形を描くには、次のようにします。

final float[] squarePositionInterfaceData = {
            -1.0f, 1.0f, -1.0078125f,
            -1.0f, -1.0f, -1.0078125f,
            1.0f, 1.0f, -1.0078125f,
            -1.0f, -1.0f, -1.0078125f,
            1.0f, -1.0f, -1.0078125f,
            1.0f, 1.0f, -1.0078125f
};

これは、-1.0f の近 z 平面上にないため、実際にはわずかに小さく描画されます。z 配置に -1.0 を使用すると、オブジェクトがまったく描画されません。また、Matrix.orthoM 宣言のためにオブジェクトを少し押し戻す必要があることもわかりましたが、描画のサイズを決める際に距離が考慮されていないため、歪みはありません。

大多数のユーザー デバイスでオブジェクトを切断せずに z クリッピング平面にできるだけ近づけるために使用される標準的な距離はありますか?

4

0 に答える 0