From 513aacbdb6e425005eee6d83fdca0f06f6e6e374 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Tue, 11 Apr 2017 15:28:35 +0200 Subject: Use immediate mode API for OpenColorIO --- intern/opencolorio/CMakeLists.txt | 1 + intern/opencolorio/ocio_impl_glsl.cc | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'intern/opencolorio') diff --git a/intern/opencolorio/CMakeLists.txt b/intern/opencolorio/CMakeLists.txt index f7e8d909f2c..d2dd8a3c419 100644 --- a/intern/opencolorio/CMakeLists.txt +++ b/intern/opencolorio/CMakeLists.txt @@ -27,6 +27,7 @@ set(INC . ../glew-mx ../guardedalloc + ../gawain ../../source/blender/blenlib ) diff --git a/intern/opencolorio/ocio_impl_glsl.cc b/intern/opencolorio/ocio_impl_glsl.cc index 9dba37f27eb..819dd6632b3 100644 --- a/intern/opencolorio/ocio_impl_glsl.cc +++ b/intern/opencolorio/ocio_impl_glsl.cc @@ -48,6 +48,9 @@ # pragma warning(pop) #endif +extern "C" { +#include "gawain/immediate.h" +} using namespace OCIO_NAMESPACE; @@ -408,7 +411,7 @@ bool OCIOImpl::setupGLSLDraw(OCIO_GLSLDrawState **state_r, OCIO_ConstProcessorRc glActiveTexture(GL_TEXTURE0); - glUseProgram(state->program); + immBindProgram(state->program); glUniform1i(glGetUniformLocation(state->program, "image_texture"), 0); glUniform1i(glGetUniformLocation(state->program, "lut3d_texture"), 1); @@ -461,7 +464,7 @@ void OCIOImpl::finishGLSLDraw(OCIO_GLSLDrawState *state) { glActiveTexture(state->last_texture_unit); glBindTexture(GL_TEXTURE_2D, state->last_texture); - glUseProgram(0); + immUnbindProgram(); } void OCIOImpl::freeGLState(struct OCIO_GLSLDrawState *state) -- cgit v1.2.3