Здравствуйте.
Пытался сделать рендер !!!окошка!!!(отдельный drawRect) меню с 0-0.5 альфой и блюром.
Просмотрел куча вариантов, немного выучил GLSL пока все это читал, но так ничего конкретного на счет блюра не понял.
Пытался использовать шейдер который грузится майнкрафтом
Код в drawScreen ->
И к сожалению блюра нет.
**
перепробовал кучу шейдеров которые есть в интернете и они также "отказываются" блюрить мой рендер
Пытался сделать рендер !!!окошка!!!(отдельный drawRect) меню с 0-0.5 альфой и блюром.
Просмотрел куча вариантов, немного выучил GLSL пока все это читал, но так ничего конкретного на счет блюра не понял.
Пытался использовать шейдер который грузится майнкрафтом
GLSL:
#version 120
uniform sampler2D DiffuseSampler;
varying vec2 texCoord;
varying vec2 oneTexel;
uniform vec2 InSize;
uniform vec2 BlurDir;
uniform float Radius;
uniform float Progress;
void main() {
vec4 blurred = vec4(0.0);
float totalStrength = 0.0;
float totalAlpha = 0.0;
float totalSamples = 0.0;
float progRadius = floor(Radius * Progress);
for(float r = -progRadius; r <= progRadius; r += 1.0) {
vec4 sample = texture2D(DiffuseSampler, texCoord + oneTexel * r * BlurDir);
totalAlpha = totalAlpha + sample.a;
totalSamples = totalSamples + 1.0;
float strength = 1.0 - abs(r / progRadius);
totalStrength = totalStrength + strength;
blurred = blurred + sample;
}
gl_FragColor = vec4(blurred.rgb / (progRadius * 2.0 + 1.0), totalAlpha);
}
Java:
blur.start();
int bd = blur.getUniform("BlurDir");
int r = blur.getUniform("Radius");
int p = blur.getUniform("Progress");
ARBShaderObjects.glUniform2fARB(bd, 1, 0);
ARBShaderObjects.glUniform1fARB(r, 1);
ARBShaderObjects.glUniform1fARB(p, 1);
GuiScreen.drawRect(0, 0, 100, 100, new Color(1, 1, 1, 0.5f).getRGB());
blur.stop();
И к сожалению блюра нет.
**
перепробовал кучу шейдеров которые есть в интернете и они также "отказываются" блюрить мой рендер
Последнее редактирование: