<1>/* Graphics Not Rendered in HTML */









I64 global_r[4][4];

U0 DrawIt(CTask *, CDC *dc)
{
    I64 *old_r = dc->r;

    dc->x = 200;
    dc->y = 200;
    dc->z = GR_Z_ALL;
    dc->flags |= DCF_TRANSFORMATION;
    DCDepthBufAlloc(dc);
    DCMat4x4Set(dc, global_r); //This assigns to dc->r and sets r_norm.
    DCDepthBufReset(dc);
    Sprite3(dc, 0, 0, 0, <1>);
    dc->r = old_r;
}

U0 SpritePlot3D()
{
    F64 theta = 0, phi = 0;

    SettingsPush; //See SettingsPush
    Fs->draw_it = &DrawIt;
    while (!CharScan)
    {
        Mat4x4IdentEqu(global_r);
        Mat4x4RotX(global_r, phi);
        Mat4x4RotZ(global_r, theta);

        Sleep(40);
        theta += 2 * pi / 100;
        phi += 2 * pi / 130;
    }
    SettingsPop;
}

SpritePlot3D;