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:
-rw-r--r--source/blender/render/intern/source/rendercore.c5
-rw-r--r--source/blender/render/intern/source/renderdatabase.c18
2 files changed, 11 insertions, 12 deletions
diff --git a/source/blender/render/intern/source/rendercore.c b/source/blender/render/intern/source/rendercore.c
index 2adf589392b..ca24484f7a8 100644
--- a/source/blender/render/intern/source/rendercore.c
+++ b/source/blender/render/intern/source/rendercore.c
@@ -498,10 +498,8 @@ static void halo_tile(RenderPart *pa, float *pass, unsigned int lay)
}
for(a=0; a<R.tothalo; a++) {
- if((a & 255)==0) {
- if(R.test_break() ) break;
+ if((a & 255)==0)
har= R.bloha[a>>8];
- }
else har++;
/* layer test, clip halo with y */
@@ -555,6 +553,7 @@ static void halo_tile(RenderPart *pa, float *pass, unsigned int lay)
}
}
}
+ if(R.test_break() ) break;
}
}
diff --git a/source/blender/render/intern/source/renderdatabase.c b/source/blender/render/intern/source/renderdatabase.c
index 500fce88957..8f182299de3 100644
--- a/source/blender/render/intern/source/renderdatabase.c
+++ b/source/blender/render/intern/source/renderdatabase.c
@@ -391,20 +391,20 @@ HaloRen *RE_inithalo(Render *re, Material *ma, float *vec, float *vec1,
VECCOPY(har->co, vec);
har->hasize= hasize;
- /* actual projectvert is done in function transform_renderdata() because of parts/border/pano */
-
+ /* actual projectvert is done in function project_renderdata() because of parts/border/pano */
+ /* we do it here for sorting of halos */
+ zn= hoco[3];
+ har->xs= 0.5*re->winx*(hoco[0]/zn);
+ har->ys= 0.5*re->winy*(hoco[1]/zn);
+ har->zs= 0x7FFFFF*(hoco[2]/zn);
+
+ har->zBufDist = 0x7FFFFFFF*(hoco[2]/zn);
+
/* halovect */
if(vec1) {
har->type |= HA_VECT;
- zn= hoco[3];
- har->xs= 0.5*re->winx*(hoco[0]/zn);
- har->ys= 0.5*re->winy*(hoco[1]/zn);
- har->zs= 0x7FFFFF*(hoco[2]/zn);
-
- har->zBufDist = 0x7FFFFFFF*(hoco[2]/zn);
-
xn= har->xs - 0.5*re->winx*(hoco1[0]/hoco1[3]);
yn= har->ys - 0.5*re->winy*(hoco1[1]/hoco1[3]);
if(xn==0.0 || (xn==0.0 && yn==0.0)) zn= 0.0;