use of com.badlogic.gdx.graphics.g3d.environment.PointLight in project bdx by GoranM.
the class Light method on.
public void on(boolean on) {
this.on = on;
if (type == Type.POINT) {
PointLightsAttribute la = (PointLightsAttribute) scene.environment.get(PointLightsAttribute.Type);
PointLight pl = (PointLight) lightData;
if (on && !la.lights.contains(pl, true))
la.lights.add(pl);
else if (!on && la.lights.contains(pl, true))
la.lights.removeValue(pl, true);
} else if (type == Type.SUN) {
DirectionalLightsAttribute la = (DirectionalLightsAttribute) scene.environment.get(DirectionalLightsAttribute.Type);
DirectionalLight dl = (DirectionalLight) lightData;
if (on && !la.lights.contains(dl, true))
la.lights.add(dl);
else if (!on && la.lights.contains(dl, true))
la.lights.removeValue(dl, true);
} else if (type == Type.SPOT) {
SpotLightsAttribute la = (SpotLightsAttribute) scene.environment.get(SpotLightsAttribute.Type);
SpotLight sl = (SpotLight) lightData;
if (on && !la.lights.contains(sl, true))
la.lights.add(sl);
else if (!on && la.lights.contains(sl, true))
la.lights.removeValue(sl, true);
}
}
use of com.badlogic.gdx.graphics.g3d.environment.PointLight in project nhglib by VoidZombie.
the class ShaderUtils method createPrefix.
public static String createPrefix(Renderable renderable, boolean skinned) {
String prefix = "";
final int n = renderable.meshPart.mesh.getVertexAttributes().size();
for (int i = 0; i < n; i++) {
final VertexAttribute attr = renderable.meshPart.mesh.getVertexAttributes().get(i);
if (attr.usage == VertexAttributes.Usage.BoneWeight) {
prefix += "#define boneWeight" + attr.unit + "Flag\n";
}
}
if (skinned) {
prefix += "#define skinningFlag\n";
}
Environment environment = renderable.environment;
// Ambient lighting
ColorAttribute ambientLightAttribute = (ColorAttribute) environment.get(ColorAttribute.AmbientLight);
if (ambientLightAttribute != null) {
prefix += "#define ambientLighting\n";
}
// Directional lighting
DirectionalLightsAttribute directionalLightsAttribute = (DirectionalLightsAttribute) environment.get(DirectionalLightsAttribute.Type);
if (directionalLightsAttribute != null) {
Array<DirectionalLight> directionalLights = directionalLightsAttribute.lights;
if (directionalLights.size > 0) {
prefix += "#define numDirectionalLights " + directionalLights.size + "\n";
}
}
// Point lighting
PointLightsAttribute pointLightsAttribute = (PointLightsAttribute) environment.get(PointLightsAttribute.Type);
if (pointLightsAttribute != null) {
Array<PointLight> pointLights = pointLightsAttribute.lights;
if (pointLights.size > 0) {
prefix += "#define numPointLights " + pointLights.size + "\n";
}
}
// Spot lighting
SpotLightsAttribute spotLightsAttribute = (SpotLightsAttribute) environment.get(SpotLightsAttribute.Type);
if (spotLightsAttribute != null) {
Array<SpotLight> spotLights = spotLightsAttribute.lights;
if (spotLights.size > 0) {
prefix += "#define numSpotLights " + spotLights.size + "\n";
}
}
return prefix;
}
Aggregations