module voxel.svo.shaders

Code Map

module voxel.svo.shaders;


//! Cache shaders so they can be resude between different passes and
//! models.
class ShaderStore
{
public:
	this(isAMD: bool) { }
	fn makeElementsDispatchShader(src: u32, dst: u32) gfx.Shader { }
	fn makeWalkFrustumShader(srcBaseIndex: u32, dstBaseIndex: u32, counterIndex: u32, powerStart: u32, powerLevels: u32) gfx.Shader { }
	fn makeWalkSplitShader(srcBaseIndex: u32, dstBaseIndex: u32, counterIndex: u32, splitIndex: u32, splitSize: u32, powerStart: u32) gfx.Shader { }
	fn makeWalkSortShader(srcBaseIndex: u32, counterIndex: u32, powerStart: u32) gfx.Shader { }
	fn makeWalkDoubleShader(counterIndex: u32) gfx.Shader { }
	fn makePointsWalkShader(powerStart: u32) gfx.Shader { }
	fn makeCubesWalkShader(src: u32, powerStart: u32) gfx.Shader { }


protected:
	mShaderStore: gfx.Shader[string];
	mCompiler: gfx.Compiler;
	mIsAMD: bool;
}

fn getStore(c: Create) ShaderStore { }
class ShaderStore

Cache shaders so they can be resude between different passes and models.