Remove unneeded pow in transparent.frag
It's only used in 2d rendering so no srgb sampling is needed
This commit is contained in:
parent
efcdd79d42
commit
155b73d452
@ -1,25 +1,13 @@
|
|||||||
#ifdef Use_Bindless_Texture
|
|
||||||
layout(bindless_sampler) uniform sampler2D tex;
|
|
||||||
#else
|
|
||||||
uniform sampler2D tex;
|
uniform sampler2D tex;
|
||||||
#endif
|
|
||||||
uniform float custom_alpha;
|
|
||||||
|
|
||||||
in vec2 uv;
|
in vec2 uv;
|
||||||
in vec4 color;
|
in vec4 color;
|
||||||
out vec4 FragColor;
|
out vec4 FragColor;
|
||||||
|
|
||||||
|
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
vec4 Color = texture(tex, uv);
|
vec4 Color = texture(tex, uv);
|
||||||
#ifdef Use_Bindless_Texture
|
Color *= color;
|
||||||
#ifdef SRGBBindlessFix
|
|
||||||
Color.xyz = pow(Color.xyz, vec3(2.2));
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
Color.xyz *= pow(color.xyz, vec3(2.2));
|
|
||||||
Color.a *= color.a;
|
|
||||||
// Premultiply alpha
|
// Premultiply alpha
|
||||||
FragColor = vec4(Color.rgb * (Color.a * custom_alpha), Color.a * custom_alpha);
|
FragColor = vec4(Color.rgb * Color.a, Color.a);
|
||||||
}
|
}
|
||||||
|
@ -27,14 +27,14 @@
|
|||||||
#include "utils/cpp2011.hpp"
|
#include "utils/cpp2011.hpp"
|
||||||
|
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
class Primitive2DList : public TextureShader<Primitive2DList, 1, float, core::vector2df>
|
class Primitive2DList : public TextureShader<Primitive2DList, 1, core::vector2df>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
Primitive2DList()
|
Primitive2DList()
|
||||||
{
|
{
|
||||||
loadProgram(OBJECT, GL_VERTEX_SHADER, "primitive2dlist.vert",
|
loadProgram(OBJECT, GL_VERTEX_SHADER, "primitive2dlist.vert",
|
||||||
GL_FRAGMENT_SHADER, "transparent.frag");
|
GL_FRAGMENT_SHADER, "transparent.frag");
|
||||||
assignUniforms("custom_alpha", "fullscreen");
|
assignUniforms("fullscreen");
|
||||||
assignSamplerNames(0, "tex", ST_BILINEAR_FILTERED);
|
assignSamplerNames(0, "tex", ST_BILINEAR_FILTERED);
|
||||||
} // Primitive2DList
|
} // Primitive2DList
|
||||||
}; //Primitive2DList
|
}; //Primitive2DList
|
||||||
@ -503,7 +503,7 @@ void draw2DVertexPrimitiveList(video::ITexture *tex, const void* vertices,
|
|||||||
VertexUtils::bindVertexArrayAttrib(vType);
|
VertexUtils::bindVertexArrayAttrib(vType);
|
||||||
|
|
||||||
Primitive2DList::getInstance()->use();
|
Primitive2DList::getInstance()->use();
|
||||||
Primitive2DList::getInstance()->setUniforms(1.0f,
|
Primitive2DList::getInstance()->setUniforms(
|
||||||
core::vector2df(float(irr_driver->getActualScreenSize().Width),
|
core::vector2df(float(irr_driver->getActualScreenSize().Width),
|
||||||
float(irr_driver->getActualScreenSize().Height)));
|
float(irr_driver->getActualScreenSize().Height)));
|
||||||
Primitive2DList::getInstance()->setTextureUnits(tex->getTextureHandler());
|
Primitive2DList::getInstance()->setTextureUnits(tex->getTextureHandler());
|
||||||
|
Loading…
Reference in New Issue
Block a user