branches/2-44-stable
Merge from trunk: revision 10748:10749 Fix float error in Transform Contraint with planar constraints when the plane was perpendicular to the viewport. Link: http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=10749 revision 10750:10751 Coverity bugfix: Dead Code Link: http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=10751 revision 10762:10763 (Bugfix #6730) Link: http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=10763 revision 10763:10764 (Bugfix #6738) Link: http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=10764 revision 10765:10766 (Bugfix #6739) Vector blur error in Ztransp: sometimes black lines (on edges) appeared, which didn't get blurred away. Link: http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=10766
This commit is contained in:
parent
f536d83eb1
commit
0a3ed2c93e
|
@ -2916,6 +2916,31 @@ static void merge_transp_passes(RenderLayer *rl, ShadeResult *shr)
|
|||
case SCE_PASS_NORMAL:
|
||||
col= shr->nor;
|
||||
break;
|
||||
case SCE_PASS_VECTOR:
|
||||
|
||||
{
|
||||
ShadeResult *shr_t= shr+1;
|
||||
float *fp= shr->winspeed; /* was initialized */
|
||||
int samp;
|
||||
|
||||
/* add minimum speed in pixel */
|
||||
for(samp= 1; samp<R.osa; samp++, shr_t++) {
|
||||
|
||||
if(shr_t->combined[3] > 0.0f) {
|
||||
float *speed= shr_t->winspeed;
|
||||
|
||||
if( (ABS(speed[0]) + ABS(speed[1]))< (ABS(fp[0]) + ABS(fp[1])) ) {
|
||||
fp[0]= speed[0];
|
||||
fp[1]= speed[1];
|
||||
}
|
||||
if( (ABS(speed[2]) + ABS(speed[3]))< (ABS(fp[2]) + ABS(fp[3])) ) {
|
||||
fp[2]= speed[2];
|
||||
fp[3]= speed[3];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
if(col) {
|
||||
float *fp= col+delta;
|
||||
|
@ -3315,7 +3340,11 @@ unsigned short *zbuffer_transp_shade(RenderPart *pa, RenderLayer *rl, float *pas
|
|||
|
||||
/* for each mask-sample we alpha-under colors. then in end it's added using filter */
|
||||
memset(samp_shr, 0, sizeof(ShadeResult)*R.osa);
|
||||
|
||||
|
||||
/* nice this memset, but speed vectors are not initialized OK then. it is sufficient to only clear 1 (see merge_transp_passes) */
|
||||
if(addpassflag & SCE_PASS_VECTOR)
|
||||
samp_shr->winspeed[0]= samp_shr->winspeed[1]= samp_shr->winspeed[2]= samp_shr->winspeed[3]= PASS_VECTOR_MAX;
|
||||
|
||||
while(totface>0) {
|
||||
totface--;
|
||||
|
||||
|
|
|
@ -1045,7 +1045,7 @@ void draw_tface_mesh(Object *ob, Mesh *me, int dt)
|
|||
dm->drawFacesTex(dm, draw_tface__set_draw);
|
||||
|
||||
/* drawing game engine text hack */
|
||||
if (!editing && prop && me->tface) {
|
||||
if (!editing && prop && me->mtface) {
|
||||
DerivedMesh *ddm = mesh_get_derived_deform(ob, CD_MASK_BAREMESH);
|
||||
MFace *mface= me->mface;
|
||||
MTFace *tface= me->mtface;
|
||||
|
|
|
@ -103,7 +103,7 @@ static void oops_to_select_objects(void)
|
|||
if(oops->hide==0) {
|
||||
if(oops->type==ID_OB) {
|
||||
ob= (Object *)oops->id;
|
||||
if ((ob->flag & OB_RESTRICT_VIEW)==0) {
|
||||
if ((ob->restrictflag & OB_RESTRICT_VIEW)==0) {
|
||||
if(oops->flag & SELECT) ob->flag |= SELECT;
|
||||
else ob->flag &= ~SELECT;
|
||||
}
|
||||
|
|
|
@ -218,7 +218,9 @@ static void planeProjection(TransInfo *t, float in[3], float out[3]) {
|
|||
VecSubf(vec, out, in);
|
||||
|
||||
factor = Inpf(vec, norm);
|
||||
if (factor == 0.0f) return; /* prevent divide by zero */
|
||||
if (fabs(factor) <= FLT_EPSILON) {
|
||||
return; /* prevent divide by zero */
|
||||
}
|
||||
factor = Inpf(vec, vec) / factor;
|
||||
|
||||
VECCOPY(vec, norm);
|
||||
|
|
|
@ -935,8 +935,6 @@ static void draw_manipulator_rotate(float mat[][4], int moving, int drawflags, i
|
|||
|
||||
if(arcs==0 && moving) {
|
||||
|
||||
if(arcs) glEnable(GL_CLIP_PLANE0);
|
||||
|
||||
/* Z circle */
|
||||
if(drawflags & MAN_ROT_Z) {
|
||||
if(G.f & G_PICKSEL) glLoadName(MAN_ROT_Z);
|
||||
|
|
Loading…
Reference in New Issue