ich wollte ein Rauschen wie bei einem Fernseher mittels Shader realisieren.
Dazu habe ich mir eine RauschTextur mittels Gimp generiert.
Ich habe mir das so vorgestellt, dass ich die Texturkoordinaten bei jedem Frame neu übergebe (bei mir sogr zufällig).
Also bei jedem Frame neue Texturkoordinaten für die Rausch-Textur an den Shader übergeben.
Jedoch sehe ich dabei jetzt nur noch eine graue Textur...#
Ich poste mal etwas Code, damit es deutlich wird.
Code: Alles auswählen
GLint uvNoiseTexTempID = glGetUniformLocation(mShader.mProgramID, "uvNoiseTexTemp");
float val1 = float(rand() % 100) /100.0f;
float val2 = float(rand() % 100) / 100.0f;
glUniform2f(uvNoiseTexTempID,val1, val2 );
Code: Alles auswählen
#version 330 core
out vec2 uvNoiseTex;
uniform vec2 uvNoiseTexTemp;
void main()
{
gl_Position.xy = vertexPosition.xy;
gl_Position.z = 1.0;
gl_Position.w = 1.0;
uvNoiseTex = uvNoiseTexTemp;
}
Code: Alles auswählen
in vec2 uvNoiseTex;
uniform sampler2D noiseTextureSampler;
vec4 colNoise;
// Ouput data
out vec4 color;
void main()
{
colNoise = texture2D( noiseTextureSampler, uvNoiseTex ).rgba;
color = colNoise;
}
Weiß jemand etwas?