matrix_build_projection_perspective

此函数使用下面列出的指定参数,基于近裁剪平面的尺寸构建透视投影矩阵。

请注意,相机的视野将根据指定的 widthheightznear 值而变化,因为投影宽度和高度放置在指定的 Z 位置 znear 参数。

例如,给定 640x480 的恒定尺寸,如果 znear 离相机较近,视野会更宽,但如果 znear 离相机较远,视野会变窄。 此行为在以下视觉效果中进行了演示:

因此,建议使用与投影宽度相同的 znear 值,从而使视野与等效正交投影一致。

 

语法:

matrix_build_projection_perspective(width, height, znear, zfar);

参数类型描述
wReal近 Z 位置投影的宽度。
hReal近 Z 位置的投影高度。
znearReal近裁剪平面。
zfarReal远剪裁平面。

 

返回:

Matrix Array

 

例子:

var projmat = matrix_build_projection_perspective(640, 480, 640.0, 32000.0);
camera_set_proj_mat(view_camera[0], projmat);

上面的代码创建了一个透视投影,然后使用返回的矩阵来设置分配给视口 [0] 的相机。