//
//This file is part of Caelum.
//See http://www.ogre3d.org/wiki/index.php/Caelum 
//
//Copyright (c) 2008 Caelum team. See Contributors.txt for details.
//
//Caelum is free software: you can redistribute it and/or modify
//it under the terms of the GNU Lesser General Public License as published
//by the Free Software Foundation, either version 3 of the License, or
//(at your option) any later version.
//
//Caelum is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//GNU Lesser General Public License for more details.
//
//You should have received a copy of the GNU Lesser General Public License
//along with Caelum. If not, see <http://www.gnu.org/licenses/>.
//

fragment_program Caelum/PhaseMoonFP cg
{
	source CaelumPhaseMoon.cg
	entry_point PhaseMoonFP
	profiles ps_2_0 arbfp1 fp30

	default_params
	{
		param_named phase float 0.3
	}
}

material Caelum/FullMoon
{
    receive_shadows off
    technique Default
    {
        pass Main
        {
            lighting off
            depth_check off
            depth_write off
            fog_override true none
            ambient 0 0 0
            diffuse 0 0 0
            scene_blend alpha_blend 
            emissive vertexcolour

            texture_unit Texture0
            {
                texture moon_disc.dds 2d
            }
        }
    }
}

material Caelum/PhaseMoon
{
    receive_shadows off
    technique Default
    {
        pass Main
        {
            lighting off
            depth_check off
            depth_write off
            fog_override true none
            ambient 0 0 0
            diffuse 0 0 0
            scene_blend alpha_blend

            texture_unit MoonDisc
            {
                texture moon_disc.dds
            }
            
            fragment_program_ref Caelum/PhaseMoonFP
            {
            }
        }
    }
}

material Caelum/MoonBackground
{
    receive_shadows off
    technique Default
    {
        pass Main
        {
            // Used fixed function lighting to return black.
            lighting off
            
            depth_check off
            depth_write off
            fog_override true none
            scene_blend alpha_blend

            texture_unit MoonDisc
            {
                texture moon_disc.dds
                colour_op_ex source1 src_manual src_diffuse 0 0 0 0
            }
        }
    }
}

