1

GL.VertexAttribPointer(...)引数の型を として指定しようとしていますGL_DOUBLEこれは、ES20 用のこの OpenTK 関数のドキュメント (リンク)に従って有効である必要があります。

ただし、VertexAttribPointerTypeenum はDoubleOpenTK-1.0 の型が欠落しているようです。つまり、次の行です。

GL.VertexAttribPointer(ATTRIBUTE_COORD2D, 3, VertexAttribPointerType.Double, false, 0, quadVertices); 

VertexAttribPointerType..次の定義のみを提供するため、コンパイルに失敗します。

using System;
namespace OpenTK.Graphics.ES20
{
    public enum VertexAttribPointerType
    {
        Byte = 5120,
        UnsignedByte,
        Short,
        UnsignedShort,
        Float = 5126,
        Fixed = 5132
    }
}

この問題の回避策はありますか? double[]頂点シェーダーの頂点を指定するには、他にどのようにすればよいでしょうか?

4

1 に答える 1

2

glVertexAttribPointerの OpenGL ES 2.0マニュアル ページには次のように書かれています。

GL_BYTE、GL_UNSIGNED_BYTE、GL_SHORT、GL_UNSIGNED_SHORT、GL_FIXED、または GL_FLOAT が受け入れられます

したがって、OpenTK が double を持たない理由は、基礎となるフレームワークもそれをサポートしていないように見えるためです。OpenTK のドキュメントにコピー アンド ペースト エラーが発生している可能性があります。

于 2013-06-17T19:02:38.320 に答える