|
我?了 一本??quot rogramming Vertex and Pixel Shaders".
我??@???例"Chapter 24 - Shadow Mapping\Shadow Map Aliased"有???.
???就是???quot;fOffsetX","fOffsetY"和"m_ScaleBias"???三????档囊饬x不清楚,有?可以解??我??
看起?硭坪跏且??exture的左上角??R到3D的Viewport的左上角.
HRESULT RenderMeshes()
{
//
// render car
//
float fOffsetX = 0.5f + (0.5f / (float)SHADOW_MAP_SIZE);
float fOffsetY = 0.5f + (0.5f / (float)SHADOW_MAP_SIZE);
D3DXMATRIX mScaleBias( 0.5f, 0.0f, 0.0f, 0.0f,
0.0f, -0.5f, 0.0f, 0.0f,
0.0f, 0.0f, 0.0f, 0.0f,
fOffsetX, fOffsetY, 0.5f, 1.0f );
// transform car
// mS * mT * mR * m_mWorld * m_mView * m_mProj
if(m_hmWorldViewProj != NULL)
{
g_pEffect->SetMatrix(
m_hmWorldViewProj,
&(m_matL * m_matWorld * m_matView * m_matProj)
);
}
// transform projected textures
// mS * mT * mR * mView * mProj * mScaleBias
D3DXMATRIX matTemp = m_matL * m_matLightVP * mScaleBias;
if(m_hmLightViewProjTexAdj != NULL)
{
g_pEffect->SetMatrix(m_hmLightViewProjTexAdj, &matTemp);
} |
|