Introduction - If you have any usage issues, please Google them yourself
achieve soft shadow of the source code, the foreign staff of the study, compared the bottom, is worth learning.
Packet : 101259331soft_shadow_v3_1_src.zip filelist
soft_shadow_v3_1_src/
soft_shadow_v3_1_src/bleifrei/
soft_shadow_v3_1_src/bleifrei.sln
soft_shadow_v3_1_src/bleifrei.suo
soft_shadow_v3_1_src/bleifrei/bleifrei.vcproj
soft_shadow_v3_1_src/bleifrei/comp/
soft_shadow_v3_1_src/bleifrei/comp/Huffman.cpp
soft_shadow_v3_1_src/bleifrei/comp/Huffman.hpp
soft_shadow_v3_1_src/bleifrei/fx/
soft_shadow_v3_1_src/bleifrei/fx/ParticleSystem.cpp
soft_shadow_v3_1_src/bleifrei/fx/ParticleSystem.hpp
soft_shadow_v3_1_src/bleifrei/fx/ParticleSystemManager.cpp
soft_shadow_v3_1_src/bleifrei/fx/ParticleSystemManager.hpp
soft_shadow_v3_1_src/bleifrei/gfx/
soft_shadow_v3_1_src/bleifrei/gfx/Color.cpp
soft_shadow_v3_1_src/bleifrei/gfx/Color.hpp
soft_shadow_v3_1_src/bleifrei/gfx/Font.cpp
soft_shadow_v3_1_src/bleifrei/gfx/Font.hpp
soft_shadow_v3_1_src/bleifrei/gfx/FragmentProgram.cpp
soft_shadow_v3_1_src/bleifrei/gfx/FragmentProgram.hpp
soft_shadow_v3_1_src/bleifrei/gfx/glATI.h
soft_shadow_v3_1_src/bleifrei/gfx/glext.h
soft_shadow_v3_1_src/bleifrei/gfx/mARBle.cpp
soft_shadow_v3_1_src/bleifrei/gfx/mARBle.hpp
soft_shadow_v3_1_src/bleifrei/gfx/Material.cpp
soft_shadow_v3_1_src/bleifrei/gfx/Material.hpp
soft_shadow_v3_1_src/bleifrei/gfx/opengl.cpp
soft_shadow_v3_1_src/bleifrei/gfx/opengl.hpp
soft_shadow_v3_1_src/bleifrei/gfx/PixelBuffer.cpp
soft_shadow_v3_1_src/bleifrei/gfx/PixelBuffer.hpp
soft_shadow_v3_1_src/bleifrei/gfx/RenderTarget.cpp
soft_shadow_v3_1_src/bleifrei/gfx/RenderTarget.hpp
soft_shadow_v3_1_src/bleifrei/gfx/Skybox.cpp
soft_shadow_v3_1_src/bleifrei/gfx/Skybox.hpp
soft_shadow_v3_1_src/bleifrei/gfx/VertexProgram.cpp
soft_shadow_v3_1_src/bleifrei/gfx/VertexProgram.hpp
soft_shadow_v3_1_src/bleifrei/gfx/wglATI.h
soft_shadow_v3_1_src/bleifrei/gfx/wglext.h
soft_shadow_v3_1_src/bleifrei/gui/
soft_shadow_v3_1_src/bleifrei/gui/GUICheckBox.cpp
soft_shadow_v3_1_src/bleifrei/gui/GUICheckBox.hpp
soft_shadow_v3_1_src/bleifrei/gui/GUIComponent.cpp
soft_shadow_v3_1_src/bleifrei/gui/GUIComponent.hpp
soft_shadow_v3_1_src/bleifrei/gui/GUIContainer.hpp
soft_shadow_v3_1_src/bleifrei/gui/GUIFocusComponent.hpp
soft_shadow_v3_1_src/bleifrei/gui/GUIManager.cpp
soft_shadow_v3_1_src/bleifrei/gui/GUIManager.hpp
soft_shadow_v3_1_src/bleifrei/gui/GUIProgressIndicator.cpp
soft_shadow_v3_1_src/bleifrei/gui/GUIProgressIndicator.hpp
soft_shadow_v3_1_src/bleifrei/gui/GUIRadioButton.cpp
soft_shadow_v3_1_src/bleifrei/gui/GUIRadioButton.hpp
soft_shadow_v3_1_src/bleifrei/gui/GUIScrollBar.cpp
soft_shadow_v3_1_src/bleifrei/gui/GUIScrollBar.hpp
soft_shadow_v3_1_src/bleifrei/gui/GUITextBox.cpp
soft_shadow_v3_1_src/bleifrei/gui/GUITextBox.hpp
soft_shadow_v3_1_src/bleifrei/gui/ScrollBox.hpp
soft_shadow_v3_1_src/bleifrei/img/
soft_shadow_v3_1_src/bleifrei/img/Image.cpp
soft_shadow_v3_1_src/bleifrei/img/Image.hpp
soft_shadow_v3_1_src/bleifrei/img/TGAImage.cpp
soft_shadow_v3_1_src/bleifrei/img/TGAImage.hpp
soft_shadow_v3_1_src/bleifrei/input/
soft_shadow_v3_1_src/bleifrei/input/keyboard.cpp
soft_shadow_v3_1_src/bleifrei/input/keyboard.hpp
soft_shadow_v3_1_src/bleifrei/input/mouse.cpp
soft_shadow_v3_1_src/bleifrei/input/mouse.hpp
soft_shadow_v3_1_src/bleifrei/io/
soft_shadow_v3_1_src/bleifrei/io/BitInStream.cpp
soft_shadow_v3_1_src/bleifrei/io/BitInStream.hpp
soft_shadow_v3_1_src/bleifrei/io/BitOutStream.cpp
soft_shadow_v3_1_src/bleifrei/io/BitOutStream.hpp
soft_shadow_v3_1_src/bleifrei/io/ConfigFile.cpp
soft_shadow_v3_1_src/bleifrei/io/ConfigFile.hpp
soft_shadow_v3_1_src/bleifrei/io/console.cpp
soft_shadow_v3_1_src/bleifrei/io/console.hpp
soft_shadow_v3_1_src/bleifrei/io/io.hpp
soft_shadow_v3_1_src/bleifrei/lang/
soft_shadow_v3_1_src/bleifrei/lang/Lexer.cpp
soft_shadow_v3_1_src/bleifrei/lang/Lexer.hpp
soft_shadow_v3_1_src/bleifrei/lang/Parser.cpp
soft_shadow_v3_1_src/bleifrei/lang/Parser.hpp
soft_shadow_v3_1_src/bleifrei/math/
soft_shadow_v3_1_src/bleifrei/math/Matrix.hpp
soft_shadow_v3_1_src/bleifrei/math/Matrix_op.hpp
soft_shadow_v3_1_src/bleifrei/math/misc.hpp
soft_shadow_v3_1_src/bleifrei/math/Plane.hpp
soft_shadow_v3_1_src/bleifrei/mesh/
soft_shadow_v3_1_src/bleifrei/mesh/Mesh.cpp
soft_shadow_v3_1_src/bleifrei/mesh/Mesh.hpp
soft_shadow_v3_1_src/bleifrei/mesh/MeshManage.hppp
soft_shadow_v3_1_src/bleifrei/mesh/MeshManager.cpp
soft_shadow_v3_1_src/bleifrei/mesh/MeshManager.hpp
soft_shadow_v3_1_src/bleifrei/mesh/Model.cpp
soft_shadow_v3_1_src/bleifrei/mesh/Model.hpp
soft_shadow_v3_1_src/bleifrei/mesh/ModelManager.cpp
soft_shadow_v3_1_src/bleifrei/mesh/ModelManager.hpp
soft_shadow_v3_1_src/bleifrei/platform/
soft_shadow_v3_1_src/bleifrei/platform/ConfigFile.cpp
soft_shadow_v3_1_src/bleifrei/platform/ConfigFile.hpp
soft_shadow_v3_1_src/bleifrei/platform/platform.cpp
soft_shadow_v3_1_src/bleifrei/platform/platform.hpp
soft_shadow_v3_1_src/bleifrei/platform/Timer.hpp
soft_shadow_v3_1_src/bleifrei/platform/types.hpp
soft_shadow_v3_1_src/bleifrei/tex/
soft_shadow_v3_1_src/bleifrei/tex/Texture.cpp
soft_shadow_v3_1_src/bleifrei/tex/Texture.hpp
soft_shadow_v3_1_src/bleifrei/tex/TextureManager.cpp
soft_shadow_v3_1_src/bleifrei/tex/TextureManager.hpp
soft_shadow_v3_1_src/game/
soft_shadow_v3_1_src/game/Button.cpp
soft_shadow_v3_1_src/game/Button.hpp
soft_shadow_v3_1_src/game/Camera.cpp
soft_shadow_v3_1_src/game/Camera.hpp
soft_shadow_v3_1_src/game/CheckBox.cpp
soft_shadow_v3_1_src/game/CheckBox.hpp
soft_shadow_v3_1_src/game/ColorBox.cpp
soft_shadow_v3_1_src/game/default.map
soft_shadow_v3_1_src/game/font.fnt
soft_shadow_v3_1_src/game/fp/
soft_shadow_v3_1_src/game/FPSPlayer.cpp
soft_shadow_v3_1_src/game/FPSPlayer.hpp
soft_shadow_v3_1_src/game/FPSWorld.cpp
soft_shadow_v3_1_src/game/FPSWorld.hpp
soft_shadow_v3_1_src/game/fp/color.fp
soft_shadow_v3_1_src/game/fp/light.fp
soft_shadow_v3_1_src/game/fp/light.xfp
soft_shadow_v3_1_src/game/fp/light_rect.fp
soft_shadow_v3_1_src/game/fp/posworld.fp
soft_shadow_v3_1_src/game/fp/rectwedge.fp
soft_shadow_v3_1_src/game/fp/rectwedge.out
soft_shadow_v3_1_src/game/fp/rectwedge.xfp
soft_shadow_v3_1_src/game/fp/rectwedge.xfp.old
soft_shadow_v3_1_src/game/fp/rectwedge.xfp.old2
soft_shadow_v3_1_src/game/fp/spherewedge.fp
soft_shadow_v3_1_src/game/fp/spherewedge.xfp
soft_shadow_v3_1_src/game/fp/spherewedge.xfp.old
soft_shadow_v3_1_src/game/fp/spherewedge2.xfp
soft_shadow_v3_1_src/game/fp/texturedwedge.fp
soft_shadow_v3_1_src/game/fp/tmp_rectwedge.xfp
soft_shadow_v3_1_src/game/Frame.cpp
soft_shadow_v3_1_src/game/Frame.hpp
soft_shadow_v3_1_src/game/game.log
soft_shadow_v3_1_src/game/game.vcproj
soft_shadow_v3_1_src/game/Ground.cpp
soft_shadow_v3_1_src/game/Ground.hpp
soft_shadow_v3_1_src/game/gui.cpp
soft_shadow_v3_1_src/game/Label.cpp
soft_shadow_v3_1_src/game/Label.hpp
soft_shadow_v3_1_src/game/Light.cpp
soft_shadow_v3_1_src/game/Light.hpp
soft_shadow_v3_1_src/game/lookuptextures.cpp
soft_shadow_v3_1_src/game/lookuptextures.hpp
soft_shadow_v3_1_src/game/main.cpp
soft_shadow_v3_1_src/game/Object.cpp
soft_shadow_v3_1_src/game/Object.hpp
soft_shadow_v3_1_src/game/ODEDynamicObject.cpp
soft_shadow_v3_1_src/game/ODEDynamicObject.hpp
soft_shadow_v3_1_src/game/ODEGeomData.hpp
soft_shadow_v3_1_src/game/ODELight.cpp
soft_shadow_v3_1_src/game/ODELight.hpp
soft_shadow_v3_1_src/game/ODEStaticObject.cpp
soft_shadow_v3_1_src/game/ODEStaticObject.hpp
soft_shadow_v3_1_src/game/ODEWorld.cpp
soft_shadow_v3_1_src/game/ODEWorld.hpp
soft_shadow_v3_1_src/game/PlayerCamera.cpp
soft_shadow_v3_1_src/game/PlayerCamera.hpp
soft_shadow_v3_1_src/game/PlayerObject.cpp
soft_shadow_v3_1_src/game/PlayerObject.hpp
soft_shadow_v3_1_src/game/ProgressIndicator.cpp
soft_shadow_v3_1_src/game/ProgressIndicator.hpp
soft_shadow_v3_1_src/game/RadioButton.cpp
soft_shadow_v3_1_src/game/RadioButton.hpp
soft_shadow_v3_1_src/game/ScrollBar.cpp
soft_shadow_v3_1_src/game/ScrollBar.hpp
soft_shadow_v3_1_src/game/settings.ini
soft_shadow_v3_1_src/game/ShadowVolume.cpp
soft_shadow_v3_1_src/game/ShadowVolume.hpp
soft_shadow_v3_1_src/game/sizing.map
soft_shadow_v3_1_src/game/temp.map
soft_shadow_v3_1_src/game/temp2.map
soft_shadow_v3_1_src/game/test-1.map
soft_shadow_v3_1_src/game/test-2.map
soft_shadow_v3_1_src/game/test-3.map
soft_shadow_v3_1_src/game/test-4.map
soft_shadow_v3_1_src/game/test-5.map
soft_shadow_v3_1_src/game/test-6.map
soft_shadow_v3_1_src/game/test-7.map
soft_shadow_v3_1_src/game/test-8.map
soft_shadow_v3_1_src/game/test-9.map
soft_shadow_v3_1_src/game/TextBox.cpp
soft_shadow_v3_1_src/game/TextBox.hpp
soft_shadow_v3_1_src/game/TractorBeam.cpp
soft_shadow_v3_1_src/game/TractorBeam.hpp
soft_shadow_v3_1_src/game/vp/
soft_shadow_v3_1_src/game/vp/light.vp
soft_shadow_v3_1_src/game/vp/light.xvp
soft_shadow_v3_1_src/game/vp/posworld.vp
soft_shadow_v3_1_src/game/vp/shadowvolume.vp
soft_shadow_v3_1_src/game/vp/wedge.vp
soft_shadow_v3_1_src/game/Weapon.cpp
soft_shadow_v3_1_src/game/Weapon.hpp
soft_shadow_v3_1_src/game/World.cpp
soft_shadow_v3_1_src/game/World.hpp