//------------------------------------------------------------------------------------- void Release(void) { if (pRendertargetTexture) pRendertargetTexture->Release(); #if !SDK_RENDER for(int eyeNum = 0; eyeNum < 2; eyeNum++) { MeshVBs[eyeNum].Clear(); MeshIBs[eyeNum].Clear(); } if (Shaders) { Shaders->UnsetShader(Shader_Vertex); Shaders->UnsetShader(Shader_Pixel); Shaders->Release(); } #endif ovrHmd_Destroy(HMD); Util_ReleaseWindowAndGraphics(pRender); if (pRoomScene) delete pRoomScene; // No OVR functions involving memory are allowed after this. ovr_Shutdown(); }
void Release(void) { if (pRendertargetTexture) { pRendertargetTexture->Release(); pRendertargetTexture = NULL; } for (int eyeNum = 0; eyeNum < 2; ++eyeNum) { MeshVBs[eyeNum] = nullptr; MeshIBs[eyeNum] = nullptr; } if (DistortionShaders) { DistortionShaders->UnsetShader(Shader_Vertex); DistortionShaders->UnsetShader(Shader_Pixel); DistortionShaders = nullptr; } DistortionDecl = nullptr; ovrHmd_Destroy(HMD); Util_ReleaseWindowAndGraphics(pRender); if (pRoomScene) delete pRoomScene; if (pScene) delete pScene; ovr_Shutdown(); }