void DestroyCameras (void) { int i; tCamera *pc = gameData.cameras.cameras; #if RENDER2TEXTURE == 1 if (gameStates.ogl.bRender2TextureOk) # ifdef _WIN32 wglMakeContextCurrentARB (hGlDC, hGlDC, hGlRC); # else glXMakeCurrent (hGlDC, hGlWindow, hGlRC); # endif #endif LogErr ("Destroying cameras\n"); for (i = gameData.cameras.nCameras; i; i--, pc++) DestroyCamera (pc); if (gameData.cameras.nSides) memset (gameData.cameras.nSides, 0xFF, MAX_SEGMENTS * 6 * sizeof (*gameData.cameras.nSides)); gameData.cameras.nCameras = 0; }
void DestroyShadowMaps (void) { tCamera *pc; for (pc = gameData.render.shadows.shadowMaps; gameData.render.shadows.nShadowMaps; gameData.render.shadows.nShadowMaps--, pc++) DestroyCamera (pc); }
int stop_video_recorder(Video_Recorder* recorder) { if (!recorder) return 0; recorder->mstart = 0; recorder->cameraDevice->stopCamera(recorder->cameraDevice); DestroyCamera(recorder->cameraDevice); recorder->cameraDevice = NULL; waterMark_exit(recorder->waterMark); free(recorder->waterMark); recorder->waterMark = NULL; recorder->venc_device->ioctrl(recorder->venc_device, VENC_CMD_CLOSE, 0); cedarvEncExit(recorder->venc_device); recorder->venc_device = NULL; cedarx_hardware_exit(0); return 1; }