バッファと頂点での作業Iバッファにいくつかの頂点データ(属性)をロードする Swift 3でglVertexAttribPointer関数を使用するには?
glBufferData(GL_ARRAY_BUFFER, sizeof(attributes), attributes, GL_DYNAMIC_DRAW);
を使用するのOpenGL ES(3.0)とObjective-Cの属性、次いで
glEnableVertexAttribArray(0);
glVertexAttribPointer(0, sizeof(VertexCoordinatesStruct)/sizeof(GLfloat), GL_FLOAT, GL_FALSE, sizeof(VertexAttributesStruct), 0);
glEnableVertexAttribArray(1);
glVertexAttribPointer(1, sizeof(TextureCoordinatesStruct)/sizeof(GLfloat), GL_FLOAT, GL_FALSE, sizeof(VertexAttributesStruct), (void *)sizeof(VertexCoordinatesStruct));
に頂点シェーダ用のバッファに頂点データメモリレイアウトを指定します。どのようにしてsizeof(OGLVertexCoordinates)をvoid *に2番目のglVertexAttribPointer呼び出しでキャストしているかに注目してください。これは、TextureCoordinatesStructデータが存在するGL_ARRAY_BUFFERのオフセットです。
そして私はSwift 3で同じ正確なタイプのコードを実装しようとしていますが、glVertexAttribPointer関数はUnsafeRawPointerをvoid *でなく最後のパラメータとして取ります。 私はObjcでできるように、特定の値(メモリオフセット)でUnsafeRawPointerを作成できません。
スウィフトでは動作しません。単に、私は、すべてのQは/ AIは見つけることができる研究してきたが、それらのすべてが、私の場合には適していませんか
これだけです! UnsafeRawPointer(bitPattern:i)は私が必要とするものです。ありがとうございました!私は実際にその初期化子を見たが、なぜパラメータがbitPatternと呼ばれるのか分からなかったので、私はそれを見落とした:(後でそれらのランタイムクラッシュをチェックするだろう)私が見つけたら/問題を解決するならここで報告するだろう –
クラッシュやその他の問題が発生します。 –