Revision: 36733
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=36733
Author:   blendix
Date:     2011-05-17 16:21:06 +0000 (Tue, 17 May 2011)
Log Message:
-----------
Render API: code cleanup.

Modified Paths:
--------------
    branches/cycles/source/blender/editors/render/render_preview.c
    branches/cycles/source/blender/editors/space_view3d/view3d_draw.c
    branches/cycles/source/blender/render/extern/include/RE_engine.h
    branches/cycles/source/blender/render/intern/pipeline/engine.c

Modified: branches/cycles/source/blender/editors/render/render_preview.c
===================================================================
--- branches/cycles/source/blender/editors/render/render_preview.c      
2011-05-17 16:20:07 UTC (rev 36732)
+++ branches/cycles/source/blender/editors/render/render_preview.c      
2011-05-17 16:21:06 UTC (rev 36733)
@@ -86,6 +86,7 @@
 
 #include "PIL_time.h"
 
+#include "RE_engine.h"
 #include "RE_pipeline.h"
 
 
@@ -99,15 +100,6 @@
 
 #include "render_intern.h"
 
-#define PR_XMIN                10
-#define PR_YMIN                5
-#define PR_XMAX                200
-#define PR_YMAX                195
-
-/* XXX */
-static int qtest(void) {return 0;}
-/* XXX */
-
 ImBuf* get_brush_icon(Brush *brush)
 {
        static const int flags = IB_rect|IB_multilayer|IB_metadata;
@@ -174,123 +166,6 @@
        
 } ShaderPreview;
 
