使用OpenGL绘制图形

8

我想用我的代码创建一个图表(2D图表), 如何在OpenGL中制作一个简单的2D图表? 我是OpenGL的新手,所以也许你可以解释一下代码是怎么工作的。 顺便说一下,这是我的代码:

    #include <iostream>
using namespace std;

int main ()
{
      double dt = 0.10;    //(it is constant)
      double t = 0.00;

      double dx = 0.10;    //(it is constant)
      double x = 0.00;

      double ddy = 1.00;   //(it is constant)
      double dy = 0.00;
      double y = 1.00;

      cout<<"t   = "<<t<<endl;
      cout<<"dx  = "<<dx<<endl;
      cout<<"x   = "<<x<<endl;
      cout<<"dy  = "<<dy<<endl;
      cout<<"y   = "<<y<<endl;
      cout<<endl;

      while(t<=5) 
      {
                  x = x + dx*dt;
                  dy = dy - ddy * dt * dt;
                  y = y + dy * dt;

                  if (y<=-1)
                  {
                             y = -y;
                             dy = -dy * 0.70;
                  }
      t  = t + dt;

      cout<<"t   = "<<t<<endl;
      cout<<"dx  = "<<dx<<endl;
      cout<<"x   = "<<x<<endl;
      cout<<"dy  = "<<dy<<endl;
      cout<<"y   = "<<y<<endl;
      cout<<endl;

      }
      system("pause");
}

1
可能是如何使用OpenGL绘制移动函数图形?的重复问题。 - Ciro Santilli OurBigBook.com
抱歉晚了,谢谢 :) - Black Cat
1个回答

9
也许你应该看一下这里:http://en.wikibooks.org/wiki/OpenGL_Programming/Scientific_OpenGL_Tutorial_01。这里有很好的信息可以帮助你开始绘制曲线。因为你有一个参数化曲线,所以只需将x和y存储在顶点缓冲对象(VBO)中,大小为你想要在曲线上绘制的点数,并像这样绘制该VBO:
glDrawArrays(GL_LINE_STRIP, 0, nbPoints);

这将创建一条连接您所有点的连续折线。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接