void Effect::SetParam(const string& name, F32 data) { auto it = scalarVars.find(name); _ASSERT(it != scalarVars.end()); ID3DX11EffectScalarVariable* pScalarVar = it->second; DXCall(pScalarVar->SetFloat(data)); }
bool CD3DEffect::SetScalar(LPCSTR handle, float value) { if (m_effect) { ID3DX11EffectScalarVariable* scalar = m_effect->GetVariableByName(handle)->AsScalar(); if (scalar->IsValid()) return (S_OK == scalar->SetFloat(value)); } return false; }
void BoxApp::UpdateScene(float dt) { // Convert Spherical to Cartesian coordinates. float x = mRadius*sinf(mPhi)*cosf(mTheta); float z = mRadius*sinf(mPhi)*sinf(mTheta); float y = mRadius*cosf(mPhi); // Build the view matrix. XMVECTOR pos = XMVectorSet(x, y, z, 1.0f); XMVECTOR target = XMVectorZero(); XMVECTOR up = XMVectorSet(0.0f, 1.0f, 0.0f, 0.0f); XMMATRIX V = XMMatrixLookAtLH(pos, target, up); XMStoreFloat4x4(&mView, V); mfxTimeVar->SetFloat(mTimer.TotalTime()); }