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"]); DiffuseTexture = CommonFunctions::TryLoadResource<TextureSprite, true>(cSprite["DiffuseTexture"]);
IncandescenceTexture = CommonFunctions::TryLoadResource<TextureSprite, true>(cSprite["GlowMap"]); IncandescenceTexture = CommonFunctions::TryLoadResource<TextureSprite, true>(cSprite["GlowMap"]);
if ((bool)cSprite["Linear"]) { Linear = (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);
}
StartIndex = matProp.material->StartIndex; StartIndex = matProp.material->StartIndex;
EndIndex = matProp.material->EndIndex; EndIndex = matProp.material->EndIndex;
@@ -60,21 +52,23 @@ struct SpriteJob : RenderJob
glm::vec3 scale = Transform::AbsoluteScale(world, cSprite.EntityID); 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((bool)cSprite["KeepRatio"] == true) {
if(scale.y >= scale.x) { if(scale.y >= scale.x) {
ScaleY = (scale.x)/(scale.y); ScaleY = (scale.x)/(scale.y);
ScaleX = 1; ScaleX = 1.f;
} else { } else {
ScaleY = 1; ScaleY = 1.f;
ScaleX = (scale.x)/(scale.y); 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; unsigned int TextureID;
@@ -18,13 +18,4 @@ void main()
result += textureLod(Texture, Input.TextureCoordinate, i); result += textureLod(Texture, Input.TextureCoordinate, i);
} }
fragmentColor = result; 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); glActiveTexture(GL_TEXTURE1);
if (spriteJob->DiffuseTexture != nullptr) { if (spriteJob->DiffuseTexture != nullptr) {
glBindTexture(GL_TEXTURE_2D, spriteJob->DiffuseTexture->m_Texture); 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 { } else {
glBindTexture(GL_TEXTURE_2D, m_ErrorTexture->m_Texture); glBindTexture(GL_TEXTURE_2D, m_ErrorTexture->m_Texture);
} }
glActiveTexture(GL_TEXTURE2); glActiveTexture(GL_TEXTURE2);
if (spriteJob->IncandescenceTexture != nullptr) { if (spriteJob->IncandescenceTexture != nullptr) {
glBindTexture(GL_TEXTURE_2D, spriteJob->IncandescenceTexture->m_Texture); glBindTexture(GL_TEXTURE_2D, spriteJob->IncandescenceTexture->m_Texture);