@Override
public void set (BaseShader shader, int inputID, Renderable renderable, Attributes combinedAttributes) {
if (renderable.environment == null)
shader.program.setUniform3fv(shader.loc(inputID), ones, 0, ones.length);
else {
renderable.worldTransform.getTranslation(tmpV1);
if (renderable.environment.has(ColorAttribute.AmbientLight))
cacheAmbientCubemap.set(((ColorAttribute)renderable.environment.get(ColorAttribute.AmbientLight)).color);
for (int i = dirLightsOffset; i < renderable.environment.directionalLights.size; i++)
cacheAmbientCubemap.add(renderable.environment.directionalLights.get(i).color,
renderable.environment.directionalLights.get(i).direction);
for (int i = pointLightsOffset; i < renderable.environment.pointLights.size; i++)
cacheAmbientCubemap.add(renderable.environment.pointLights.get(i).color,
renderable.environment.pointLights.get(i).position, tmpV1,
renderable.environment.pointLights.get(i).intensity);
cacheAmbientCubemap.clamp();
shader.program.setUniform3fv(shader.loc(inputID), cacheAmbientCubemap.data, 0, cacheAmbientCubemap.data.length);
}
}
DefaultShader.java 文件源码
java
阅读 29
收藏 0
点赞 0
评论 0
项目:libgdxcn
作者:
评论列表
文章目录