-1
OpenTKを使ってOpenGLを学んでいます。今日私はVBOを使って四肢を効果的にレンダリングしたいと思っています。 私はそれがこれは私のレンダリングコードですOpenTK - VBO - アプリケーションクラッシュ
=================================================================
Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application.
=================================================================
Full stacktrace can be found here
をクラッシュレンダリング呼び出し:
GL.EnableVertexAttribArray(0);
GL.BindBuffer(BufferTarget.ArrayBuffer, _vbo);
GL.VertexAttribPointer(0, _count, VertexAttribPointerType.Float, false, 0, 0);
GL.DrawArrays(PrimitiveType.Quads, 0, _count);
GL.DisableVertexAttribArray(0);
そして、これは私がバッファを生成する方法です。
GL.GenBuffers(1, out _vbo);
GL.BindBuffer(BufferTarget.ElementArrayBuffer, _vbo);
Vector3[] vertices;
_count = vertices.Length;
GL.BufferData<Vector3>(BufferTarget.ArrayBuffer, new IntPtr(vertices.Length * Vector3.SizeInBytes), vertices, BufferUsageHint.StaticDraw);
PS:これには色やテクスチャを使用していません。
私は確かではありませんが、配列 "Vector3 [] vertices;"を初期化していません。さらにバッファを "BufferTarget.ElementArrayBuffer"として初期化しますが、 "BufferTarget.ArrayBuffer"でデータを入れます。そしてあなたが使用しているOpenGLのバージョン。なぜならいくつかの最新のバージョンではVertex Arraysを使う必要があるからです。 – Michael
@Michaelの頂点が定義されています(私はジェネレータがどこにあるのか分かりません)。 BufferTargetを同じ値に変更しようとしましたが(両方の値に対して)、まだ動作していません。 – AbitDeveloper