1
A
回答
4
-1.0 to +1.0(在应用了所有转换之后)。
这个信息被埋在glViewport
documentation有点迂回的方式。我选择了MSDN版本的文档,因为更多其他在线源在转换为HTML期间会破坏公式(这是正确的公式,但无法识别)。
通过应用适当的缩放比例和平移因子,您可以获得所需的任何预转换坐标系。在GL 1.x - 2.x中可以很容易地使用这个功能。在OpenGL 3.x中,您使用顶点着色器来进行转换。
1
可见顶点值的范围由两个变换矩阵控制,ModelView和Projection。 模型视图矩阵构造有glRotate
,glTranslate
类型的操作和投影矩阵与glOrtho
,glPerspective
或gluLookAt
创建。
甲顶点V被转换成视区坐标与下面变换和不可见部分中的目标空间([-1,1]所有轴)被剔除。
V'' = Projection * ModelView * V
然而glOrtho
一个glPerspective
得到能见度范围如在模型视图空间给定的输入。这些范围与变换的顶点媲美:
V' = ModelView * V
如果您使用的是单位矩阵作为ModelView
,你可以给glOrtho
或glPerspective
那些比较你的顶点值。
相关问题
- 1. Android的OpenGL的 - GLfloat
- 2. Vertex OpenGL LookAt没有显示
- 3. Opengl - GLfloat不被识别
- 4. OpenGL Vertex Buffer not drawing(LWJGL)
- 5. Android OpenGL Vertex Array或VBO
- 6. OpenGL Vertex Arrays所需版本
- 7. Android Opengl Vertex大于1
- 8. OpenGL ES 2.0 2D投影矩阵,将GLfloat(*)[4]错误转换为GLfloat
- 9. OpenGL Vertex和波前目标索引
- 10. vba range(“A1”)。value给出了#Value!当输入函数
- 11. 将GLfloat []数组转换为GLfloat * array
- 12. OpenGL Vertex Buffer不会在golang中绘制任何东西
- 13. lwjgl里面有GLfloat吗?
- 14. 为什么GLint和GLfloat?
- 15. glfloat python的语法错误?
- 16. 初始化GLfloat
- 17. Vertex缓冲区对象干扰OpenGL ES 2.0中的纹理
- 18. OpenGL Vertex Buffers:我可以没有索引缓冲区吗?
- 19. Opengl ES 2.0 Vertex - 哪种方式更有效率?
- 20. Qt Opengl VBO数据损坏
- 21. glsl Vertex Lighting Shader
- 22. Vertex renderered as JComponent
- 23. Android Opengles Vertex Tweening
- 24. 精确地转换的NSString GLFloat - iPhone
- 25. 对于一个struct vertex,map [int] vertex和map [int] * vertex有什么区别?
- 26. Vertex Cube旋转中心
- 27. 为什么GLfloat需要全局范围?
- 28. 默认情况下是GLfloat还是GLdouble?
- 29. 为什么GLSL Vertex Shader不能编译?
- 30. Vertex HttpCllentRequest重定向
唉,我采用Gl 3.0,所以一些矩阵东西不会帮助,直到我去设置它自己:)从我的理解呢。感谢您的快速回答。 – 2011-02-27 21:53:34
然后,我给你的范围(-1到+1)适用于顶点着色器的输出(即它分配的'gl_Vertex'变量)。 – 2011-02-27 22:14:16
@Ben:啊谢谢,突然间答案似乎很明显,因为着色器输出大声笑 – 2011-02-27 22:52:15