DefaultShader.java 文件源码

java
阅读 29 收藏 0 点赞 0 评论 0

项目:libgdxcn 作者:
@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);
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号