Example usage for com.badlogic.gdx.graphics GL20 GL_CLAMP_TO_EDGE

List of usage examples for com.badlogic.gdx.graphics GL20 GL_CLAMP_TO_EDGE

Introduction

In this page you can find the example usage for com.badlogic.gdx.graphics GL20 GL_CLAMP_TO_EDGE.

Prototype

int GL_CLAMP_TO_EDGE

To view the source code for com.badlogic.gdx.graphics GL20 GL_CLAMP_TO_EDGE.

Click Source Link

Usage

From source file:com.bitfire.postprocessing.filters.CubemapEquirectangularFilter.java

License:Apache License

public void setSides(FrameBuffer xpositive, FrameBuffer xnegative, FrameBuffer ypositive, FrameBuffer ynegative,
        FrameBuffer zpositive, FrameBuffer znegative) {
    cubemapSides = new TextureData[6];
    cubemapSides[0] = xpositive.getColorBufferTexture().getTextureData();
    cubemapSides[1] = xnegative.getColorBufferTexture().getTextureData();
    cubemapSides[2] = ypositive.getColorBufferTexture().getTextureData();
    cubemapSides[3] = ynegative.getColorBufferTexture().getTextureData();
    cubemapSides[4] = zpositive.getColorBufferTexture().getTextureData();
    cubemapSides[5] = znegative.getColorBufferTexture().getTextureData();

    FrameBuffer[] fbos = new FrameBuffer[6];
    fbos[0] = xpositive;/*from  w ww  . j  a v a2  s .  c  o  m*/
    fbos[1] = xnegative;
    fbos[2] = ypositive;
    fbos[3] = ynegative;
    fbos[4] = zpositive;
    fbos[5] = znegative;

    if (cmId < 0)
        cmId = Gdx.gl.glGenTexture();

    // Make active
    Gdx.gl.glActiveTexture(GL20.GL_TEXTURE0 + u_texture1);
    Gdx.gl.glBindTexture(GL20.GL_TEXTURE_CUBE_MAP, cmId);

    // Call glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i) for all sides
    for (int i = 0; i < cubemapSides.length; i++) {
        if (cubemapSides[i].getType() == TextureData.TextureDataType.Custom) {
            cubemapSides[i].consumeCustomData(GL20.GL_TEXTURE_CUBE_MAP_POSITIVE_X + i);
        }
    }

    for (int i = 0; i < cubemapSides.length; i++) {
        fbos[i].begin();
        Gdx.gl.glFramebufferTexture2D(GL20.GL_FRAMEBUFFER, GL20.GL_COLOR_ATTACHMENT0,
                GL20.GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, cmId, 0);
        fbos[i].end();
    }

    Gdx.gl.glTexParameteri(GL20.GL_TEXTURE_CUBE_MAP, GL20.GL_TEXTURE_MAG_FILTER, GL20.GL_LINEAR);
    Gdx.gl.glTexParameteri(GL20.GL_TEXTURE_CUBE_MAP, GL20.GL_TEXTURE_MIN_FILTER, GL20.GL_LINEAR);
    Gdx.gl.glTexParameteri(GL20.GL_TEXTURE_CUBE_MAP, GL20.GL_TEXTURE_WRAP_S, GL20.GL_CLAMP_TO_EDGE);
    Gdx.gl.glTexParameteri(GL20.GL_TEXTURE_CUBE_MAP, GL20.GL_TEXTURE_WRAP_T, GL20.GL_CLAMP_TO_EDGE);
    Gdx.gl.glBindTexture(GL20.GL_TEXTURE_CUBE_MAP, 0);

    setParam(Param.Cubemap, u_texture1);

}

From source file:com.lyeeedar.Roguelike3D.Graphics.Models.SkyBox.java

License:Open Source License

