mirror of
https://github.com/edubart/otclient.git
synced 2025-10-16 20:43:26 +02:00
fix outfit glitches, init combobox, move shaders, remove unused particles files, create timer utility
This commit is contained in:
41
modules/game_shaders/outfit.frag
Normal file
41
modules/game_shaders/outfit.frag
Normal file
@@ -0,0 +1,41 @@
|
||||
uniform float opacity; // painter opacity
|
||||
uniform vec4 color; // painter color
|
||||
uniform float time; // time in seconds since shader linkage
|
||||
|
||||
uniform sampler2D texture; // outfit texture
|
||||
varying vec2 textureCoords; // outfit texture coords
|
||||
uniform sampler2D maskTexture; // outfit color mask
|
||||
|
||||
uniform vec4 headColor;
|
||||
uniform vec4 bodyColor;
|
||||
uniform vec4 legsColor;
|
||||
uniform vec4 feetColor;
|
||||
|
||||
const vec4 yellow = vec4(1.0, 1.0, 0.0, 1.0);
|
||||
const vec4 red = vec4(1.0, 0.0, 0.0, 1.0);
|
||||
const vec4 green = vec4(0.0, 1.0, 0.0, 1.0);
|
||||
const vec4 blue = vec4(0.0, 0.0, 1.0, 1.0);
|
||||
|
||||
vec4 calcOutfitPixel()
|
||||
{
|
||||
vec4 pixel = texture2D(texture, textureCoords);
|
||||
vec4 maskColor = texture2D(maskTexture, textureCoords);
|
||||
|
||||
vec4 outColor = vec4(1.0, 1.0, 1.0, 1.0);
|
||||
if(maskColor == yellow)
|
||||
outColor = headColor;
|
||||
else if(maskColor == red)
|
||||
outColor = bodyColor;
|
||||
else if(maskColor == green)
|
||||
outColor = legsColor;
|
||||
else if(maskColor == blue)
|
||||
outColor = feetColor;
|
||||
|
||||
return pixel * outColor;
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_FragColor = calcOutfitPixel() * color * opacity;
|
||||
}
|
||||
|
Reference in New Issue
Block a user