point lights

This commit is contained in:
2023-08-18 04:48:22 +10:00
parent 20b42d7a32
commit 2a88f7d446
2 changed files with 45 additions and 8 deletions

View File

@ -11,6 +11,7 @@ import com.badlogic.gdx.graphics.g3d.attributes.FloatAttribute
import com.badlogic.gdx.graphics.g3d.attributes.IntAttribute
import com.badlogic.gdx.graphics.g3d.attributes.TextureAttribute
import com.badlogic.gdx.graphics.g3d.environment.DirectionalLight
import com.badlogic.gdx.graphics.g3d.environment.PointLight
import com.badlogic.gdx.graphics.g3d.model.data.*
import com.badlogic.gdx.graphics.g3d.shaders.DefaultShader
import com.badlogic.gdx.graphics.g3d.utils.ModelBuilder
@ -152,13 +153,13 @@ class Game: ApplicationAdapter()
env = Environment()
env.set(
IntAttribute.createCullFace(GL20.GL_BACK),
ColorAttribute.createAmbientLight(XnaColor.DarkSlateGray.lighten(-0.6)),
ColorAttribute.createAmbientLight(XnaColor.DarkSlateGray.lighten(-0.666)),
ColorAttribute.createFog(XnaColor.CornflowerBlue))
env.set(
CustomIntAttribute.createFogMode(CustomIntAttribute.FogModes.Depth),
CustomIntAttribute.createFogType(CustomIntAttribute.FogTypes.Smooth),
CustomFloatAttribute.createFogNear(0.75f),
CustomFloatAttribute.createFogFar(20.5f))
CustomFloatAttribute.createFogNear(1.25f),
CustomFloatAttribute.createFogFar(24.5f))
/*
env.set(
CustomIntAttribute.createFogMode(CustomIntAttribute.FogModes.Distance),
@ -166,12 +167,21 @@ class Game: ApplicationAdapter()
CustomFloatAttribute.createFogDensity(0.1f))
*/
env.add(DirectionalLight().set(
XnaColor.BlanchedAlmond.lighten(0.01),
XnaColor.BlanchedAlmond.lighten(-0.02).mix(XnaColor.LightSlateGray, 0.5f).mix(XnaColor.White, 0.125f),
Vector3(1.0f, -1.0f, -1.0f).nor()))
env.add(PointLight().set(
XnaColor.Green.mix(XnaColor.Gray, 0.5f),
Vector3(3.0f, 0.33f, -5.0f), 2.0f))
env.add(PointLight().set(
XnaColor.Red.mix(XnaColor.Gray, 0.5f),
Vector3(5.5f, 0.33f, -6.0f), 2.0f))
env.add(PointLight().set(
XnaColor.Blue.mix(XnaColor.Gray, 0.5f),
Vector3(4.0f, 0.33f, -7.0f), 2.0f))
val shaderConfig = DefaultShader.Config()
shaderConfig.numDirectionalLights = 1
shaderConfig.numPointLights = 0
shaderConfig.numPointLights = 3
shaderConfig.numBones = 0
modelBatch = ModelBatch(CustomDefaultShaderProvider(shaderConfig))