public SkyBox(String texture) {

    this.texture[0] = new Pixmap(Gdx.files.internal("data/textures/" + texture + "_px.png"));
    this.texture[1] = new Pixmap(Gdx.files.internal("data/textures/" + texture + "_nx.png"));
    this.texture[2] = new Pixmap(Gdx.files.internal("data/textures/" + texture + "_py.png"));
    this.texture[3] = new Pixmap(Gdx.files.internal("data/textures/" + texture + "_ny.png"));
    this.texture[4] = new Pixmap(Gdx.files.internal("data/textures/" + texture + "_pz.png"));
    this.texture[5] = new Pixmap(Gdx.files.internal("data/textures/" + texture + "_nz.png"));

    IntBuffer buffer = BufferUtils.newIntBuffer(1);
    buffer.position(0);//from  w w w . j  av a 2s.  c o m
    buffer.limit(buffer.capacity());
    Gdx.gl20.glGenTextures(1, buffer);
    textureId = buffer.get(0);

    Gdx.gl20.glActiveTexture(SKYBOX_TEXTURE_ACTIVE_UNIT);
    Gdx.gl20.glBindTexture(GL20.GL_TEXTURE_CUBE_MAP, textureId);

    for (int i = 0; i < 6; i++) {
        glTexImage2D(GL20.GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, this.texture[i]);
    }

    float[] vertices = { -1.0f, -1.0f, 1.0f, 1.0f, -1.0f, 1.0f, -1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, -1.0f,
            -1.0f, -1.0f, 1.0f, -1.0f, -1.0f, -1.0f, 1.0f, -1.0f, 1.0f, 1.0f, -1.0f, };

    for (int i = 0; i < vertices.length; i++) {
        vertices[i] *= 10;
    }

    short[] indices = { 0, 1, 2, 3, 7, 1, 5, 4, 7, 6, 2, 4, 0, 1 };

    mesh = new Mesh(true, 24, 14, new VertexAttribute(Usage.Position, 3, "a_position"));

    mesh.setVertices(vertices);
    mesh.setIndices(indices);

    final String vertexShader = Gdx.files.internal("data/shaders/model/skybox.vertex.glsl").readString();
    final String fragmentShader = Gdx.files.internal("data/shaders/model/skybox.fragment.glsl").readString();
    ShaderProgram.pedantic = true;
    shader = new ShaderProgram(vertexShader, fragmentShader);

    Gdx.gl20.glTexParameteri(GL20.GL_TEXTURE_CUBE_MAP, GL20.GL_TEXTURE_MIN_FILTER, GL20.GL_NEAREST);
    Gdx.gl20.glTexParameteri(GL20.GL_TEXTURE_CUBE_MAP, GL20.GL_TEXTURE_MAG_FILTER, GL20.GL_NEAREST);

    Gdx.gl20.glTexParameteri(GL20.GL_TEXTURE_CUBE_MAP, GL20.GL_TEXTURE_WRAP_S, GL20.GL_CLAMP_TO_EDGE);
    Gdx.gl20.glTexParameteri(GL20.GL_TEXTURE_CUBE_MAP, GL20.GL_TEXTURE_WRAP_T, GL20.GL_CLAMP_TO_EDGE);

}

From source file:com.perfectplay.org.SkyBox.java

License:Open Source License

public void reloadCubemap() {
    g_cubeTexture = createGLHandle();//  w w w.j a v a  2  s  . co m
    Gdx.gl20.glBindTexture(GL20.GL_TEXTURE_CUBE_MAP, g_cubeTexture);

    Pixmap temp = manager.get(textures[0], Pixmap.class);
    Gdx.gl.glTexImage2D(GL20.GL_TEXTURE_CUBE_MAP_POSITIVE_X, 0, temp.getGLInternalFormat(), temp.getWidth(),
            temp.getHeight(), 0, temp.getGLFormat(), temp.getGLType(), temp.getPixels());
    temp = manager.get(textures[1], Pixmap.class);
    Gdx.gl.glTexImage2D(GL20.GL_TEXTURE_CUBE_MAP_NEGATIVE_X, 0, temp.getGLInternalFormat(), temp.getWidth(),
            temp.getHeight(), 0, temp.getGLFormat(), temp.getGLType(), temp.getPixels());
    temp = manager.get(textures[2], Pixmap.class);
    Gdx.gl.glTexImage2D(GL20.GL_TEXTURE_CUBE_MAP_POSITIVE_Y, 0, temp.getGLInternalFormat(), temp.getWidth(),
            temp.getHeight(), 0, temp.getGLFormat(), temp.getGLType(), temp.getPixels());
    temp = manager.get(textures[3], Pixmap.class);
    Gdx.gl.glTexImage2D(GL20.GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, 0, temp.getGLInternalFormat(), temp.getWidth(),
            temp.getHeight(), 0, temp.getGLFormat(), temp.getGLType(), temp.getPixels());
    temp = manager.get(textures[4], Pixmap.class);
    Gdx.gl.glTexImage2D(GL20.GL_TEXTURE_CUBE_MAP_POSITIVE_Z, 0, temp.getGLInternalFormat(), temp.getWidth(),
            temp.getHeight(), 0, temp.getGLFormat(), temp.getGLType(), temp.getPixels());
    temp = manager.get(textures[5], Pixmap.class);
    Gdx.gl.glTexImage2D(GL20.GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, 0, temp.getGLInternalFormat(), temp.getWidth(),
            temp.getHeight(), 0, temp.getGLFormat(), temp.getGLType(), temp.getPixels());

    Gdx.gl20.glBindTexture(GL20.GL_TEXTURE_CUBE_MAP, g_cubeTexture);

    Gdx.gl20.glTexParameterf(GL20.GL_TEXTURE_CUBE_MAP, GL20.GL_TEXTURE_MAG_FILTER, GL20.GL_LINEAR);
    Gdx.gl20.glTexParameterf(GL20.GL_TEXTURE_CUBE_MAP, GL20.GL_TEXTURE_MIN_FILTER, GL20.GL_NEAREST);
    Gdx.gl20.glTexParameteri(GL20.GL_TEXTURE_CUBE_MAP, GL20.GL_TEXTURE_WRAP_S, GL20.GL_CLAMP_TO_EDGE);
    Gdx.gl20.glTexParameteri(GL20.GL_TEXTURE_CUBE_MAP, GL20.GL_TEXTURE_WRAP_T, GL20.GL_CLAMP_TO_EDGE);
}