屏幕坐标系

来源:互联网 发布:华泰大智慧软件下载 编辑:程序博客网 时间:2024/05/18 03:18

屏幕坐标系

三点定义一个三角形。当我们在三维图形学中谈论“点(point)”时,我们经常说“顶点(Vertex)”。一个顶点有三个坐标:X,Y和Z。你可以用以下方式来想象这三个坐标:

X 在你的右方 Y 在你的上方 Z 是你背后的方向(是的,背后,而不是你的前方) 这里有一个更形象的方法:使用右手定则

X 是你的拇指 Y 是你的食指 Z 是你的中指。如果你把你的拇指指向右边,食指指向天空,那么中指将指向你的背后。 让Z指往这个方向很奇怪,为什么要这样呢?简单的说:因为基于右手定则的坐标系被广泛使用了100多年,它会给你很多有用的数学工具;而唯一的缺点只是Z方向不直观。

补充:注意,你可以自由地移动你的手:你的X,Y和Z轴也将跟着移动(详见后文)。

我们需要三个三维点来组成一个三角形;现在开始:

// An array of 3 vectors which represents 3 verticesstatic const GLfloat g_vertex_buffer_data[] = {   -1.0f, -1.0f, 0.0f,   1.0f, -1.0f, 0.0f,   0.0f,? 1.0f, 0.0f,};

第一个顶点是(-1, -1, 0)。

这意味着除非我们以某种方式变换它,否则它将显示在屏幕的(-1, -1)位置。什么意思呢?屏幕的原点在中间,X在右方,Y在上方。屏幕坐标如下图:

1_screenCoordinates

该机制内置于显卡,无法改变。因此(-1, -1)是屏幕的左下角,(1, -1)是右下角,(0, 1)在中上位置。这个三角形应该占满了大部分屏幕。

0 0
原创粉丝点击