Reversed meaning of m_tr attribute in KRMaterial so that it matches the alpha without needing inversion
--HG-- extra : convert_revision : svn%3A7752d6cf-9f14-4ad2-affc-04f1e67b81a5/trunk%40120
This commit is contained in:
@@ -50,7 +50,7 @@ KRMaterial::KRMaterial(KRContext &context, const char *szName) : KRResource(cont
|
||||
m_diffuseColor = KRVector3::One();
|
||||
m_specularColor = KRVector3::One();
|
||||
m_reflectionColor = KRVector3::One();
|
||||
m_tr = (GLfloat)0.0f;
|
||||
m_tr = (GLfloat)1.0f;
|
||||
m_ns = (GLfloat)0.0f;
|
||||
m_ambientMap = "";
|
||||
m_diffuseMap = "";
|
||||
@@ -179,7 +179,7 @@ void KRMaterial::setReflection(const KRVector3 &c) {
|
||||
}
|
||||
|
||||
void KRMaterial::setTransparency(GLfloat a) {
|
||||
if(a != 0.0f && m_alpha_mode == KRMaterial::KRMATERIAL_ALPHA_MODE_OPAQUE) {
|
||||
if(a < 1.0f && m_alpha_mode == KRMaterial::KRMATERIAL_ALPHA_MODE_OPAQUE) {
|
||||
setAlphaMode(KRMaterial::KRMATERIAL_ALPHA_MODE_BLENDONESIDE);
|
||||
}
|
||||
m_tr = a;
|
||||
@@ -194,7 +194,7 @@ void KRMaterial::setReflectionFactor(GLfloat r) {
|
||||
}
|
||||
|
||||
bool KRMaterial::isTransparent() {
|
||||
return m_tr != 0.0 || m_alpha_mode == KRMATERIAL_ALPHA_MODE_BLENDONESIDE || m_alpha_mode == KRMATERIAL_ALPHA_MODE_BLENDTWOSIDE;
|
||||
return m_tr < 1.0 || m_alpha_mode == KRMATERIAL_ALPHA_MODE_BLENDONESIDE || m_alpha_mode == KRMATERIAL_ALPHA_MODE_BLENDTWOSIDE;
|
||||
}
|
||||
|
||||
#if TARGET_OS_IPHONE
|
||||
@@ -393,7 +393,7 @@ bool KRMaterial::bind(KRMaterial **prevBoundMaterial, char *szPrevShaderKey, KRC
|
||||
));
|
||||
}
|
||||
|
||||
GLDEBUG(glUniform1f(pShader->m_uniforms[KRShader::KRENGINE_UNIFORM_MATERIAL_ALPHA], 1.0f - m_tr));
|
||||
GLDEBUG(glUniform1f(pShader->m_uniforms[KRShader::KRENGINE_UNIFORM_MATERIAL_ALPHA], m_tr));
|
||||
GLDEBUG(glUniform1f(pShader->m_uniforms[KRShader::KRENGINE_UNIFORM_MATERIAL_REFLECTIVITY], m_reflectionFactor));
|
||||
|
||||
if(bDiffuseMap) {
|
||||
|
||||
@@ -453,7 +453,7 @@ void LoadMesh(KRNode *parent_node, std::vector<KRResource *> &resources, KFbxGeo
|
||||
|
||||
// Transparency
|
||||
lKFbxDouble1 =((KFbxSurfacePhong *) pMaterial)->TransparencyFactor;
|
||||
new_material->setTransparency(1.0-lKFbxDouble1.Get());
|
||||
new_material->setTransparency(lKFbxDouble1.Get());
|
||||
|
||||
// Shininess
|
||||
lKFbxDouble1 =((KFbxSurfacePhong *) pMaterial)->Shininess;
|
||||
@@ -484,7 +484,7 @@ void LoadMesh(KRNode *parent_node, std::vector<KRResource *> &resources, KFbxGeo
|
||||
|
||||
// Opacity
|
||||
lKFbxDouble1 =((KFbxSurfaceLambert *)pMaterial)->TransparencyFactor;
|
||||
new_material->setTransparency(1.0-lKFbxDouble1.Get());
|
||||
new_material->setTransparency(lKFbxDouble1.Get());
|
||||
} else {
|
||||
printf("Error! Unable to convert material: %s", pMaterial->GetName());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user