This example program demonstrates the use of several shadow techniques that are available in osg or that are currently under development. === Volumetric shadowing === Not fully implemented yet === Shadow mapping === Standard depth shadow mapping === Soft shadow maps === Needs shader model 3.0+ support. === Parallel split shadow maps === Currently under development == Program arguments == || ||'''argument''' || '''description''' || ||-h or --help || Display this information. || ||--positionalLight || Use a positional light. || ||--directionalLight || Use a direction light. || ||--noUpdate || Disable the updating the of light source. || ||--base || Add a base geometry to test shadows. || ||--sv || Select !ShadowVolume implementation. || ||--ssm || Select !SoftShadowMap implementation. || ||--sm || Select !ShadowMap implementation. || ||--pssm || Select !ParallelSplitShadowMap implementation. || ||--mapcount || !ParallelSplitShadowMap texture count. || ||--mapres || !ParallelSplitShadowMap texture resolution. || ||--debug-color || !ParallelSplitShadowMap display debugging color (only the first 3 maps are color r=0,g=1,b=2.") || ||--minNearSplit || !ParallelSplitShadowMap shadow map near offset. || ||--maxFarDist || !ParallelSplitShadowMap max far distance to shadow. || ||--moveVCamFactor || !ParallelSplitShadowMap move the virtual frustum behind the real camera, (also back ground object can cast shadow). || ||--NVidea || !ParallelSplitShadowMap set default !PolygonOffset for NVidea. || ||--PolyOffset-Factor || !ParallelSplitShadowMap set !PolygonOffset factor. || ||--PolyOffset-Unit" || !ParallelSplitShadowMap set !PolygonOffset unit. || ||--!CullFaceFront || !ParallelSplitShadowMap add a cull face: front. || ||-1 || Use test model one. || ||-2 || Use test model two. || ||-3 || Use test model three. || ||--two-sided || Use two-sided stencil extension for shadow volumes. || ||--two-pass || Use two-pass stencil for shadow volumes. || || == Key handlers == || ||'''key''' || '''description''' || || 1 || Select trackballmanipulator || || 2 || Select flightmanipulator || || 3 || Select drivemanipulator || || 4 || Select terrainmanipulator || || 5 || Select animationpathmanipulator || || s || Cycle through statistics modes || || w || Cycle through solid, wire and point modes || || l || Toggle lighting || || t || Toggle textures || ||