Esempio n. 1
0
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;
}
Esempio n. 2
0
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;
}
Esempio n. 3
0
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;
}