[Bf-blender-cvs] [8937fea] master: GLSL tweaks for viewport render draw

Sergey Sharybin noreply at git.blender.org
Fri Jun 20 14:11:52 CEST 2014


Commit: 8937feadae08e69e0af27848e4921223ad60dafc
Author: Sergey Sharybin
Date:   Fri Jun 20 18:10:32 2014 +0600
https://developer.blender.org/rB8937feadae08e69e0af27848e4921223ad60dafc

GLSL tweaks for viewport render draw

- Was missing pixel scale
- Dither is now supported on GPU

===================================================================

M	source/blender/editors/render/render_internal.c

===================================================================

diff --git a/source/blender/editors/render/render_internal.c b/source/blender/editors/render/render_internal.c
index 1bf4806..eaaed0f 100644
--- a/source/blender/editors/render/render_internal.c
+++ b/source/blender/editors/render/render_internal.c
@@ -1432,19 +1432,18 @@ void render_view3d_draw(RenderEngine *engine, const bContext *C)
 		float scale_x = (float) ar->winx / rres.rectx;
 		float scale_y = (float) ar->winy / rres.recty;
 
-		/* Dithering is not supported on GLSL yet */
-		force_fallback |= dither != 0.0f;
-
 		/* If user decided not to use GLSL, fallback to glaDrawPixelsAuto */
 		force_fallback |= (U.image_draw_method != IMAGE_DRAW_METHOD_GLSL);
 
 		/* Try using GLSL display transform. */
 		if (force_fallback == false) {
-			if (IMB_colormanagement_setup_glsl_draw(&scene->view_settings, &scene->display_settings, 0.0f, true)) {
+			if (IMB_colormanagement_setup_glsl_draw(&scene->view_settings, &scene->display_settings, dither, true)) {
 				glEnable(GL_BLEND);
 				glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
+				glPixelZoom(scale_x, scale_y);
 				glaDrawPixelsTex(rres.xof, rres.yof, rres.rectx, rres.recty, GL_RGBA, GL_FLOAT,
 				                 GL_NEAREST, rres.rectf);
+				glPixelZoom(1.0f, 1.0f);
 				glDisable(GL_BLEND);
 
 				IMB_colormanagement_finish_glsl_draw();




More information about the Bf-blender-cvs mailing list