From e74e014c667b84260710581bd8905f1e0a45f06e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= Date: Fri, 17 May 2019 11:09:57 +0200 Subject: [PATCH] Quick fix for Blender 2.80 texture loading The `Image.gl_load()` call was changed in Blender commit 7ad802cf3ae500bc72863b6dba0f28a488fce3d1; the two parameters we were using were removed. This commit fixes the exception and makes the texture browser usable again, but doesn't properly fix everything. The textures are drawn in the wrong colour space, which will be fixed in another commit once I know how. --- blender_cloud/texture_browser/draw.py | 5 +++++ blender_cloud/texture_browser/draw_27.py | 5 +++++ blender_cloud/texture_browser/menu_item.py | 2 +- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/blender_cloud/texture_browser/draw.py b/blender_cloud/texture_browser/draw.py index 339e1fb..2fe7adb 100644 --- a/blender_cloud/texture_browser/draw.py +++ b/blender_cloud/texture_browser/draw.py @@ -105,3 +105,8 @@ def bind_texture(texture: bpy.types.Image): """Bind a Blender image to a GL texture slot.""" bgl.glActiveTexture(bgl.GL_TEXTURE0) bgl.glBindTexture(bgl.GL_TEXTURE_2D, texture.bindcode) + + +def load_texture(texture: bpy.types.Image) -> int: + """Load the texture, return OpenGL error code.""" + return texture.gl_load() diff --git a/blender_cloud/texture_browser/draw_27.py b/blender_cloud/texture_browser/draw_27.py index 3c63a83..de95fe6 100644 --- a/blender_cloud/texture_browser/draw_27.py +++ b/blender_cloud/texture_browser/draw_27.py @@ -88,3 +88,8 @@ def aabox_with_texture(v1: Float2, v2: Float2): def bind_texture(texture: bpy.types.Image): """Bind a Blender image to a GL texture slot.""" bgl.glBindTexture(bgl.GL_TEXTURE_2D, texture.bindcode[0]) + + +def load_texture(texture: bpy.types.Image) -> int: + """Load the texture, return OpenGL error code.""" + return texture.gl_load(filter=bgl.GL_NEAREST, mag=bgl.GL_NEAREST) diff --git a/blender_cloud/texture_browser/menu_item.py b/blender_cloud/texture_browser/menu_item.py index c2c5ec9..cac48b4 100644 --- a/blender_cloud/texture_browser/menu_item.py +++ b/blender_cloud/texture_browser/menu_item.py @@ -164,7 +164,7 @@ class MenuItem: texture = self.icon if texture: - err = texture.gl_load(filter=bgl.GL_NEAREST, mag=bgl.GL_NEAREST) + err = draw.load_texture(texture) assert not err, 'OpenGL error: %i' % err # ------ TEXTURE ---------#