OpenGL2: Add fourth cascade for sun shadows, and adjust sun shadow cvar defaults.
This commit is contained in:
parent
7b866ae96d
commit
2b2d696f12
10 changed files with 235 additions and 110 deletions
|
@ -498,9 +498,30 @@ void RE_RenderScene( const refdef_t *fd ) {
|
|||
// playing with even more shadows
|
||||
if(glRefConfig.framebufferObject && r_sunlightMode->integer && !( fd->rdflags & RDF_NOWORLDMODEL ) && (r_forceSun->integer || tr.sunShadows))
|
||||
{
|
||||
R_RenderSunShadowMaps(fd, 0);
|
||||
R_RenderSunShadowMaps(fd, 1);
|
||||
R_RenderSunShadowMaps(fd, 2);
|
||||
if (r_shadowCascadeZFar != 0)
|
||||
{
|
||||
R_RenderSunShadowMaps(fd, 0);
|
||||
R_RenderSunShadowMaps(fd, 1);
|
||||
R_RenderSunShadowMaps(fd, 2);
|
||||
}
|
||||
else
|
||||
{
|
||||
Mat4Zero(tr.refdef.sunShadowMvp[0]);
|
||||
Mat4Zero(tr.refdef.sunShadowMvp[1]);
|
||||
Mat4Zero(tr.refdef.sunShadowMvp[2]);
|
||||
}
|
||||
|
||||
// only rerender last cascade if sun has changed position
|
||||
if (r_forceSun->integer == 2 || !VectorCompare(tr.refdef.sunDir, tr.lastCascadeSunDirection))
|
||||
{
|
||||
VectorCopy(tr.refdef.sunDir, tr.lastCascadeSunDirection);
|
||||
R_RenderSunShadowMaps(fd, 3);
|
||||
Mat4Copy(tr.refdef.sunShadowMvp[3], tr.lastCascadeSunMvp);
|
||||
}
|
||||
else
|
||||
{
|
||||
Mat4Copy(tr.lastCascadeSunMvp, tr.refdef.sunShadowMvp[3]);
|
||||
}
|
||||
}
|
||||
|
||||
// playing with cube maps
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue