List of usage examples for org.lwjgl.opengl GL13 GL_TEXTURE0
int GL_TEXTURE0
To view the source code for org.lwjgl.opengl GL13 GL_TEXTURE0.
Click Source Link
From source file:eu.over9000.veya.rendering.Scene.java
License:Open Source License
public void render() { this.checkCameraPosition(); ChunkChunkVAOPair addEntry;//from w w w . j a v a2 s . c om while ((addEntry = this.toAdd.poll()) != null) { addEntry.getChunkVAO().create(); this.displayedChunks.put(addEntry.getChunk(), addEntry.getChunkVAO()); } ChunkChunkVAOPair removeEntry; while ((removeEntry = this.toRemove.poll()) != null) { this.displayedChunks.remove(removeEntry.getChunk()); removeEntry.getChunkVAO().dispose(); } ChunkChunkVAOPair updatedEntry; while ((updatedEntry = this.updatedUpdateOffRender.poll()) != null) { updatedEntry.getChunkVAO().create(); final ChunkVAO oldVAO = this.displayedChunks.put(updatedEntry.getChunk(), updatedEntry.getChunkVAO()); if (oldVAO != null) { oldVAO.dispose(); } } int updates = 0; for (final Chunk chunk : displayedChunks.keySet()) { if (world.hasChunkChanged(chunk)) { if (chunk.getLocation().nextTo(centerChunk)) { final ChunkVAO newVAO = new ChunkVAO(chunk); final ChunkVAO oldVAO = this.displayedChunks.put(chunk, newVAO); oldVAO.dispose(); newVAO.create(); chunkUpdateCounterInRender.incrementAndGet(); updates++; if (updates > MAX_CHUNK_UPDATES_PER_FRAME) { break; } } else { toUpdateOffRender.add(chunk); } } } shadow.preRender(); Util.checkGLError(); internalRender(false); Util.checkGLError(); shadow.postRender(); Util.checkGLError(); GL13.glActiveTexture(GL13.GL_TEXTURE0); GL11.glBindTexture(GL30.GL_TEXTURE_2D_ARRAY, this.texture_handle); internalRender(true); if (Veya.debugShadow) { Veya.program_debug.use(true); GL20.glUniform1f(Veya.program_debug.getUniformLocation("near_plane"), Shadow.SHADOW_NEAR); GL20.glUniform1f(Veya.program_debug.getUniformLocation("far_plane"), Shadow.SHADOW_FAR); GL13.glActiveTexture(GL13.GL_TEXTURE0); GL11.glBindTexture(GL11.GL_TEXTURE_2D, shadow.getDepthMap()); shadow.renderQuad(); } Veya.program_normal.use(true); }
From source file:flash.display.ShaderInput.java
License:Open Source License
public void JITB$applyInput(final int programId) { if (null != input() && InputType.NONE.equals(_inputType)) { return;// w ww . ja v a 2s . c o m } final int textureLocation = ARBShaderObjects.glGetUniformLocationARB(programId, "tex" + index()); ARBShaderObjects.glUniform1iARB(textureLocation, index()); switch (_inputType) { case BITMAPDATA: GL13.glActiveTexture(GL13.GL_TEXTURE0 + index()); glBindTexture(TextureUtil.mode(), ((BitmapData) input()).JITB$textureId()); break; default: // // System.out.println("Warning: Unhandled input type "+_inputType+"."); // } }
From source file:flash.display.ShaderInput.java
License:Open Source License
public void JITB$unapplyInput() { GL13.glActiveTexture(GL13.GL_TEXTURE0 + index()); glBindTexture(TextureUtil.mode(), 0); }
From source file:fr.guillaume.prive.viper.core.graphic.GraphicMotor.java
public static void draw() { GraphicMotor.checkInstance();//from w w w . j a v a 2 s .com GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GL20.glUseProgram(instance.shipShaderId); GL20.glUniform1i(instance.useTextureLocation, instance.drawPolygonFrame ? 0 : 1); int drawStyle = instance.drawPolygonFrame ? GL11.GL_LINE_LOOP : GL11.GL_TRIANGLES; GL13.glActiveTexture(GL13.GL_TEXTURE0); GL11.glBindTexture(GL11.GL_TEXTURE_2D, instance.shipTextureId); GL30.glBindVertexArray(instance.shipVaoId); GL20.glEnableVertexAttribArray(0); GL20.glEnableVertexAttribArray(1); GL20.glEnableVertexAttribArray(2); GL20.glEnableVertexAttribArray(3); GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, instance.shipVboiId); GL11.glDrawElements(drawStyle, instance.shipVboiLenght, GL11.GL_UNSIGNED_INT, 0); GL20.glDisableVertexAttribArray(0); GL20.glDisableVertexAttribArray(1); GL20.glDisableVertexAttribArray(2); GL20.glDisableVertexAttribArray(3); GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, 0); GL30.glBindVertexArray(0); GL20.glUseProgram(0); }
From source file:fr.guillaume.prive.viper.core.graphic.GraphicMotor.java
private static void setupTextures() { instance.shipTextureId = PNGTextureLoader.loadTexture("resources/model/fighter.png", GL13.GL_TEXTURE0); }
From source file:fr.ign.cogit.geoxygene.appli.gl.setters.GLProgramUniformSetter.java
License:Open Source License
public boolean set(NamedRenderingParametersMap cParams, GLProgram program) throws GLException { logger.debug("Apply preSet actions"); boolean succ = true; if (!this.userSetters.isEmpty()) { succ &= this.preSetActions(cParams, program); }/*w w w .ja v a2 s . c om*/ if (!succ) return false; int texcount = 0; Collection<GLUniform> uniforms = program.getUniforms(); for (GLUniform uniform : uniforms) { Object uniform_value = cParams.containsParameterWithName(uniform.getName()) ? cParams.getByName(uniform.getName()) : cParams.getByUniformRef(uniform.getName()); //If the uniform is a texture, we have to retrieve it from the TextureManager if (uniform.getGlType() == GL20.GL_SAMPLER_2D || uniform.getGlType() == GL20.GL_SAMPLER_1D) { if (uniform_value != null && uniform_value instanceof URI) { GLTexture btex = TextureManager.retrieveTexture((URI) uniform_value); if (btex == null) { logger.debug("Setting the texture uniform " + uniform.getName() + " failed because no texture was found: maybe the texture is not yet ready?"); } else { btex.setTextureSlot(uniform.getName(), GL13.GL_TEXTURE0 + texcount); if (!btex.initializeRendering(program.getProgramId())) { logger.error("An error occured while initilializing the texture " + uniform); GL11.glDeleteTextures(GL13.GL_TEXTURE0 + texcount); succ = false; } program.setUniform(uniform.getName(), texcount); texcount++; } } else { logger.error("Setting the texture uniform " + uniform.getName() + " failed : there is no parameter with such name or its value is null."); } } else { if (uniform_value != null) { program.setUniform(uniform.getName(), uniform_value); GLTools.glCheckError("When setting uniform " + uniform.getName() + " : " + uniform_value); } else { logger.debug("Uniform " + uniform.getName() + " has no value set "); } } } if (!this.userSetters.isEmpty()) { succ &= this.postSetActions(cParams, program); } return succ; }
From source file:fr.ign.cogit.geoxygene.appli.render.DisplayableTextRenderer.java
License:Open Source License
private void drawText() throws GLException { if (this.program == null || this.textImage == null) { Logger.getRootLogger().debug("The GeoxGLTextRenderer " + this.hashCode() + "is not ready yet"); return;/* w w w. j a va 2 s.co m*/ } this.textImage.getRGB(0, 0, width, height, this.pixels, 0, width); this.buffer.rewind(); for (int y = height - 1; y >= 0; y--) { for (int x = 0; x < width; x++) { int pixel = this.pixels[y * width + x]; this.buffer.put((byte) (pixel >> 16 & 0xFF)); // Red component this.buffer.put((byte) (pixel >> 8 & 0xFF)); // Green component this.buffer.put((byte) (pixel >> 0 & 0xFF)); // Blue component this.buffer.put((byte) (pixel >> 24 & 0xFF)); // Alpha component } } this.buffer.rewind(); glEnable(GL_TEXTURE_2D); GL13.glActiveTexture(GL13.GL_TEXTURE0 + 2); glBindTexture(GL_TEXTURE_2D, this.getTextTextureId()); // Setup texture scaling filtering GL11.glTexParameteri(GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_LINEAR); GL11.glTexParameteri(GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_LINEAR); GL11.glTexImage2D(GL_TEXTURE_2D, 0, GL11.GL_RGBA8, width, height, 0, GL11.GL_RGBA, GL11.GL_UNSIGNED_BYTE, this.buffer); Integer fbow = (Integer) GLContext.getActiveGlContext() .getSharedUniform(GeoxygeneConstants.GL_VarName_FboWidth); Integer fboh = (Integer) GLContext.getActiveGlContext() .getSharedUniform(GeoxygeneConstants.GL_VarName_FboHeight); GL11.glViewport(0, 0, fbow, fboh); glDisable(GL11.GL_POLYGON_SMOOTH); GLContext.getActiveGlContext().setCurrentProgram(program); program.setUniform1i("colorTexture2", 2); GLTools.glCheckError("texture binding"); GL11.glDepthMask(false); glDisable(GL11.GL_DEPTH_TEST); GL30.glBindVertexArray(LayerViewGLPanel.getScreenQuad().getVaoId()); GLTools.glCheckError("before drawing textured quad VAO binding"); program.setUniform(GeoxygeneConstants.GL_VarName_ObjectOpacityVarName, 1f); program.setUniform(GeoxygeneConstants.GL_VarName_GlobalOpacityVarName, 1f); glEnable(GL_BLEND); GL11.glBlendFunc(GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GL11.glPolygonMode(GL11.GL_FRONT_AND_BACK, GL11.GL_FILL); GLTools.glCheckError("blending set for textured quad"); LwjglLayerRenderer.drawComplex(LayerViewGLPanel.getScreenQuad()); GLTools.glCheckError("Drawing textured quad"); GL30.glBindVertexArray(0); // unbind VAO GLTools.glCheckError("exiting Text rendering"); glBindTexture(GL_TEXTURE_2D, 0); // unbind texture }
From source file:fr.veridiangames.client.rendering.renderers.guis.Font3DRenderer.java
License:Open Source License
public void render(Gui3DShader shader, Camera camera, Color4f color, float dropShadow) { glDisable(GL_CULL_FACE);//from w w w. jav a2 s . c om glEnable(GL_TEXTURE_2D); GL13.glActiveTexture(GL13.GL_TEXTURE0); font.fontTexture.bind(shader); float dist = camera.getTransform().getPosition().copy().sub(transform.getPosition()).magnitude(); transform.setLocalRotation(camera.getTransform().getRotation()); transform.setLocalScale(new Vec3(10.0f / (float) font.fontTexture.getHeight() * 0.5f)); if (dropShadow > 0) { shader.setModelViewMatrix( transform.toMatrix().mul(Mat4.translate(-w / 2 + dropShadow, -h / 2 - dropShadow, 0.3f))); shader.setColor(new Color4f(0, 0, 0, 0.8f)); glEnableVertexAttribArray(0); glEnableVertexAttribArray(1); glBindBuffer(GL_ARRAY_BUFFER, vbo); glVertexAttribPointer(0, 3, GL_FLOAT, false, 5 * 4, 0); glVertexAttribPointer(1, 2, GL_FLOAT, false, 5 * 4, 12); glDrawArrays(GL_QUADS, 0, text.length() * 4); glEnableVertexAttribArray(1); glEnableVertexAttribArray(0); } shader.setModelViewMatrix(transform.toMatrix().mul(Mat4.translate(-w / 2, -h / 2, 0))); shader.setColor(color); glEnableVertexAttribArray(0); glEnableVertexAttribArray(1); glBindBuffer(GL_ARRAY_BUFFER, vbo); glVertexAttribPointer(0, 3, GL_FLOAT, false, 5 * 4, 0); glVertexAttribPointer(1, 2, GL_FLOAT, false, 5 * 4, 12); glDrawArrays(GL_QUADS, 0, text.length() * 4); glEnableVertexAttribArray(1); glEnableVertexAttribArray(0); Texture.unbind(shader); glDisable(GL_TEXTURE_2D); glEnable(GL_CULL_FACE); }
From source file:fr.veridiangames.client.rendering.renderers.guis.FontRenderer.java
License:Open Source License
public void render(GuiShader shader, Color4f color, float dropShadow) { GL13.glActiveTexture(GL13.GL_TEXTURE0); font.fontTexture.bind(shader);/*from www.j a v a2 s . c o m*/ if (dropShadow != 0) { shader.setModelViewMatrix(Mat4.translate(x + dropShadow, y + dropShadow, 0)); shader.setColor(0, 0, 0, 0.8f * color.getAlpha()); glEnableVertexAttribArray(0); glEnableVertexAttribArray(1); glBindBuffer(GL_ARRAY_BUFFER, vbo); glVertexAttribPointer(0, 3, GL_FLOAT, false, 5 * 4, 0); glVertexAttribPointer(1, 2, GL_FLOAT, false, 5 * 4, 12); glDrawArrays(GL_QUADS, 0, text.length() * 4); glEnableVertexAttribArray(1); glEnableVertexAttribArray(0); } shader.setModelViewMatrix(Mat4.translate(x, y, 0)); shader.setColor(color); glEnableVertexAttribArray(0); glEnableVertexAttribArray(1); glBindBuffer(GL_ARRAY_BUFFER, vbo); glVertexAttribPointer(0, 3, GL_FLOAT, false, 5 * 4, 0); glVertexAttribPointer(1, 2, GL_FLOAT, false, 5 * 4, 12); glDrawArrays(GL_QUADS, 0, text.length() * 4); glEnableVertexAttribArray(1); glEnableVertexAttribArray(0); Texture.unbind(shader); }
From source file:game.entity.lwjgl.EntityRenderer.java
private void prepareTexturedModel(TexturedModel model) { RawModel rawModel = model.getRawModel(); if (rawModel.doesContainInvertedNormals()) { GL11.glDisable(GL11.GL_CULL_FACE); }// ww w. jav a 2s .com GL30.glBindVertexArray(rawModel.getVaoID()); GL20.glEnableVertexAttribArray(VERTEX_POSITIONS); GL20.glEnableVertexAttribArray(TEXTURE_COORDS); GL20.glEnableVertexAttribArray(NORMAL_VECTORS); this.loadUniformFloat("shineDamper", model.getModelTexture().getShineDamper()); this.loadUniformFloat("reflectivity", model.getModelTexture().getReflectivity()); GL13.glActiveTexture(GL13.GL_TEXTURE0); GL11.glBindTexture(GL11.GL_TEXTURE_2D, model.getModelTexture().getTextureID()); }