//========================================================================== // // // //========================================================================== void FDrawInfo::EndDrawInfo() { FDrawInfo * di = gl_drawinfo; for(int i=0;i<GLDL_TYPES;i++) di->drawlists[i].Reset(); gl_drawinfo=di->next; di_list.Release(di); }
//========================================================================== // // // //========================================================================== FDrawInfo *FDrawInfo::EndDrawInfo() { assert(this == gl_drawinfo); for(int i=0;i<GLDL_TYPES;i++) drawlists[i].Reset(); gl_drawinfo=static_cast<FDrawInfo*>(outer); di_list.Release(this); if (gl_drawinfo == nullptr) ResetRenderDataAllocator(); return gl_drawinfo; }
FDrawInfo *FDrawInfo::StartDrawInfo(FRenderViewpoint &parentvp, HWViewpointUniforms *uniforms) { FDrawInfo *di=di_list.GetNew(); di->mVBO = GLRenderer->mVBO; di->mClipper = &staticClipper; di->Viewpoint = parentvp; if (uniforms) { di->VPUniforms = *uniforms; // The clip planes will never be inherited from the parent drawinfo. di->VPUniforms.mClipLine.X = -1000001.f; di->VPUniforms.mClipHeight = 0; } else di->VPUniforms.SetDefaults(); di->mClipper->SetViewpoint(di->Viewpoint); staticClipper.Clear(); di->StartScene(); return di; }
//========================================================================== // // Sets up a new drawinfo struct // //========================================================================== void FDrawInfo::StartDrawInfo() { FDrawInfo *di=di_list.GetNew(); di->StartScene(); }