本文整理汇总了C++中StdMat2::GetOpacity方法的典型用法代码示例。如果您正苦于以下问题:C++ StdMat2::GetOpacity方法的具体用法?C++ StdMat2::GetOpacity怎么用?C++ StdMat2::GetOpacity使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类StdMat2
的用法示例。
在下文中一共展示了StdMat2::GetOpacity方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: LoadDialog
void StraussShaderDlg::LoadDialog(BOOL draw)
{
if (pShader && hRollup) {
glSpin->SetValue( FracToPc( pShader->GetGlossiness() ),FALSE);
glSpin->SetKeyBrackets(KeyAtCurTime(st_glossiness));
mtSpin->SetValue( FracToPc( pShader->GetMetalness() ), FALSE);
mtSpin->SetKeyBrackets(KeyAtCurTime(st_metalness));
trSpin->SetValue(FracToPc(pMtl->GetOpacity(curTime)),FALSE);
trSpin->SetKeyBrackets(pMtl->KeyAtTimeByID(OPACITY_PARAM, curTime));
UpdateColSwatches();
UpdateHilite();
IParamBlock2 * shaderpblock = pShader->pblock;
if ( shaderpblock ) {
cs[0]->UpdateEnableState( shaderpblock, shaderpblock->GetAnimNum( st_diffuse ) );
glSpin->UpdateEnableState( shaderpblock, shaderpblock->GetAnimNum( st_glossiness ) );
mtSpin->UpdateEnableState( shaderpblock, shaderpblock->GetAnimNum( st_metalness ) );
}
// trSpin: opacity is accessed through the material: only handle StdMat2.
EnableMtl2OpacityControl( pMtl, trSpin );
}
}
示例2: LoadDialog
void WardShaderDlg::LoadDialog(BOOL draw)
{
if (pShader && hRollup) {
dlevSpin->SetValue(FracToPc(pShader->GetDiffuseLevel()),FALSE);
dlevSpin->SetKeyBrackets(KeyAtCurTime(PB_DIFFUSE_LEV));
slevSpin->SetValue(FracToPc(pShader->GetSpecularLevel()/SPEC_MAX),FALSE);
slevSpin->SetKeyBrackets(KeyAtCurTime(PB_SPECULAR_LEV));
glxSpin->SetValue( 100.0f * ((ALPHA_MAX - pShader->GetGlossiness())/ALPHA_SZ),FALSE);
glxSpin->SetKeyBrackets(KeyAtCurTime(PB_GLOSSINESS_X));
glySpin->SetValue(100.0f * ((ALPHA_MAX - pShader->GetGlossinessY())/ALPHA_SZ),FALSE);
glySpin->SetKeyBrackets(KeyAtCurTime(PB_GLOSSINESS_Y));
trSpin->SetValue(FracToPc(pMtl->GetOpacity( curTime )),FALSE);
trSpin->SetKeyBrackets(pMtl->KeyAtTime(OPACITY_PARAM, curTime));
CheckButton(hRollup, IDC_LOCK_AD, pShader->GetLockAD() );
CheckButton(hRollup, IDC_LOCK_DS, pShader->GetLockDS() );
SetCheckBox(hRollup, IDC_NORMALIZE_CHECK, !pShader->GetNormalizeOn() );
UpdateLockADTex( FALSE ); //don't send to mtl
UpdateColSwatches();
UpdateHilite();
}
}
示例3: LoadDialog
void OrenNayarShaderDlg::LoadDialog(BOOL draw)
{
if (pShader && hRollup) {
shSpin->SetValue(FracToPc(pShader->GetGlossiness()),FALSE);
shSpin->SetKeyBrackets(KeyAtCurTime(onb_glossiness));
ssSpin->SetValue(FracToPc(pShader->GetSpecularLevel()),FALSE);
ssSpin->SetKeyBrackets(KeyAtCurTime(onb_specular_level));
softSpin->SetValue(pShader->GetSoftenLevel(),FALSE);
softSpin->SetKeyBrackets(KeyAtCurTime(onb_soften));
trSpin->SetValue(FracToPc(pMtl->GetOpacity( curTime )),FALSE);
trSpin->SetKeyBrackets(pMtl->KeyAtTime(OPACITY_PARAM, curTime));
dlevSpin->SetValue(FracToPc(pShader->GetDiffuseLevel()),FALSE);
dlevSpin->SetKeyBrackets(KeyAtCurTime(onb_diffuse_level));
roughSpin->SetValue(FracToPc(pShader->GetDiffuseRoughness()),FALSE);
roughSpin->SetKeyBrackets(KeyAtCurTime(onb_roughness));
CheckButton(hRollup, IDC_LOCK_AD, pShader->GetLockAD() );
CheckButton(hRollup, IDC_LOCK_DS, pShader->GetLockDS() );
UpdateLockADTex( FALSE ); //don't send to mtl
BOOL colorSelfIllum = pShader->IsSelfIllumClrOn();
SetCheckBox(hRollup,IDC_SI_COLORON, colorSelfIllum );
if( colorSelfIllum ) {
// ShowWindow( siSpin->GetHwnd(), SW_HIDE );
ShowWindow( GetDlgItem(hRollup, IDC_SI_EDIT), SW_HIDE );
ShowWindow( GetDlgItem(hRollup, IDC_SI_SPIN), SW_HIDE );
ShowWindow( cs[N_SI_CLR]->GetHwnd(), SW_SHOW );
} else {
// disable the color swatch
ShowWindow( cs[N_SI_CLR]->GetHwnd(), SW_HIDE );
// show self-illum slider
// ShowWindow( siSpin->GetHwnd(), SW_SHOW );
ShowWindow( GetDlgItem(hRollup, IDC_SI_EDIT), SW_SHOW );
ShowWindow( GetDlgItem(hRollup, IDC_SI_SPIN), SW_SHOW );
siSpin->SetValue(FracToPc(pShader->GetSelfIllum()), FALSE);
siSpin->SetKeyBrackets(KeyAtCurTime(onb_self_illum_amnt));
}
UpdateColSwatches();
UpdateHilite();
}
}
示例4: UpdateOpacity
void OrenNayarShaderDlg::UpdateOpacity()
{
trSpin->SetValue(FracToPc(pMtl->GetOpacity(curTime)),FALSE);
trSpin->SetKeyBrackets(pMtl->KeyAtTime(OPACITY_PARAM, curTime));
}
示例5: BuildShaders
// --[ Method ]---------------------------------------------------------------
//
// - Class : CStravaganzaMaxTools
//
// - prototype : bool BuildShaders()
//
// - Purpose : Builds the shader list from MAX's materials.
// Preview mode requires texture files to be stored with full
// path in order to load them. When we export, we only store the
// filename. Another thing is that in the export mode, we copy
// all textures into the path specified by the user if that
// option is checked.
//
// -----------------------------------------------------------------------------
bool CStravaganzaMaxTools::BuildShaders()
{
std::vector<Mtl*>::iterator it;
assert(m_vecShaders.empty());
if(!m_bPreview && m_bCopyTextures && m_strTexturePath == "")
{
CLogger::NotifyWindow("Textures won't be copied\nSpecify a valid output texture path first");
}
LOG.Write("\n\n-Building shaders: ");
for(it = m_vecMaterials.begin(); it != m_vecMaterials.end(); ++it)
{
Mtl* pMaxMaterial = *it;
assert(pMaxMaterial);
LOG.Write("\n %s", pMaxMaterial->GetName().data());
CShaderStandard* pShaderStd = new CShaderStandard;
pShaderStd->SetName(pMaxMaterial->GetName().data());
// Properties
StdMat2 *pMaxStandardMtl = NULL;
StdMat2 *pMaxBakedMtl = NULL;
float fAlpha;
if(pMaxMaterial->ClassID() == Class_ID(DMTL_CLASS_ID, 0))
{
pMaxStandardMtl = (StdMat2 *)pMaxMaterial;
}
else if(pMaxMaterial->ClassID() == Class_ID(BAKE_SHELL_CLASS_ID, 0))
{
pMaxStandardMtl = (StdMat2 *)pMaxMaterial->GetSubMtl(0);
pMaxBakedMtl = (StdMat2 *)pMaxMaterial->GetSubMtl(1);
}
if(pMaxStandardMtl)
{
// Standard material
fAlpha = pMaxStandardMtl->GetOpacity(0);
Shader* pMaxShader = pMaxStandardMtl->GetShader();
CVector4 v4Specular = ColorToVector4(pMaxStandardMtl->GetSpecular(0), 0.0f) * pMaxShader->GetSpecularLevel(0, 0);
pShaderStd->SetAmbient (ColorToVector4(pMaxStandardMtl->GetAmbient(0), 0.0f));
pShaderStd->SetDiffuse (ColorToVector4(pMaxStandardMtl->GetDiffuse(0), fAlpha));
pShaderStd->SetSpecular (v4Specular);
pShaderStd->SetShininess(pMaxShader->GetGlossiness(0, 0) * 128.0f);
if(pMaxStandardMtl->GetTwoSided() == TRUE)
{
pShaderStd->SetTwoSided(true);
}
// Need to cast to StdMat2 in order to get access to IsFaceted().
// ¿Is StdMat2 always the interface for standard materials?
if(((StdMat2*)pMaxStandardMtl)->IsFaceted())
{
pShaderStd->SetFaceted(true);
}
if(pMaxStandardMtl->GetWire() == TRUE)
{
pShaderStd->SetPostWire(true);
pShaderStd->SetWireLineThickness(pMaxStandardMtl->GetWireSize(0));
}
}
else
{
// Material != Standard
fAlpha = 1.0f; // pMaxMaterial->GetXParency();
pShaderStd->SetAmbient (ColorToVector4(pMaxMaterial->GetAmbient(), 0.0f));
pShaderStd->SetDiffuse (ColorToVector4(pMaxMaterial->GetDiffuse(), fAlpha));
pShaderStd->SetSpecular (CVector4(0.0f, 0.0f, 0.0f, 0.0f));
pShaderStd->SetShininess(0.0f);
}
// Layers
//.........这里部分代码省略.........
示例6: UpdateOpacity
void StraussShaderDlg::UpdateOpacity()
{
trSpin->SetValue(FracToPc(pMtl->GetOpacity(curTime)),FALSE);
trSpin->SetKeyBrackets(pMtl->KeyAtTimeByID(OPACITY_PARAM, curTime));
UpdateHilite();
}