List of usage examples for com.badlogic.gdx.graphics GL20 GL_CLAMP_TO_EDGE
int GL_CLAMP_TO_EDGE
To view the source code for com.badlogic.gdx.graphics GL20 GL_CLAMP_TO_EDGE.
Click Source Link
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); }