作业地址
作业框架知识
作业1
SM
对于
ShadowMap
的实现有两个任务点需要完成:
1.
在
ShadowMaterial.js
中需要向
Shader
传递正确的
uLightMVP
矩阵,该矩阵参与了第一步从光源处渲染场景从而构造 ShadowMap
的过程。你需要
完成
DirectionalLight
中的
CalcLightMVP(translate, scale)
函数,它
会在
ShadowMaterial
中被调用,并将返回光源处的
MVP
矩阵绑定从而完
成参数传递过程。
这里我们相当于在光源处建立一个虚拟的摄像机:
3
•
你需要使用
lightPos
,
focalPoint
,
lightUp
来构造摄像机的
LookAt
矩
阵。
•
推荐在使用正交投影,这可以保证场景深度信息在坐标系转换中保持线
性从而便于之后使用。正交投影的参数决定了
shadow map
所覆盖的范
围。
2.
需要完善
phongFragment.glsl
中的
useShadowMap(sampler2D shadowMap,
vec4 shadowCoord)
函数。该函数负责查询当前着色点在
ShadowMap
上记 录的深度值,并与