General > German corner

Licht + Shader

(1/1)

Dumblecore:
Hallo,
ich versuche gerade einen Tag/Nacht-Zyklus zu erstellen. Es klappt soweit auch alles wunder bar, bis auf eine Sache:
Mein Terrain bleibt immer gleich hell. Egal, ob ich das Ambient-Light verändere, oder das Terrain durch eine Lichtquelle beleuchte. Es bleibt immer genau gleich. Meine Idee war, dass das irgendwie mit dem Splat-Map-Shader zusammenhängt, den ich verwende... Aber wie kann ich das dann beheben.

hier noch meine Methode zur Erstellung des Terrains:

--- Code: ---private void loadTerrain() throws Exception{
TextureInfo ti = new TextureInfo(TextureManager.getInstance().getTextureID("grass"));
ti.add(TextureManager.getInstance().getTextureID("sand"), TextureInfo.MODE_MODULATE);
ti.add(TextureManager.getInstance().getTextureID("stone"), TextureInfo.MODE_MODULATE);
ti.add(TextureManager.getInstance().getTextureID("alpha"), TextureInfo.MODE_MODULATE);

ground = Loader.load3DS(new FileInputStream("data/world/Terrain.3ds"), 20f)[0];
ground.setTexture(ti);
ground.rotateX(-(float)Math.PI/2f);
ground.setSpecularLighting(true);
Game.world.addObject(ground);
ground.build();
ground.compileAndStrip();
ground.setCollisionMode(Object3D.COLLISION_CHECK_OTHERS);

String fragSource = Loader.loadTextFile("data/misc/fragmentshader.glsl");
String vertexSource = Loader.loadTextFile("data/misc/vertexshader.glsl");
GLSLShader shader = new GLSLShader(vertexSource, fragSource);
shader.setStaticUniform("Grass", 0);
shader.setStaticUniform("Sand", 1);
shader.setStaticUniform("Stone", 2);
shader.setStaticUniform("Alpha", 3);
ground.setRenderHook(shader);
}
--- End code ---

EgonOlsen:
Wenn dein Shader keinen Code enthält, um irgendwas mit Lichtquellen zu machen, dann wird da auch nichts passieren...
Du müsstest irgendeine Art von Lichtberechnung im Shader ergänzen. Du hast dazu die normalen, von OpenGL vordefinierten Attribute für Lichtquellen zur Verfügung.

Dumblecore:
Super danke :) hab jetzt noch etwas rumprobiert und jetzt funktionierts

Navigation

[0] Message Index

Go to full version