Some merge fixes and some sprite fixes.

This commit is contained in:
Tleety
2016-03-10 15:36:33 +01:00
parent 4322a5d8da
commit 7e6288c597
3 changed files with 19 additions and 28 deletions
+11 -17
View File
@@ -28,15 +28,7 @@ struct SpriteJob : RenderJob
DiffuseTexture = CommonFunctions::TryLoadResource<TextureSprite, true>(cSprite["DiffuseTexture"]);
IncandescenceTexture = CommonFunctions::TryLoadResource<TextureSprite, true>(cSprite["GlowMap"]);
if ((bool)cSprite["Linear"]) {
glBindTexture(GL_TEXTURE_2D, DiffuseTexture->m_Texture);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
} else {
glBindTexture(GL_TEXTURE_2D, DiffuseTexture->m_Texture);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_NEAREST);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
}
Linear = (bool)cSprite["Linear"];
StartIndex = matProp.material->StartIndex;
EndIndex = matProp.material->EndIndex;
@@ -60,21 +52,23 @@ struct SpriteJob : RenderJob
glm::vec3 scale = Transform::AbsoluteScale(world, cSprite.EntityID);
if((bool)cSprite["KeepRatioX"] == true) {
ScaleX = scale.x;
}
if ((bool)cSprite["KeepRatioY"] == true) {
ScaleY = scale.y;
}
if((bool)cSprite["KeepRatio"] == true) {
if(scale.y >= scale.x) {
ScaleY = (scale.x)/(scale.y);
ScaleX = 1;
ScaleX = 1.f;
} else {
ScaleY = 1;
ScaleY = 1.f;
ScaleX = (scale.x)/(scale.y);
}
} else {
if ((bool)cSprite["KeepRatioX"] == true) {
ScaleX = scale.x;
}
if ((bool)cSprite["KeepRatioY"] == true) {
ScaleY = scale.y;
}
}
};
unsigned int TextureID;
@@ -18,13 +18,4 @@ void main()
result += textureLod(Texture, Input.TextureCoordinate, i);
}
fragmentColor = result;
/*
vec4 texel0 = textureLod(Texture, Input.TextureCoordinate, 0);
vec4 texel1 = textureLod(Texture, Input.TextureCoordinate, 1);
vec4 texel2 = textureLod(Texture, Input.TextureCoordinate, 2);
vec4 texel3 = textureLod(Texture, Input.TextureCoordinate, 3);
vec4 texel4 = textureLod(Texture, Input.TextureCoordinate, 4);
fragmentColor = texel0 + texel1 + texel2 + texel3 + texel4;*/
}
+8 -2
View File
@@ -1291,12 +1291,18 @@ void DrawFinalPass::DrawSprites(std::list<std::shared_ptr<RenderJob>>&jobs, Rend
glActiveTexture(GL_TEXTURE1);
if (spriteJob->DiffuseTexture != nullptr) {
glBindTexture(GL_TEXTURE_2D, spriteJob->DiffuseTexture->m_Texture);
if (spriteJob->Linear) {
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
} else {
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_NEAREST);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
}
} else {
glBindTexture(GL_TEXTURE_2D, m_ErrorTexture->m_Texture);
}
glActiveTexture(GL_TEXTURE2);
if (spriteJob->IncandescenceTexture != nullptr) {
glBindTexture(GL_TEXTURE_2D, spriteJob->IncandescenceTexture->m_Texture);