// Atomic counters
shared_params CounterBuffer
{
    param_named ac uint 0
}

fragment_program Ogre/RasterizationOrderFp glsl
{
	source RasterizationOrderFp.glsl
	syntax glsl400
	
	default_params
	{
	    shared_params_ref CounterBuffer
	}
}

material Example/RasterizationOrder
{
    technique
    {
		pass
		{
            vertex_program_ref Ogre/BasicVertexPrograms/AmbientOneTextureUnified {}
			fragment_program_ref Ogre/RasterizationOrderFp {}
		}
	}
}

// Mesh shader
fragment_program Ogre/MeshShaderFp glslang
{
	source MeshShaderFp.frag
}

mesh_program Ogre/MeshShader glslang
{
	source MeshProgram.glsl

    default_params
    {
        param_named_auto MVP worldviewproj_matrix
        param_named_auto t time_0_1 1.5
    }
}

material Example/MeshShader
{
    technique
    {
		pass
		{
            mesh_program_ref Ogre/MeshShader {}
			fragment_program_ref Ogre/MeshShaderFp {}
			cull_hardware none
		}
	}
}

