游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1351|回复: 2

Programming Vertex and Pixel Shaders (Ch24 Shadow Map Aliased)

[复制链接]

414

主题

611

帖子

621

积分

高级会员

Rank: 4

积分
621
发表于 2007-11-28 16:27:00 | 显示全部楼层 |阅读模式
我?了 一本??quotrogramming 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);
}

2

主题

5

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2007-11-28 18:10:00 | 显示全部楼层

Re: Programming Vertex and Pixel Shaders (Ch24 Shadow Map Aliased)

我也是刚学的菜鸟,不太懂,估计是像楼主说的那样吧,但是shadow_map_size是什么?没有给出顶点格式...不知道楼主的顶点是代表啥意思...还有为什么offsetX和offsetY一样了?这样写要计算多一次的除法,不如直接写offsetX=offsetY的效率高呀........我也好多不懂的地方,希望楼下的回答一下呢.. [em15]

0

主题

228

帖子

285

积分

中级会员

Rank: 3Rank: 3

积分
285
发表于 2007-11-29 11:10:00 | 显示全部楼层

Re:Programming Vertex and Pixel Shaders (Ch24 Shadow Map Aliased)

估计是把 -1 ~ 1 转换到和纹理相同的 0 ~ 1 的坐标系
因为齐次除法后在视头体内的顶点坐标范围在 -1 到 1之间,而存储顶点深度的深度纹理图的坐标范围在0 到 1之间,为了在用变换后的x,y值作为纹理坐标取得顶点深度的时候不转换纹理坐标,直接在渲染之前就做一个转换
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-17 17:16

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表