Exemplo n.º 1
0
void CBlender_Editor_Wire::Compile	(CBlender_Compile& C)
{
	IBlender::Compile		(C);
#if !defined(USE_DX10) && !defined(USE_DX11)
	if (C.bEditor)	
	{
		C.PassBegin		();
		{
			C.PassSET_ZB		(TRUE,TRUE);
			C.PassSET_Blend		(FALSE,D3DBLEND_ONE,D3DBLEND_ZERO,	FALSE,0);
			C.PassSET_LightFog	(FALSE,FALSE);

			// Stage0 - Base texture
			C.StageBegin		();
			C.StageSET_Color	(D3DTA_DIFFUSE,	  D3DTOP_MODULATE,		D3DTA_TFACTOR);
			C.StageSET_Alpha	(D3DTA_DIFFUSE,	  D3DTOP_MODULATE,		D3DTA_TFACTOR);
			C.Stage_Texture		("$null");
			C.Stage_Matrix		("$null",	0);
			C.Stage_Constant	("$null");
			//		C.Stage_Constant	("$base0",	"$user$wire");
			C.StageEnd			();
		}
		C.PassEnd			();
	} 
	else 
#endif	//	USE_DX10
	{
		C.r_Pass	("editor","simple_color",FALSE,TRUE,TRUE);
		C.r_End		();
	}
}
Exemplo n.º 2
0
void	CBlender_Editor_Selection::Compile	(CBlender_Compile& C)
{
	IBlender::Compile		(C);	
	if (C.bEditor)	{
		C.PassBegin		();
		{
			C.PassSET_ZB		(TRUE,FALSE);
			C.PassSET_Blend		(TRUE,D3DBLEND_SRCALPHA,D3DBLEND_INVSRCALPHA,	FALSE,0);
			C.PassSET_LightFog	(FALSE,FALSE);

			// Stage0 - Base texture
			C.StageBegin		();
			C.StageSET_Address	(D3DTADDRESS_CLAMP);
			C.StageSET_Color	(D3DTA_TFACTOR,	  D3DTOP_MODULATE,		D3DTA_DIFFUSE);
			C.StageSET_Alpha	(D3DTA_TFACTOR,	  D3DTOP_MODULATE,		D3DTA_DIFFUSE);
			C.Stage_Texture		(oT_Name	);
			C.Stage_Matrix		(oT_xform,	0);
			C.Stage_Constant	("$null"	);
			C.StageEnd			();
		}
		C.PassEnd			();
	} else {
		C.r_Pass	("editor","simple_color",FALSE,TRUE,FALSE,TRUE,D3DBLEND_SRCALPHA,D3DBLEND_INVSRCALPHA);
		C.r_End		();
	}
}
Exemplo n.º 3
0
void CBlender_Vertex::Compile	(CBlender_Compile& C)
{
    IBlender::Compile		(C);

    if (C.bEditor)
    {
        // Editor shader
        C.PassBegin		();
        {
            C.PassSET_ZB			(TRUE,TRUE);
            C.PassSET_Blend			(FALSE,D3DBLEND_ONE,D3DBLEND_ZERO,	FALSE,0);
            C.PassSET_LightFog		(TRUE,TRUE);

            // Stage0 - Base texture
            C.StageBegin			();
            C.StageSET_Color		(D3DTA_TEXTURE,	  D3DTOP_MODULATE,	D3DTA_DIFFUSE);
            C.StageSET_Alpha		(D3DTA_TEXTURE,	  D3DTOP_MODULATE,	D3DTA_DIFFUSE);
            C.Stage_Texture			(oT_Name);
            C.Stage_Matrix			(oT_xform,0);
            C.Stage_Constant		("$null");
            C.StageEnd				();
        }
        C.PassEnd			();
    } else {
        switch (C.iElement)
        {
        case SE_R1_NORMAL_HQ:
            // Level view
            if (C.bDetail_Diffuse)
            {
                C.r_Pass	("vert_dt","vert_dt",TRUE);
                C.r_Sampler	("s_base",	C.L_textures[0]);
                C.r_Sampler	("s_detail",C.detail_texture);
                C.r_End		();
            } else	{
                C.r_Pass	("vert","vert",TRUE);
                C.r_Sampler	("s_base",C.L_textures[0]);
                C.r_End		();
            }
            break;
        case SE_R1_NORMAL_LQ:
            // Level view
            C.r_Pass	("vert","vert",TRUE);
            C.r_Sampler	("s_base",C.L_textures[0]);
            C.r_End		();
            break;
        case SE_R1_LPOINT:
            C.r_Pass		("vert_point","add_point",FALSE,TRUE,FALSE,TRUE,D3DBLEND_ONE,D3DBLEND_ONE,TRUE);
            C.r_Sampler		("s_base",	C.L_textures[0]);
            C.r_Sampler_clf	("s_lmap",	TEX_POINT_ATT		);
            C.r_Sampler_clf	("s_att",	TEX_POINT_ATT		);
            C.r_End			();
            break;
        case SE_R1_LSPOT:
            C.r_Pass		("vert_spot","add_spot",FALSE,TRUE,FALSE,TRUE,D3DBLEND_ONE,D3DBLEND_ONE,TRUE);
            C.r_Sampler		("s_base",	C.L_textures[0]);
            C.r_Sampler_clf	("s_lmap",	"internal\\internal_light_att",		true);
            C.r_Sampler_clf	("s_att",	TEX_SPOT_ATT		);
            C.r_End			();
            break;
        case SE_R1_LMODELS:
            // Lighting only
            C.r_Pass		("vert_l","vert_l",FALSE);
            C.r_Sampler		("s_base",C.L_textures[0]);
            C.r_End			();
            break;
        }
    }
}