Esempio n. 1
0
void FTexture::SetScaledSize(int fitwidth, int fitheight)
{
	xScale = FLOAT2FIXED(float(Width) / fitwidth);
	yScale = FLOAT2FIXED(float(Height) / fitheight);
	// compensate for roundoff errors
	if (MulScale16(xScale, fitwidth) != Width) xScale++;
	if (MulScale16(yScale, fitheight) != Height) yScale++;
}
Esempio n. 2
0
void FTexture::SetScaledSize(int fitwidth, int fitheight)
{
	xScale = DivScale16(Width, fitwidth);
	yScale = DivScale16(Height,fitheight);
	// compensate for roundoff errors
	if (MulScale16(xScale, fitwidth) != Width) xScale++;
	if (MulScale16(yScale, fitheight) != Height) yScale++;
}
__forceinline SDWORD quadraticinterp (SDWORD sample1, SDWORD sample2, SDWORD sample3, DWORD frac)
{

	SDWORD a =    sample1 - 2*sample2 + sample3;
	SDWORD b = -3*sample1 + 4*sample2 - sample3;
	frac >>= 17;
	return MulScale31 (a, frac*frac) + MulScale16 (b, frac) + sample1;
}