Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.138.33.178] |
|
Сообщ.
#1
,
|
|
|
Требуется рисовать график с помощью VBO. Использую C# и OpenTK.
Так загружаю: vdata = new List<double>(); double t = -100; double f = 1.1; double w = 2 * Math.PI * f; while(t < 100) { vdata.Add(t); vdata.Add(5 * Math.Sin( w * t )); t += 0.0001; } GL.GenBuffers(1, out bufID); GL.BindBuffer(BufferTarget.ArrayBuffer, bufID); GL.BufferData(BufferTarget.ArrayBuffer, (IntPtr)(sizeof(double) * vdata.Count), vdata.ToArray(), BufferUsageHint.StaticDraw); GL.BindBuffer(BufferTarget.ArrayBuffer, 0); Так рисую: GL.Clear(ClearBufferMask.ColorBufferBit); GL.Color3(Color.Black); GL.BindBuffer(BufferTarget.ArrayBuffer, bufID); GL.EnableClientState(ArrayCap.VertexArray); GL.VertexPointer(2, VertexPointerType.Double, 0, 0); GL.DrawArrays(PrimitiveType.LineStrip, 0, 1); GL.DisableClientState(ArrayCap.VertexArray); //Оси GL.Color3(Color.Black); GL.Begin(BeginMode.Lines); GL.Vertex2(100, 0); GL.Vertex2(-100, 0); GL.Vertex2(0, 10); GL.Vertex2(0, -10); GL.End(); glControl1.SwapBuffers(); На экране появляются только оси. |