На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела "Программирование графики"
1) Данный раздел предназначен для обсуждения проблем, возникающих при программировании задач, связанных с чтением, сохранением, обработкой, созданием, отрисовкой графической информации (в том числе - 3D [OpenGL, Direct3D] и анимации [в т.ч. VFW, DirectShow, OpenDML]).
Флэш обсуждают здесь!.

2) Если вы хотите получить совет для конкретной платформы/языка программирования, обязательно укажите их в вопросе.

3) Уважаемые новички! Мы приветствуем Ваше желание научить всех посетителей раздела правильному программированию. Но огромная просьба, перед тем, как писать поучения в старых (последний ответ - "старее" месяца, а особенно, если вопрошавший не появляется на форуме уже не первый месяц, в чем можно убедиться в его профиле) темах, хорошо подумать, будет ли кому-нибудь, кроме Вас cамих, это интересно.



Ваше мнение о модераторах: user posted imageBarazuk, user posted imageOpenGL, user posted imageMikle
Модераторы: OpenGL, Mikle
  
> OpenGL VBO График
    Требуется рисовать график с помощью VBO. Использую C# и OpenTK.

    Так загружаю:

    ExpandedWrap disabled
                  
      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);



    Так рисую:
    ExpandedWrap disabled
      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();


    На экране появляются только оси.
    Сообщение отредактировано: Sile -
    0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
    0 пользователей:


    Рейтинг@Mail.ru
    [ Script execution time: 0,0428 ]   [ 16 queries used ]   [ Generated: 29.03.24, 02:20 GMT ]