surface_get_depth_disable

此函数检查是否启用了表面的自动深度缓冲区生成。

通常,所有表面都有深度缓冲区,因此如果您向其中绘制 3D 对象,那么它会按深度对它们进行正确排序,但是分配深度缓冲区本质上会使表面的大小加倍,这可能是过多且不必要的开销,特别是如果您的游戏内存很大的话密集或主要是 2D。在这些情况下,您可以使用此函数进行检查,并根据需要使用函数 surface_depth_disable 禁用表面的深度缓冲区。

 

语法:

surface_get_depth_disable();

 

返回:

Boolean

 

例子:

if (!surface_exists(surf))
{
    if surface_get_depth_disable() == false
    {
        surface_depth_disable(true);
    }
    surf = surface_create(room_width, room_height);
}

上述代码将检查给定表面是否存在,如果不存在,则检查表面深度缓冲区的当前状态;如果启用了,则在最终创建表面之前,将禁用该代码。