2010-11-16 112 views
0

我正在实施一个类项目的光栅化器,目前我坚持什么方法/如何将顶点坐标转换为查看窗格坐标。OpenGL:2D顶点坐标到2D查看坐标?

我给出一个三角形2D坐标verticies的列表,像

0 0 1 
2 0 1 
0 1 1 

,并在观察窗格IM绘图(使用OpenGL和GLUT)大小400X400像素,例如。

我的问题是我如何决定在哪里视图窗格把这些verticies,假设

1)我想坐标的周围0,0在屏幕中心为中心
2 )我想填满大部分屏幕(对于这个例子来说,屏幕是最大的x坐标+ 1长度的宽度等)
3)我可以使用OpenGL和GLUT的标准库函数。

谢谢!

回答

1

http://www.opengl.org/sdk/docs/man/xhtml/glOrtho.xml

要围绕着0使用对称左/右和底/顶。注意近/远,这些有点武断,但经常选择(在示例中)为-1 .. + 1,这可能是z = 1处三角形的问题。

如果您关心宽高比,请确保左右和底部顶部与窗口的宽度/高度成比例。

0

您应该考虑视锥这是您的体积视图,并通过变换你的目标来考虑自己的位置计算坐标,this相当全面地说明了理论..

基本上你必须使用指定的项目对象

  • 规模他们根据AZ(深度)值::你在这样成反比按比例缩放两个y和x到z
  • 您缩放和移位coordinat所计算上视图的特性筑底投影矩阵es为了适合您的视图的宽度