List of usage examples for com.badlogic.gdx.graphics GL20 GL_TEXTURE_2D
int GL_TEXTURE_2D
To view the source code for com.badlogic.gdx.graphics GL20 GL_TEXTURE_2D.
Click Source Link
From source file:com.badlogic.gdx.tests.gles2.MipMap2D.java
License:Apache License
public void render() { Gdx.gl20.glViewport(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); Gdx.gl20.glClear(GL20.GL_COLOR_BUFFER_BIT); Gdx.gl20.glActiveTexture(GL20.GL_TEXTURE0); texture.bind();//from w ww.j a va2 s . com shader.begin(); shader.setUniformf("s_texture", 0); Gdx.gl20.glTexParameteri(GL20.GL_TEXTURE_2D, GL20.GL_TEXTURE_MIN_FILTER, GL20.GL_NEAREST); shader.setUniformf("u_offset", -0.6f); mesh.render(shader, GL20.GL_TRIANGLES); Gdx.gl20.glTexParameteri(GL20.GL_TEXTURE_2D, GL20.GL_TEXTURE_MIN_FILTER, GL20.GL_LINEAR_MIPMAP_LINEAR); shader.setUniformf("u_offset", 0.6f); mesh.render(shader, GL20.GL_TRIANGLES); shader.end(); }
From source file:com.googlecode.gdxquake2.game.render.GlRenderer.java
License:Open Source License
public void uploadImage(Image image) { GlState.checkError("before upload image"); image.has_alpha = true;/* ww w . j av a2 s .com*/ image.complete = true; Images.GL_Bind(image.texnum); if (image.type == com.googlecode.gdxquake2.game.common.QuakeImage.it_pic) { GlState.gl.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_S, GL11.GL_CLAMP_TO_EDGE); GlState.gl.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_T, GL11.GL_CLAMP_TO_EDGE); GlState.gl.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_LINEAR); GlState.gl.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_NEAREST); texImage2D(image.pixmap, GL20.GL_TEXTURE_2D, 0, GL20.GL_RGBA, GL20.GL_RGBA, GL20.GL_UNSIGNED_BYTE); image.upload_width = image.width; image.upload_height = image.height; } else if (image.type == com.googlecode.gdxquake2.game.common.QuakeImage.it_sky) { GlState.gl.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_S, GL11.GL_CLAMP_TO_EDGE); GlState.gl.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_T, GL11.GL_CLAMP_TO_EDGE); GlState.gl.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_LINEAR); GlState.gl.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_NEAREST); if (Images.skyTarget == null) Images.skyTarget = image; Images.GL_Bind(Images.skyTarget.texnum); if (Images.skyTarget.upload_width != 6 * image.width) { texImage2D(new Pixmap(6 * image.width, image.height, Pixmap.Format.RGBA8888), GL20.GL_TEXTURE_2D, 0, GL20.GL_RGBA, GL20.GL_RGBA, GL20.GL_UNSIGNED_BYTE); Images.skyTarget.upload_width = 6 * image.width; } Images.skyTarget.upload_height = image.height; texSubImage2D(image.pixmap, GL20.GL_TEXTURE_2D, 0, image.width * image.skyIndex, 0, GL20.GL_RGBA, GL20.GL_UNSIGNED_BYTE); } else { GlState.gl.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_S, GL11.GL_REPEAT); GlState.gl.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_T, GL11.GL_REPEAT); GlState.gl.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_LINEAR_MIPMAP_LINEAR); GlState.gl.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_LINEAR); int p2size = 1 << ((int) Math.ceil(Math.log(Math.max(image.width, image.height)) / Math.log(2))); image.upload_width = p2size; image.upload_height = p2size; int level = 0; do { Pixmap canvas = getTmpImage(p2size, p2size); canvas.setColor(0x88888888); canvas.fill(); try { canvas.drawPixmap(image.pixmap, 0, 0, image.pixmap.getWidth(), image.pixmap.getHeight(), 0, 0, p2size, p2size); } catch (Exception e) { GdxQuake2.tools.log("Error rendering image " + image.name + "; size: " + p2size + " MSG: " + e); break; } texImage2D(canvas, GL20.GL_TEXTURE_2D, level++, GL20.GL_RGBA, GL20.GL_RGBA, GL20.GL_UNSIGNED_BYTE); p2size /= 2; } while (p2size > 0); } GLDebug.checkError(GlState.gl, "uploadImage"); }
From source file:com.iLoong.launcher.Widget3D.FrameBuffer.java
License:Open Source License
private void build() { if (!Gdx.graphics.isGL20Available()) throw new GdxRuntimeException("GL2 is required."); colorTexture = new Texture(width, height, format); colorTexture.setFilter(TextureFilter.Linear, TextureFilter.Linear); colorTexture.setWrap(TextureWrap.ClampToEdge, TextureWrap.ClampToEdge); GL20 gl = Gdx.graphics.getGL20();/*from ww w .j a v a 2s . co m*/ IntBuffer handle = BufferUtils.newIntBuffer(1); gl.glGenFramebuffers(1, handle); framebufferHandle = handle.get(0); if (hasDepth) { gl.glGenRenderbuffers(1, handle); depthbufferHandle = handle.get(0); } gl.glBindTexture(GL20.GL_TEXTURE_2D, colorTexture.getTextureObjectHandle()); if (hasDepth) { gl.glBindRenderbuffer(GL20.GL_RENDERBUFFER, depthbufferHandle); gl.glRenderbufferStorage(GL20.GL_RENDERBUFFER, GL20.GL_DEPTH_COMPONENT16, colorTexture.getWidth(), colorTexture.getHeight()); } gl.glBindFramebuffer(GL20.GL_FRAMEBUFFER, framebufferHandle); gl.glFramebufferTexture2D(GL20.GL_FRAMEBUFFER, GL20.GL_COLOR_ATTACHMENT0, GL20.GL_TEXTURE_2D, colorTexture.getTextureObjectHandle(), 0); if (hasDepth) { gl.glFramebufferRenderbuffer(GL20.GL_FRAMEBUFFER, GL20.GL_DEPTH_ATTACHMENT, GL20.GL_RENDERBUFFER, depthbufferHandle); } int result = gl.glCheckFramebufferStatus(GL20.GL_FRAMEBUFFER); gl.glBindRenderbuffer(GL20.GL_RENDERBUFFER, 0); gl.glBindTexture(GL20.GL_TEXTURE_2D, 0); gl.glBindFramebuffer(GL20.GL_FRAMEBUFFER, 0); if (result != GL20.GL_FRAMEBUFFER_COMPLETE) { colorTexture.dispose(); if (hasDepth) { handle.put(depthbufferHandle); handle.flip(); gl.glDeleteRenderbuffers(1, handle); } colorTexture.dispose(); handle.put(framebufferHandle); handle.flip(); gl.glDeleteFramebuffers(1, handle); if (result == GL20.GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT) throw new IllegalStateException("frame buffer couldn't be constructed: incomplete attachment"); if (result == GL20.GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS) throw new IllegalStateException("frame buffer couldn't be constructed: incomplete dimensions"); if (result == GL20.GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT) throw new IllegalStateException("frame buffer couldn't be constructed: missing attachment"); } }
From source file:com.jlabarca.kflame.MeshShader.java
License:Apache License
@Override public void render() { angle += Gdx.graphics.getDeltaTime() * 45; matrix.setToRotation(axis, angle);//ww w . j av a2 s. c o m Gdx.gl20.glViewport(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); Gdx.gl20.glClearColor(0.2f, 0.2f, 0.2f, 1); Gdx.gl20.glClear(GL20.GL_COLOR_BUFFER_BIT); Gdx.gl20.glEnable(GL20.GL_TEXTURE_2D); Gdx.gl20.glEnable(GL20.GL_BLEND); Gdx.gl20.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA); texture.bind(); shader.begin(); shader.setUniformMatrix("u_worldView", matrix); shader.setUniformi("u_texture", 0); mesh.render(shader, GL20.GL_TRIANGLES); shader.end(); }
From source file:com.toet.TinyVoxel.android.AndroidConfig.java
@Override public void uploadPalette(int width, int height) { paletteBuffer.rewind();/*from w ww. ja va 2 s . co m*/ Gdx.graphics.getGL20().glPixelStorei(GL20.GL_UNPACK_ALIGNMENT, 1); Gdx.graphics.getGL20().glTexImage2D(GL20.GL_TEXTURE_2D, 0, GL20.GL_RGBA, width, height, 0, GL20.GL_RGBA, GL20.GL_UNSIGNED_BYTE, paletteBuffer); }
From source file:com.toet.TinyVoxel.android.AndroidConfig.java
@Override public void uploadSinglePalette(int paletteId) { tinyPaletteBuffer.rewind();/*from w ww. j av a 2s .c om*/ Gdx.graphics.getGL20().glPixelStorei(GL20.GL_UNPACK_ALIGNMENT, 1); Gdx.graphics.getGL20().glTexSubImage2D(GL20.GL_TEXTURE_2D, 0, 0, paletteId, Config.TINY_GRID_TOTAL, 1, GL20.GL_RGBA, GL20.GL_UNSIGNED_BYTE, tinyPaletteBuffer); }
From source file:com.watabou.glwrap.NoosaTexture.java
License:Open Source License
public void pixels(int w, int h, int[] pixels) { // FIXME/*from w w w . j av a 2 s . c o m*/ bind(); IntBuffer imageBuffer = ByteBuffer.allocateDirect(w * h * 4).order(ByteOrder.nativeOrder()).asIntBuffer(); imageBuffer.put(pixels); imageBuffer.position(0); Gdx.gl.glTexImage2D(GL20.GL_TEXTURE_2D, 0, GL20.GL_RGBA, w, h, 0, GL20.GL_RGBA, GL20.GL_UNSIGNED_BYTE, imageBuffer); }
From source file:com.watabou.glwrap.NoosaTexture.java
License:Open Source License
public void pixels(int w, int h, byte[] pixels) { bind();// ww w . j a v a2 s.co m ByteBuffer imageBuffer = ByteBuffer.allocateDirect(w * h).order(ByteOrder.nativeOrder()); imageBuffer.put(pixels); imageBuffer.position(0); Gdx.gl.glPixelStorei(GL20.GL_UNPACK_ALIGNMENT, 1); Gdx.gl.glTexImage2D(GL20.GL_TEXTURE_2D, 0, GL20.GL_ALPHA, w, h, 0, GL20.GL_ALPHA, GL20.GL_UNSIGNED_BYTE, imageBuffer); }
From source file:MeshBoneUtil.CreatureRenderer.java
License:Open Source License
public void Flush() { UpdateData();/*from w ww . ja v a 2 s .c o m*/ creature_texture.bind(); //no need for depth... Gdx.gl.glDepthMask(false); //enable blending, for alpha Gdx.gl.glEnable(GL20.GL_TEXTURE_2D); Gdx.gl.glEnable(GL20.GL_BLEND); Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA); shader_program.begin(); shader_program.setUniformMatrix("u_projView", camera.combined); shader_program.setUniformMatrix("u_xform", xform); shader_program.setUniformi("u_texture", 0); render_mesh.render(shader_program, GL20.GL_TRIANGLES); shader_program.end(); //re-enable depth to reset states to their default Gdx.gl.glDepthMask(true); }
From source file:org.catrobat.catroid.common.DroneVideoLookData.java
License:Open Source License
@Override public void draw(Batch batch, float parentAlpha) { if (firstStart) { videoTexture = new GLBGVideoSprite(); onSurfaceChanged();//from w w w . j a va 2 s. co m firstStart = false; } if (videoSize[0] != videoTexture.imageWidth || videoSize[1] != videoTexture.imageHeight) { onSurfaceChanged(); } Gdx.gl20.glBindTexture(GL20.GL_TEXTURE_2D, textureRegion.getTexture().getTextureObjectHandle()); videoTexture.onUpdateVideoTexture(); }