[Aqsis-commits] CVS: renderer/render texturemap.cpp,1.50,1.51
Brought to you by:
ltatkinson,
pgregory
From: Paul G. <pgr...@us...> - 2002-10-25 04:36:25
|
Update of /cvsroot/aqsis/renderer/render In directory usw-pr-cvs1:/tmp/cvs-serv15955/render Modified Files: texturemap.cpp Log Message: Implement bias0/1 range usage in shadow map sampling. - Michel Joron Index: texturemap.cpp =================================================================== RCS file: /cvsroot/aqsis/renderer/render/texturemap.cpp,v retrieving revision 1.50 retrieving revision 1.51 diff -C2 -r1.50 -r1.51 *** texturemap.cpp 23 Oct 2002 21:13:30 -0000 1.50 --- texturemap.cpp 24 Oct 2002 20:21:43 -0000 1.51 *************** *** 1655,1663 **** // Add in the bias at this point in camera coordinates. ! TqFloat bias = 0.0f; const TqFloat* poptBias = QGetRenderContextI() ->GetFloatOption( "shadow", "bias0" ); if ( poptBias != 0 ) ! bias = poptBias[ 0 ]; CqVector3D vecBias( 0, 0, bias ); // Generate a matrix to transform points from camera space into the space of the light source used in the --- 1655,1682 ---- // Add in the bias at this point in camera coordinates. ! TqFloat bias0 = 0.0f; const TqFloat* poptBias = QGetRenderContextI() ->GetFloatOption( "shadow", "bias0" ); if ( poptBias != 0 ) ! bias0 = poptBias[ 0 ]; + TqFloat bias1 = 0.0f; + poptBias = QGetRenderContextI() ->GetFloatOption( "shadow", "bias1" ); + if ( poptBias != 0 ) + bias1 = poptBias[ 0 ]; + + static CqRandom random(42); + TqFloat bias; + + + if (bias1 >= bias0) + { + bias = random.RandomFloat(bias1 - bias0) + bias0; + if (bias > bias1) bias = bias1; + } + else + { + bias = random.RandomFloat(bias0 - bias1) + bias1; + if (bias > bias0) bias = bias0; + } CqVector3D vecBias( 0, 0, bias ); // Generate a matrix to transform points from camera space into the space of the light source used in the |