case RM_BLEND:
{
SetMatrix();
Vtx3DTex v[4];
// far background
if (p3DLayers[LAYER_1])
{
v[0].pos.set(4.25, -2.395, -1.5); v[0].tex.set(0, 1);
v[1].pos.set(4.25, 2.395, -1.5); v[1].tex.set(0, 0);
v[2].pos.set(-4.25, 2.395, -1.5); v[2].tex.set(1, 0);
v[3].pos.set(-4.25, -2.395, -1.5); v[3].tex.set(1, 1);
VI.image(p3DLayers[LAYER_1]());
VI.face(v[0], v[1], v[2], v[3]);
VI.end();
}
// clouds layer
if (p3DLayers[LAYER_2_CLOUDS])
{
CloudProgress -= Time.ad() * CloudSpeed;
if (CloudProgress < 0.0f)
CloudProgress += 1.0f;
v[0].pos.set(3.7, -2.084, -1); v[0].tex.set(CloudProgress - 1.0f, 1); // top right
v[1].pos.set(3.7, 2.084, -1); v[1].tex.set(CloudProgress - 1.0f, 0); // bottom right
v[2].pos.set(-3.7, 2.084, -1); v[2].tex.set(CloudProgress, 0); // bottom left
v[3].pos.set(-3.7, -2.084, -1); v[3].tex.set(CloudProgress, 1); // top left
VI.image(p3DLayers[LAYER_2_CLOUDS]());
VI.face(v[0], v[1], v[2], v[3]);
VI.end();
}
// background
if (p3DLayers[LAYER_3])
{
v[0].pos.set(3.7, -2.084, -1); v[0].tex.set(0, 1);
v[1].pos.set(3.7, 2.084, -1); v[1].tex.set(0, 0);
v[2].pos.set(-3.7, 2.084, -1); v[2].tex.set(1, 0);
v[3].pos.set(-3.7, -2.084, -1); v[3].tex.set(1, 1);
VI.image(p3DLayers[LAYER_3]());
VI.face(v[0], v[1], v[2], v[3]);
VI.end();
}
// fence
if (p3DLayers[LAYER_4_MID])
{
v[0].pos.set(2.95, -1.67, 0); v[0].tex.set(0, 1);
v[1].pos.set(2.95, 1.67, 0); v[1].tex.set(0, 0);
v[2].pos.set(-2.95, 1.67, 0); v[2].tex.set(1, 0);
v[3].pos.set(-2.95, -1.67, 0); v[3].tex.set(1, 1);
VI.image(p3DLayers[LAYER_4_MID]());
VI.face(v[0], v[1], v[2], v[3]);
VI.end();
}
// foreground
if (p3DLayers[LAYER_5])
{
v[0].pos.set(2.21, -1.25, 1); v[0].tex.set(0, 1);
v[1].pos.set(2.21, 1.25, 1); v[1].tex.set(0, 0);
v[2].pos.set(-2.21, 1.25, 1); v[2].tex.set(1, 0);
v[3].pos.set(-2.21, -1.25, 1); v[3].tex.set(1, 1);
VI.image(p3DLayers[LAYER_5]());
VI.face(v[0], v[1], v[2], v[3]);
VI.end();
}
break;
}