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_diffuseColor = KRVector3::One();
|
||||||
m_specularColor = KRVector3::One();
|
m_specularColor = KRVector3::One();
|
||||||
m_reflectionColor = KRVector3::One();
|
m_reflectionColor = KRVector3::One();
|
||||||
m_tr = (GLfloat)0.0f;
|
m_tr = (GLfloat)1.0f;
|
||||||
m_ns = (GLfloat)0.0f;
|
m_ns = (GLfloat)0.0f;
|
||||||
m_ambientMap = "";
|
m_ambientMap = "";
|
||||||
m_diffuseMap = "";
|
m_diffuseMap = "";
|
||||||
@@ -179,7 +179,7 @@ void KRMaterial::setReflection(const KRVector3 &c) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void KRMaterial::setTransparency(GLfloat a) {
|
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);
|
setAlphaMode(KRMaterial::KRMATERIAL_ALPHA_MODE_BLENDONESIDE);
|
||||||
}
|
}
|
||||||
m_tr = a;
|
m_tr = a;
|
||||||
@@ -194,7 +194,7 @@ void KRMaterial::setReflectionFactor(GLfloat r) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool KRMaterial::isTransparent() {
|
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
|
#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));
|
GLDEBUG(glUniform1f(pShader->m_uniforms[KRShader::KRENGINE_UNIFORM_MATERIAL_REFLECTIVITY], m_reflectionFactor));
|
||||||
|
|
||||||
if(bDiffuseMap) {
|
if(bDiffuseMap) {
|
||||||
|
|||||||
@@ -453,7 +453,7 @@ void LoadMesh(KRNode *parent_node, std::vector<KRResource *> &resources, KFbxGeo
|
|||||||
|
|
||||||
// Transparency
|
// Transparency
|
||||||
lKFbxDouble1 =((KFbxSurfacePhong *) pMaterial)->TransparencyFactor;
|
lKFbxDouble1 =((KFbxSurfacePhong *) pMaterial)->TransparencyFactor;
|
||||||
new_material->setTransparency(1.0-lKFbxDouble1.Get());
|
new_material->setTransparency(lKFbxDouble1.Get());
|
||||||
|
|
||||||
// Shininess
|
// Shininess
|
||||||
lKFbxDouble1 =((KFbxSurfacePhong *) pMaterial)->Shininess;
|
lKFbxDouble1 =((KFbxSurfacePhong *) pMaterial)->Shininess;
|
||||||
@@ -484,7 +484,7 @@ void LoadMesh(KRNode *parent_node, std::vector<KRResource *> &resources, KFbxGeo
|
|||||||
|
|
||||||
// Opacity
|
// Opacity
|
||||||
lKFbxDouble1 =((KFbxSurfaceLambert *)pMaterial)->TransparencyFactor;
|
lKFbxDouble1 =((KFbxSurfaceLambert *)pMaterial)->TransparencyFactor;
|
||||||
new_material->setTransparency(1.0-lKFbxDouble1.Get());
|
new_material->setTransparency(lKFbxDouble1.Get());
|
||||||
} else {
|
} else {
|
||||||
printf("Error! Unable to convert material: %s", pMaterial->GetName());
|
printf("Error! Unable to convert material: %s", pMaterial->GetName());
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user