// Real trans_z[4];
Real z,minz(10000000000000.0f),maxz(0);
-
+ //! \todo checking the 4 corners for 0<=z<horizon*2 and using
+ //! only 4 corners which satisfy this condition isn't the
+ //! right thing to do. It's possible that none of the 4
+ //! corners fall within that range, and yet content of the
+ //! tile does.
p=transform_forward(min);
z=transform_backward_z(p);
if(z>0 && z<horizon*2)
v=(tmp[1]-tl[1])*src_ph;
if(u<0 || v<0 || u>=source.get_w() || v>=source.get_h() || isnan(u) || isnan(v))
- {
(*surface)[y][x]=context.get_color(tmp);
- }
else
(*surface)[y][x]=source.cubic_sample(u,v);
}
v=(tmp[1]-tl[1])*src_ph;
if(u<0 || v<0 || u>=source.get_w() || v>=source.get_h() || isnan(u) || isnan(v))
- {
- if(clip)
- (*surface)[y][x]=Color::alpha();
- else
- (*surface)[y][x]=context.get_color(tmp);
- }
+ (*surface)[y][x]=context.get_color(tmp);
else
(*surface)[y][x]=source.linear_sample(u,v);
}
v=(tmp[1]-tl[1])*src_ph;
if(u<0 || v<0 || u>=source.get_w() || v>=source.get_h() || isnan(u) || isnan(v))
- {
- if(clip)
- (*surface)[y][x]=Color::alpha();
- else
- (*surface)[y][x]=context.get_color(tmp);
- }
+ (*surface)[y][x]=context.get_color(tmp);
else
- //pen.set_value(source[v][u]);
- (*surface)[y][x]=source[floor_to_int(v)][floor_to_int(u)];
+ //pen.set_value(source[v][u]);
+ (*surface)[y][x]=source[floor_to_int(v)][floor_to_int(u)];
}
if(y&31==0 && cb)
{