<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;