NDCs
到目前为止,我们定义的顶点坐标全部都坐落在[-1, +1]范围内,比如下面这四个点。这是因为OpenGL只知道如何处理这个范围内的顶点,这个范围被称作NDCs(Normalized-Device Coordinates)。
def vertices = [
// x y
-0.5f, -0.5f,
-0.5f, 0.5f,
0.5f, 0.5f,
0.5f, -0.5f,
] as float[]
我们暂时可以这样理解:只有这个范围内的点会被OpenGL绘制到屏幕上,而且,无论最终的绘制区域是多大,OpenGL都把它当做一个正方形区域来处理。所以,如果上面四个点表示由两个三角形构成的矩形的话(Triangle Fan),它的长和宽分别是绘制区域长和宽的一半,如下图所示:
把绘制区域拉窄看看:

本文介绍了OpenGL ES2中的正交投影(Orthographic Projection)概念,探讨了NDCs(Normalized-Device Coordinates)的范围限制,并提出通过虚拟坐标系解决不同绘制区域导致的图形变形问题。通过示例代码展示了正交投影的应用,确保了正方形在不同大小的绘制区域中保持形状不变。
-- Orthographic Projection&spm=1001.2101.3001.5002&articleId=12650503&d=1&t=3&u=056c37b64e7f494f8c5b48fa3b3c5c40)
383

被折叠的 条评论
为什么被折叠?



