void c_testdraw() { gbuf_color=rt_alloc(RT_4B, 0); gbuf_normal=rt_alloc(RT_4B, 0); gbuf_depth=rt_alloc(RT_DEPTH, 0); cs_printf("color=%i, normal=%i, depth=%i\n", gbuf_color,gbuf_normal,gbuf_depth); float dx,dy=0,dz; dx=cvar_getf("strafespeed", NULL); dy=cvar_getf("verticalspeed", NULL); dz=cvar_getf("forwardspeed", NULL); float du=cvar_getf("spinspeed", NULL); cam3_movetg("testcam3", dx,dy,dz); cam3_update("testcam3", du, 1.0/60.0); cam3_use("testcam3"); float modelview[16]; glGetFloatv(GL_MODELVIEW_MATRIX, modelview); glGetFloatv(GL_PROJECTION_MATRIX, projection); invmat4(invproj, projection); invmat4(invmodelview, modelview); glEnable(GL_DEPTH_TEST); rnd_clearall(); test_initgbuf(); glDisable(GL_DEPTH_TEST); // test_motionblur(); // test_dof2(); // test_gaussianblur(); color_tex[0]=gbuf_color; depth_tex[0]=gbuf_depth; filter_use("test.fil"); vfs_use(-1); memcpy(prevmodelview, modelview, 16*sizeof(float)); rt_free(gbuf_color); rt_free(gbuf_normal); rt_free(gbuf_depth); }
Box* objectNew(BoxedClass* cls, BoxedTuple* args) { assert(isSubclass(cls->cls, type_cls)); assert(args->cls == tuple_cls); if (args->elts.size() != 0) { if (typeLookup(cls, "__init__", NULL, NULL) == NULL) raiseExcHelper(TypeError, "object.__new__() takes no parameters"); } assert(cls->instance_size >= sizeof(Box)); void* mem = rt_alloc(cls->instance_size); Box* rtn = ::new (mem) Box(&object_flavor, cls); initUserAttrs(rtn, cls); return rtn; }