// 2D texgen for jitter (texture adjustment matrix) void CRenderTarget::u_compute_texgen_jitter (Fmatrix& m_Texgen_J) { // place into 0..1 space Fmatrix m_TexelAdjust = { 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, -0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.5f, 0.5f, 0.0f, 1.0f }; m_Texgen_J.mul (m_TexelAdjust,RCache.xforms.m_wvp); // rescale - tile it float scale_X = float(Device.dwWidth) / float(TEX_jitter); float scale_Y = float(Device.dwHeight)/ float(TEX_jitter); float offset = (.5f / float(TEX_jitter)); m_TexelAdjust.scale (scale_X, scale_Y,1.f ); m_TexelAdjust.translate_over(offset, offset, 0 ); m_Texgen_J.mulA_44 (m_TexelAdjust); }