本文整理汇总了C++中CVar::Val方法的典型用法代码示例。如果您正苦于以下问题:C++ CVar::Val方法的具体用法?C++ CVar::Val怎么用?C++ CVar::Val使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CVar
的用法示例。
在下文中一共展示了CVar::Val方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: InitModel
bool CFont::InitModel()
{
static CStrAny sPlain(ST_CONST, "Plain");
static CStrAny sg_mWorld(ST_CONST, "g_mWorld");
static CStrAny sg_mView(ST_CONST, "g_mView");
static CStrAny sg_mProj(ST_CONST, "g_mProj");
static CStrAny sg_mTexTransform(ST_CONST, "g_mTexTransform");
static CStrAny sg_cMaterialDiffuse(ST_CONST, "g_cMaterialDiffuse");
static CStrAny sg_txDiffuse(ST_CONST, "g_txDiffuse");
static CStrAny sg_sDiffuse(ST_CONST, "g_sDiffuse");
ASSERT(!m_pTextModel);
bool bRes;
CTechnique *pTech = CGraphics::Get()->GetTechnique(sPlain);
if (!pTech)
return false;
CSmartPtr<CGeometry> pGeom(new CGeometry());
bRes = pGeom->Init(pTech->m_pInputDesc, CGeometry::PT_TRIANGLELIST, INIT_BUFFER_CHARS * 4, INIT_BUFFER_CHARS * 6, 0, 0,
CResource::RF_DYNAMIC | CResource::RF_KEEPSYSTEMCOPY, CResource::RF_DYNAMIC | CResource::RF_KEEPSYSTEMCOPY);
if (!bRes)
return false;
CSmartPtr<CMaterial> pMaterial(new CMaterial());
bRes = pMaterial->Init(pTech, true, 0);
if (!bRes)
return false;
CSmartPtr<CModel> pModel(new CModel());
bRes = pModel->Init(pGeom, pMaterial, 0, false);
if (!bRes)
return false;
m_pTextModel = pModel;
CMatrix<4, 4> mIdentity;
mIdentity.SetDiagonal();
CMatrixVar vMat(4, 4, CMatrixVar::MVF_OWNVALUES, &mIdentity(0, 0));
m_pTextModel->SetVar(sg_mProj, vMat);
m_pTextModel->SetVar(sg_mView, vMat);
m_pTextModel->SetVar(sg_mWorld, vMat);
CMatrix<3, 2> mTexIdentity;
mTexIdentity.SetDiagonal();
CMatrixVar vTexMat(3, 2, CMatrixVar::MVF_OWNVALUES, &mTexIdentity(0, 0));
m_pTextModel->SetVar(sg_mTexTransform, vTexMat);
CVar<CVector<4> > vVec4;
vVec4.Val().Set(1, 1, 1, 1);
m_pTextModel->SetVar(sg_cMaterialDiffuse, vVec4);
CVar<CTexture *> vTexVar;
vTexVar.Val() = m_pTexture;
m_pTextModel->SetVar(sg_txDiffuse, vTexVar);
CVar<CSampler *> vSampVar;
vSampVar.Val() = CGraphics::Get()->GetSampler(CSampler::TDesc());
m_pTextModel->SetVar(sg_sDiffuse, vSampVar);
ResetModel();
return true;
}