void transform_CB(int id) { OCIO::ConstConfigRcPtr config = OCIO::GetCurrentConfig(); const char * transform = config->getView(g_display.c_str(), id); if(!transform) return; g_transformName = transform; g_look = config->getDisplayLooks(g_display.c_str(), g_transformName.c_str()); UpdateOCIOGLState(); glutPostRedisplay(); }
void displayDevice_CB(int id) { OCIO::ConstConfigRcPtr config = OCIO::GetCurrentConfig(); const char * display = config->getDisplay(id); if(!display) return; g_display = display; const char * csname = config->getDisplayColorSpaceName(g_display.c_str(), g_transformName.c_str()); if(!csname) { g_transformName = config->getDefaultView(g_display.c_str()); } g_look = config->getDisplayLooks(g_display.c_str(), g_transformName.c_str()); UpdateOCIOGLState(); glutPostRedisplay(); }
void InitOCIO(const char * filename) { OCIO::ConstConfigRcPtr config = OCIO::GetCurrentConfig(); g_display = config->getDefaultDisplay(); g_transformName = config->getDefaultView(g_display.c_str()); g_look = config->getDisplayLooks(g_display.c_str(), g_transformName.c_str()); g_inputColorSpace = OCIO::ROLE_SCENE_LINEAR; if(filename && *filename) { std::string cs = config->parseColorSpaceFromString(filename); if(!cs.empty()) { g_inputColorSpace = cs; std::cout << "colorspace: " << cs << std::endl; } else { std::cout << "colorspace: " << g_inputColorSpace << " \t(could not determine from filename, using default)" << std::endl; } } }