-
-
-/* unused now */
-void draw_tex_crop(Tex *tex)
-{
-       rcti rct;
-       int ret= 0;
-       
-       if(tex==NULL) return;
-       
-       if(tex->type==TEX_IMAGE) {
-               if(tex->cropxmin==0.0f) ret++;
-               if(tex->cropymin==0.0f) ret++;
-               if(tex->cropxmax==1.0f) ret++;
-               if(tex->cropymax==1.0f) ret++;
-               if(ret==4) return;
-               
-               rct.xmin= PR_XMIN+2+tex->cropxmin*(PR_XMAX-PR_XMIN-4);
-               rct.xmax= PR_XMIN+2+tex->cropxmax*(PR_XMAX-PR_XMIN-4);
-               rct.ymin= PR_YMIN+2+tex->cropymin*(PR_YMAX-PR_YMIN-4);
-               rct.ymax= PR_YMIN+2+tex->cropymax*(PR_YMAX-PR_YMIN-4);
-
-               glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); 
-
-               glColor3ub(0, 0, 0);
-               glRecti(rct.xmin+1,  rct.ymin-1,  rct.xmax+1,  rct.ymax-1); 
-
-               glColor3ub(255, 255, 255);
-               glRecti(rct.xmin,  rct.ymin,  rct.xmax,  rct.ymax);
-
-               glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);                      
-       }
-       
-}
-
-/* temporal abuse; if id_code is -1 it only does texture.... solve! */
-void BIF_preview_changed(short UNUSED(id_code))
-{
-#if 0  
-       ScrArea *sa;
-       
-       for(sa= G.curscreen->areabase.first; sa; sa= sa->next) {
-               if(sa->spacetype==SPACE_BUTS) {
-                       SpaceButs *sbuts= sa->spacedata.first;
-                       if(sbuts->mainb==CONTEXT_SHADING) {
-                               int tab= sbuts->tab[CONTEXT_SHADING];
-                               if(tab==TAB_SHADING_MAT && (id_code==ID_MA || 
id_code==ID_TE)) {
-                                       if (sbuts->ri) sbuts->ri->curtile= 0;
-                                       addafterqueue(sa->win, RENDERPREVIEW, 
1);
-                               }
-                               else if(tab==TAB_SHADING_TEX && (id_code==ID_TE 
|| id_code==-1)) {
-                                       if (sbuts->ri) sbuts->ri->curtile= 0;
-                                       addafterqueue(sa->win, RENDERPREVIEW, 
1);
-                               }
-                               else if(tab==TAB_SHADING_LAMP && 
(id_code==ID_LA || id_code==ID_TE)) {
-                                       if (sbuts->ri) sbuts->ri->curtile= 0;
-                                       addafterqueue(sa->win, RENDERPREVIEW, 
1);
-                               }
-                               else if(tab==TAB_SHADING_WORLD && 
(id_code==ID_WO || id_code==ID_TE)) {
-                                       if (sbuts->ri) sbuts->ri->curtile= 0;
-                                       addafterqueue(sa->win, RENDERPREVIEW, 
1);
-                               }
-                       }
-                       else if (sbuts->ri) 
-                               sbuts->ri->curtile= 0;  /* ensure changes 
always result in re-render when context is restored */
-               }
-               else if(sa->spacetype==SPACE_NODE) {
-                       SpaceNode *snode= sa->spacedata.first;
-                       if(snode->treetype==NTREE_SHADER && (id_code==ID_MA || 
id_code==ID_TE)) {
-                               snode_tag_dirty(snode);
-                       }
-               }
-               else if(sa->spacetype==SPACE_VIEW3D) {
-                       View3D *vd= sa->spacedata.first;
-                       /* if is has a renderinfo, we consider that reason for 
signalling */
-                       if (vd->ri) {
-                               vd->ri->curtile= 0;
-                               addafterqueue(sa->win, RENDERPREVIEW, 1);
-                       }
-               }
-       }
-
-       if(ELEM4(id_code, ID_MA, ID_TE, ID_LA, ID_WO)) {
-               Object *ob;
-               Material *ma;
-
-               if(id_code == ID_WO) {
-                       for(ma=G.main->mat.first; ma; ma=ma->id.next) {
-                               if(ma->gpumaterial.first) {
-                                       GPU_material_free(ma);
-                               }
-                       }
-               }
-               else if(id_code == ID_LA) {
-                       for(ob=G.main->object.first; ob; ob=ob->id.next) {
-                               if(ob->gpulamp.first) {
-                                       GPU_lamp_free(ob);
-                               }
-                       }
-
-                       for(ma=G.main->mat.first; ma; ma=ma->id.next) {
-                               if(ma->gpumaterial.first) {
-                                       GPU_material_free(ma);
-                               }
-                       }
-               } else if(OBACT) {
-                       Object *ob = OBACT;
-
-                       ma= give_current_material(ob, ob->actcol);
-                       if(ma && ma->gpumaterial.first) {
-                               GPU_material_free(ma);
-                       }
-               }
-       }
-#endif
-}
-
 /* *************************** Preview for buttons *********************** */
 
 static Main *pr_main= NULL;
@@ -667,321 +542,6 @@
        }       
 }
 
