void StraussShader::GetIllumParams( ShadeContext &sc, IllumParams& ip ) { ip.stdParams = SupportStdParams(); ip.channels[S_DI] = diffuse; ip.channels[S_GL].r = glossiness; ip.channels[S_MT].r = metalness; }
void WardShader::GetIllumParams( ShadeContext &sc, IllumParams& ip ) { ip.stdParams = SupportStdParams(); ip.channels[W_AM] = ambient; ip.channels[W_DI] = diffuse; ip.channels[W_SP] = specular; ip.channels[W_GX].r = glossinessX; ip.channels[W_GY].r = glossinessY; ip.channels[W_DL].r = diffLevel; ip.channels[W_SL].r = specLevel; }
void OrenNayarBlinnShader::GetIllumParams(ShadeContext &sc, IllumParams& ip ) { ip.stdParams = SupportStdParams(); // ip.shFlags = selfIllumClrOn? SELFILLUM_CLR_ON : 0; ip.channels[ID_AM] = lockAD? diffuse : ambient; ip.channels[ID_DI] = diffuse; ip.channels[ID_SP] = lockDS? diffuse : specular; ip.channels[ID_SH].r = glossiness; ip.channels[ID_SS].r = specularLevel; if( selfIllumClrOn ) ip.channels[ID_SI] = selfIllumClr; else ip.channels[ID_SI].r = ip.channels[ID_SI].g = ip.channels[ID_SI].b = selfIllum; ip.channels[ID_DIFF_LEV].r = diffLevel; ip.channels[ID_DIFF_ROUGH].r = diffRough; }