本文整理汇总了C++中CBlender_Compile::SetParams方法的典型用法代码示例。如果您正苦于以下问题:C++ CBlender_Compile::SetParams方法的具体用法?C++ CBlender_Compile::SetParams怎么用?C++ CBlender_Compile::SetParams使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CBlender_Compile
的用法示例。
在下文中一共展示了CBlender_Compile::SetParams方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
void CBlender_deffer_aref::Compile(CBlender_Compile& C)
{
IBlender::Compile (C);
// oBlend.value = FALSE ;
if (oBlend.value) {
switch(C.iElement)
{
case SE_R2_NORMAL_HQ:
case SE_R2_NORMAL_LQ:
if (lmapped) {
C.r_Pass ("lmapE","lmapE",TRUE,TRUE,FALSE,TRUE,D3DBLEND_SRCALPHA, D3DBLEND_INVSRCALPHA, TRUE, oAREF.value);
C.r_Sampler ("s_base", C.L_textures[0] );
C.r_Sampler ("s_lmap", C.L_textures[1] );
C.r_Sampler_clf ("s_hemi", *C.L_textures[2]);
C.r_Sampler ("s_env", r2_T_envs0, false,D3DTADDRESS_CLAMP);
C.r_End ();
} else {
C.r_Pass ("vert", "vert", TRUE,TRUE,FALSE,TRUE,D3DBLEND_SRCALPHA, D3DBLEND_INVSRCALPHA, TRUE, oAREF.value);
C.r_Sampler ("s_base", C.L_textures[0] );
C.r_End ();
}
break;
default:
break;
}
} else {
C.SetParams (1,false); //.
// codepath is the same, only the shaders differ
// ***only pixel shaders differ***
switch(C.iElement)
{
case SE_R2_NORMAL_HQ: // deffer
uber_deffer (C,true,"base","base",true);
break;
case SE_R2_NORMAL_LQ: // deffer
uber_deffer (C,false,"base","base",true);
break;
case SE_R2_SHADOW: // smap
if (RImplementation.o.HW_smap) C.r_Pass ("shadow_direct_base_aref","shadow_direct_base_aref",FALSE,TRUE,TRUE,FALSE,D3DBLEND_ZERO,D3DBLEND_ONE,TRUE,220);
else C.r_Pass ("shadow_direct_base_aref","shadow_direct_base_aref",FALSE);
C.r_Sampler ("s_base",C.L_textures[0]);
C.r_End ();
break;
}
}
}
示例2:
adopt_compiler& _options (int P, bool S) { C->SetParams (P,S); return *this; }