Example usage for com.badlogic.gdx.graphics.g3d.utils TextureDescriptor TextureDescriptor

List of usage examples for com.badlogic.gdx.graphics.g3d.utils TextureDescriptor TextureDescriptor

Introduction

In this page you can find the example usage for com.badlogic.gdx.graphics.g3d.utils TextureDescriptor TextureDescriptor.

Prototype

public TextureDescriptor(final T texture) 

Source Link

Usage

From source file:com.github.fauu.helix.core.WaterShader.java

License:Open Source License

@Override
public void render(Renderable renderable) {
    program.setUniformMatrix(u_worldTrans, renderable.worldTransform);

    final Color color = ((ColorAttribute) renderable.material.get(ColorAttribute.Diffuse)).color;
    program.setUniformf(u_color, color.r, color.g, color.b, color.a);

    final TextureDescriptor textureDescriptor = ((TextureAttribute) renderable.material
            .get(TextureAttribute.Diffuse)).textureDescription;
    program.setUniformi(u_texture, context.textureBinder.bind(textureDescriptor));

    WaterData waterData = (WaterData) renderable.userData;

    final TextureDescriptor reflectionTextureDescriptor = new TextureDescriptor(waterData.reflectionTexture);
    program.setUniformi(u_reflectionTexture, context.textureBinder.bind(reflectionTextureDescriptor));

    program.setUniformf(u_waveData, waterData.waveAmplitude, waterData.waveAngle);

    //    final Vector3 trn = new Vector3();
    //    renderable.worldTransform.getTranslation(trn);
    ///*www.  java  2  s .  co m*/
    //    final float diffX = trn.x - ((float[]) renderable.userData)[2];
    //    final float posCoeffX = (float) ((diffX / ((float[]) renderable.userData)[3]) * 2 * Math.PI);
    //
    //    final float diffZ = trn.z - ((float[]) renderable.userData)[4];
    //    final float posCoeffZ = (float) ((diffZ / ((float[]) renderable.userData)[5]) * 2 * Math.PI);
    //
    //    program.setUniformf(u_waveData, ((float[]) renderable.userData)[0], ((float[]) renderable.userData)[1],
    //        posCoeffX, posCoeffZ);

    renderable.mesh.render(program, renderable.primitiveType, renderable.meshPartOffset,
            renderable.meshPartSize, true);
}