关于图形:OpenGL:2D顶点坐标到2D查看坐标?

OpenGL: 2D Vertex coordinates to 2D viewing coordinates?

我正在为一个类项目实现一个光栅化器,目前我一直在研究将顶点坐标转换为查看窗格坐标的方法/方法。

我得到了一个三角形的二维坐标的垂直列表,比如

1
2
3
 0 0 1  
 2 0 1  
 0 1 1

例如,我在尺寸为400x400像素的查看窗格(使用OpenGL和GLUT)中绘制。

我的问题是如何确定在视图窗格中放置这些垂直线的位置,假设

1)我希望坐标在屏幕中心0.0左右居中。2)我想填充大部分屏幕(例如,屏幕是最大x坐标+1长度宽度等)3)我有任何和所有OpenGL和GLUT的标准库功能可供我使用。

谢谢!


www.opengl.org http:/ / / / / /你的SDK文档。glortho.xml

在一个中心对称的左/右和0使用底/顶部。这是一个小的近/远不是任意选择,但往往是(实例)为1。+ 1这可能是问题的三角形在z = 1。

如果你关心的是确保正确的纵横比是成比例的左顶和底靠近窗口的宽度/高度。


你应该考虑的是你的视图和棱台体积,通过转化的坐标的对象和他们的位置,这解释了相当彻底的理论。

基本上你有一个项目对象使用指定的投影矩阵,这是计算的基础上的特征视图:

  • 他们根据尺度a z(深度)价值尺度:你是在Y和X到Z inversely比例
  • 你在尺度和位移坐标阶的宽度适合您的视图