Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTon Roosendaal <ton@blender.org>2009-06-08 14:00:14 +0400
committerTon Roosendaal <ton@blender.org>2009-06-08 14:00:14 +0400
commitca6a8a233b653e4545427b00fe265566da924522 (patch)
tree1fef07ad3ac191f5c2ddba1f78f3da4054078457 /source/blender/editors/preview
parent9d4ebe1088dd5f59b2a53d47eaed1d40ab5c0a3e (diff)
2.5
Preview renders: - Added proper button type (BUT_EXTRA) for preview buttons, to handle drawing better. It now first draws an alpha mask, to ensure the preview is correctly fitting inside the widget style. It then draws the outline. - Added protection for executing preview renders while regular rendering, that's not going to work...
Diffstat (limited to 'source/blender/editors/preview')
-rw-r--r--source/blender/editors/preview/previewrender.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/source/blender/editors/preview/previewrender.c b/source/blender/editors/preview/previewrender.c
index 096282a0f58..56ec22a44b0 100644
--- a/source/blender/editors/preview/previewrender.c
+++ b/source/blender/editors/preview/previewrender.c
@@ -640,14 +640,8 @@ void ED_preview_draw(const bContext *C, void *idp, rcti *rect)
if(rres.rectf) {
if(rres.rectx==newx && rres.recty==newy) {
- glBlendFunc(GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA);
- glEnable(GL_BLEND);
-
glaDrawPixelsSafe(rect->xmin, rect->ymin, rres.rectx, rres.recty, rres.rectx, GL_RGBA, GL_FLOAT, rres.rectf);
ok= 1;
-
- glDisable(GL_BLEND);
- glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
}
}
BLI_unlock_malloc_thread();
@@ -1083,8 +1077,15 @@ static void shader_preview_free(void *customdata)
void ED_preview_shader_job(const bContext *C, void *owner, ID *id, int sizex, int sizey)
{
- wmJob *steve= WM_jobs_get(CTX_wm_manager(C), CTX_wm_window(C), owner);
- ShaderPreview *sp= MEM_callocN(sizeof(ShaderPreview), "shader preview");
+ wmJob *steve;
+ ShaderPreview *sp;
+
+ /* XXX ugly global still, but we can't do preview while rendering */
+ if(G.rendering)
+ return;
+
+ steve= WM_jobs_get(CTX_wm_manager(C), CTX_wm_window(C), owner);
+ sp= MEM_callocN(sizeof(ShaderPreview), "shader preview");
/* customdata for preview thread */
sp->scene= CTX_data_scene(C);