-/* ******************************** Icon Preview **************************** 
*/
-
-void ED_preview_icon_draw(const bContext *UNUSED(C), void *UNUSED(idp), void 
*UNUSED(arg1), void *UNUSED(arg2), rcti *UNUSED(rect))
-{
-}
-
-/* *************************** Preview for 3d window *********************** */
-
-void view3d_previewrender_progress(RenderResult *rr, volatile rcti *renrect)
-{
-//     ScrArea *sa= NULL; // XXX
-//     View3D *v3d= NULL; // XXX
-       RenderLayer *rl;
-       int ofsx=0, ofsy=0;
-       
-       if(renrect) return;
-       
-       rl= rr->layers.first;
-       
-       /* this case is when we render envmaps... */
-//     if(rr->rectx > v3d->ri->pr_rectx || rr->recty > v3d->ri->pr_recty)
-//             return;
-       
-//     ofsx= v3d->ri->disprect.xmin + rr->tilerect.xmin;
-//     ofsy= v3d->ri->disprect.ymin + rr->tilerect.ymin;
-       
-       glDrawBuffer(GL_FRONT);
-//     glaDefine2DArea(&sa->winrct);
-       glaDrawPixelsSafe_to32(ofsx, ofsy, rr->rectx, rr->recty, rr->rectx, 
rl->rectf, 0);
-       bglFlush();
-       glDrawBuffer(GL_BACK);
-
-}
-
-void BIF_view3d_previewrender_signal(ScrArea *UNUSED(sa), short UNUSED(signal))
-{
-#if 0
-       View3D *v3d= sa->spacedata.first;
-       
-       /* this can be called from other window... solve! */
-       if(sa->spacetype!=SPACE_VIEW3D)
-               return; // XXX
-          
-       if(v3d && v3d->ri) {
-               RenderInfo *ri= v3d->ri;
-               ri->status &= ~signal;
-               ri->curtile= 0;
-               //printf("preview signal %d\n", signal);
-               if(ri->re && (signal & PR_DBASE))
-                       RE_Database_Free(ri->re);
-
-//             addafterqueue(sa->win, RENDERPREVIEW, 1);
-       }
-#endif
-}
-
-void BIF_view3d_previewrender_free(View3D *UNUSED(v3d))
-{
-#if 0
-       if(v3d->ri) {
-               RenderInfo *ri= v3d->ri;
-               if(ri->re) {
-//                     printf("free render\n");
-                       RE_Database_Free(ri->re);
-                       RE_FreeRender(ri->re);
-                       ri->re= NULL;
-               }
-               if (v3d->ri->rect) MEM_freeN(v3d->ri->rect);
-               MEM_freeN(v3d->ri);
-               v3d->ri= NULL;
-       }
-#endif
-}
-
-/* returns 1 if OK, do not call while in panel space!  */
-static int view3d_previewrender_get_rects(ScrArea *sa, rctf *viewplane, 
RenderInfo *ri, float *clipsta, float *clipend, int *ortho, float *pixsize)
-{
-       View3D *v3d= NULL; // XXX
-       RegionView3D *rv3d= NULL; // XXX
-       int rectx, recty;
-//     uiBlock *block;
-       
-//     block= uiFindOpenPanelBlockName(&sa->uiblocks, "Preview");
-//     if(block==NULL) return 0;
-       
-       /* calculate preview rect size */
-//     BLI_init_rctf(viewplane, 15.0f, (block->maxx - block->minx)-15.0f, 
15.0f, (block->maxy - block->miny)-15.0f);
-//     uiPanelPush(block);
-//     ui_graphics_to_window_rct(sa->win, viewplane, &ri->disprect);
-//     uiPanelPop(block);
-       
-       /* correction for gla draw */
-//     BLI_translate_rcti(&ri->disprect, -sa->winrct.xmin, -sa->winrct.ymin);
-       
-       *ortho= get_view3d_viewplane(v3d, rv3d, sa->winx, sa->winy, viewplane, 
clipsta, clipend, pixsize);
-
-       rectx= ri->disprect.xmax - ri->disprect.xmin;
-       recty= ri->disprect.ymax - ri->disprect.ymin;
-       
-       if(rectx<4 || recty<4) return 0;
-       
-       if(ri->rect && (rectx!=ri->pr_rectx || recty!=ri->pr_recty)) {
-               MEM_freeN(ri->rect);
-               ri->rect= NULL;
-               ri->curtile= 0;
-               printf("changed size\n");
-       }
-       ri->pr_rectx= rectx;
-       ri->pr_recty= recty;
-       
-       return 1;
-}
-
-/* called before a panel gets moved/scaled, makes sure we can see through */
-void BIF_view3d_previewrender_clear(ScrArea *UNUSED(sa))
-{
-#if 0
-       View3D *v3d= sa->spacedata.first;
-
-       if(v3d->ri) {
-               RenderInfo *ri= v3d->ri;
-               ri->curtile= 0;
-               if(ri->rect)
-                       MEM_freeN(ri->rect);
-               ri->rect= NULL;
-       }
-#endif
-}
-
-/* afterqueue call */
-void BIF_view3d_previewrender(Main *bmain, Scene *scene, ScrArea *sa)
-{
-       View3D *v3d= sa->spacedata.first;
-       RegionView3D *rv3d= NULL; // XXX
-       Render *re;
-       RenderInfo *ri=NULL;    /* preview struct! */
-       RenderStats *rstats;
-       RenderData rdata;
-       rctf viewplane;
-       float clipsta, clipend, pixsize;
-       int orth;
-       
-       /* first get the render info right */
-//     if (!v3d->ri) {
-//             ri= v3d->ri= MEM_callocN(sizeof(RenderInfo), "butsrenderinfo");
-//             ri->tottile= 10000;
-//     }
-//     ri= v3d->ri;
-       
-       if(0==view3d_previewrender_get_rects(sa, &viewplane, ri, &clipsta, 
&clipend, &orth, &pixsize))
-               return;
-       
-       /* render is finished, so return */
-       if(ri->tottile && ri->curtile>=ri->tottile) return;
-
-       /* or return with a new event */
-       if(qtest()) {
-//             addafterqueue(sa->win, RENDERPREVIEW, 1);
-               return;
-       }
-       //printf("Enter previewrender\n");
-       /* ok, are we rendering all over? */
-       if(ri->re==NULL) {
-               char name[32];
-               
-               ri->status= 0;
-               
-               sprintf(name, "View3dPreview %p", (void *)sa);
-               re= ri->re= RE_NewRender(name);
-               //RE_display_draw_cb(re, view3d_previewrender_progress);
-               //RE_stats_draw_cb(re, view3d_previewrender_stats);
-               //RE_test_break_cb(re, qtest);
-               
-               /* no osa, blur, seq, layers, etc for preview render */
-               rdata= scene->r;
-               rdata.mode &= ~(R_OSA|R_MBLUR);
-               rdata.scemode &= ~(R_DOSEQ|R_DOCOMP|R_FREE_IMAGE);
-               rdata.layers.first= rdata.layers.last= NULL;
-               rdata.renderer= R_INTERN;
-                
-               RE_InitState(re, NULL, &rdata, NULL, sa->winx, sa->winy, 
&ri->disprect);
-       
-               if(orth)
-                       RE_SetOrtho(re, &viewplane, clipsta, clipend);
-               else
-                       RE_SetWindow(re, &viewplane, clipsta, clipend);
-               RE_SetPixelSize(re, pixsize);
-               
-               /* until here are no escapes */
-               ri->status |= PR_DISPRECT;
-               ri->curtile= 0;
-               //printf("new render\n");
-       }
-
-       re= ri->re;
-       
-       PIL_sleep_ms(100);      /* wait 0.1 second if theres really no event... 
*/
-       if(qtest()==0)  {
-               
-               /* check status */
-               if((ri->status & PR_DISPRECT)==0) {
-                       RE_SetDispRect(ri->re, &ri->disprect);
-                       if(orth)
-                               RE_SetOrtho(ri->re, &viewplane, clipsta, 
clipend);
-                       else
-                               RE_SetWindow(ri->re, &viewplane, clipsta, 
clipend);
-                       RE_SetPixelSize(re, pixsize);
-                       ri->status |= PR_DISPRECT;
-                       ri->curtile= 0;
-                       //printf("disprect update\n");
-               }
-               if((ri->status & PR_DBASE)==0) {
-                       unsigned int lay= scene->lay;
-                       
-                       RE_SetView(re, rv3d->viewmat);
-                       
-                       /* allow localview render for objects with lights in 
normal layers */
-                       if(v3d->lay & 0xFF000000)
-                               lay |= v3d->lay;
-                       else lay= v3d->lay;
-                       
-                       RE_Database_FromScene(re, bmain, scene, lay, 0);        
        // 0= dont use camera view
-                       
-                       rstats= RE_GetStats(re);
-                       if(rstats->convertdone) 
-                               ri->status |= PR_DBASE|PR_PROJECTED|PR_ROTATED;
-                       ri->curtile= 0;
-                       
-                       /* database can have created render-resol data... */
-                       if(rstats->convertdone) 
-                               DAG_scene_flush_update(bmain, scene, 
scene->lay, 0);
-                       
-                       //printf("dbase update\n");
-               }
-               if((ri->status & PR_PROJECTED)==0) {
-                       if(ri->status & PR_DBASE) {
-                               if(orth)

@@ Diff output truncated at 10240 characters. @@
_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to