List of usage examples for org.lwjgl.opengl ARBMultitexture glActiveTextureARB
public static native void glActiveTextureARB(@NativeType("GLenum") int texture);
From source file:com.a2client.corex.Render.java
License:Open Source License
static public void ResetBind() { ResManager.Active.clear();/* w ww.jav a 2s. co m*/ if (!multi_texture) { GL11.glBindTexture(GL11.GL_TEXTURE_2D, 0); // GL11.glBindTexture(, 0); // cube map } else { for (int i = 0; i < 16; i++) { ARBMultitexture.glActiveTextureARB(ARBMultitexture.GL_TEXTURE0_ARB + i); GL11.glBindTexture(GL11.GL_TEXTURE_2D, 0); // GL11.glBindTexture(, 0); // cube map } ARBMultitexture.glActiveTextureARB(ARBMultitexture.GL_TEXTURE0_ARB); } ARBShaderObjects.glUseProgramObjectARB(0); ARBVertexBufferObject.glBindBufferARB(ARBVertexBufferObject.GL_ELEMENT_ARRAY_BUFFER_ARB, 0); ARBVertexBufferObject.glBindBufferARB(ARBVertexBufferObject.GL_ARRAY_BUFFER_ARB, 0); // slick unbind textures // TextureImpl.unbind(); }
From source file:com.ardor3d.scene.state.lwjgl.LwjglTextureStateUtil.java
License:Open Source License
public static void checkAndSetUnit(final int unit, final TextureStateRecord record, final ContextCapabilities caps) { // No need to worry about valid record, since invalidate sets record's // currentUnit to -1. if (record.currentUnit != unit) { if (unit >= caps.getNumberOfTotalTextureUnits() || !caps.isMultitextureSupported() || unit < 0) { // ignore this request as it is not valid for the user's hardware. return; }/* w ww . java 2 s. com*/ ARBMultitexture.glActiveTextureARB(ARBMultitexture.GL_TEXTURE0_ARB + unit); record.currentUnit = unit; } }
From source file:espresso3d.engine.renderer.E3DGeometryRenderer.java
License:Open Source License
public void initTexturedRendering() { // GL11.glDepthMask(true); // GL11.glEnable(GL11.GL_DEPTH_TEST); // Enables Depth Testing // GL11.glDepthFunc(GL11.GL_LEQUAL); // The Type Of Depth Testing To Do GL11.glDepthMask(true);/*from w ww. ja va 2s .c o m*/ GL11.glEnable(GL11.GL_DEPTH_TEST); // Enables Depth Testing GL11.glDepthFunc(GL11.GL_LEQUAL); // The Type Of Depth Testing To Do GL11.glDisable(GL11.GL_BLEND); ARBMultitexture.glActiveTextureARB(ARBMultitexture.GL_TEXTURE0_ARB); GL11.glEnable(GL11.GL_TEXTURE_2D); GL11.glEnableClientState(GL11.GL_VERTEX_ARRAY); GL11.glEnableClientState(GL11.GL_COLOR_ARRAY); GL11.glEnableClientState(GL11.GL_TEXTURE_COORD_ARRAY); }
From source file:espresso3d.engine.renderer.E3DGeometryRenderer.java
License:Open Source License
public void initTextureUnit(int unitNum, int glTextureID) { if (unitNum == 0) ARBMultitexture.glActiveTextureARB(ARBMultitexture.GL_TEXTURE0_ARB); else if (unitNum == 1) ARBMultitexture.glActiveTextureARB(ARBMultitexture.GL_TEXTURE1_ARB); else if (unitNum == 2) ARBMultitexture.glActiveTextureARB(ARBMultitexture.GL_TEXTURE2_ARB); GL11.glEnable(GL11.GL_TEXTURE_2D);//www.j av a2 s. co m GL11.glBindTexture(GL11.GL_TEXTURE_2D, glTextureID); // GL11.glEnableClientState(GL11.GL_VERTEX_ARRAY); // GL11.glEnableClientState(GL11.GL_COLOR_ARRAY); // GL11.glEnableClientState(GL11.GL_TEXTURE_COORD_ARRAY); // ARBMultitexture.glActiveTextureARB(ARBMultitexture.GL_TEXTURE0_ARB); // GL11.glEnable(GL11.GL_TEXTURE_2D); }
From source file:espresso3d.engine.renderer.E3DGeometryRenderer.java
License:Open Source License
/*********************************/ public void setupTextureUnits(int glTextureID, int detail0TextureID, int detail1TextureID) { ARBMultitexture.glActiveTextureARB(ARBMultitexture.GL_TEXTURE0_ARB); if (glTextureID != -1) { GL11.glEnable(GL11.GL_TEXTURE_2D); GL11.glBindTexture(GL11.GL_TEXTURE_2D, glTextureID); /* if(detail0TextureID != -1) {//from w ww.ja v a 2 s.co m GL11.glTexEnvf (GL11.GL_TEXTURE_ENV, GL11.GL_TEXTURE_ENV_MODE, ARBTextureEnvCombine.GL_COMBINE_ARB); GL11.glTexEnvf (GL11.GL_TEXTURE_ENV, ARBTextureEnvCombine.GL_COMBINE_RGB_ARB, GL11.GL_REPLACE); } else {*/ GL11.glTexEnvf(GL11.GL_TEXTURE_ENV, GL11.GL_TEXTURE_ENV_MODE, GL11.GL_MODULATE); // } } else GL11.glDisable(GL11.GL_TEXTURE_2D); if (getEngine().getFeatureChecker().getArbMultitextureNumTexUnitsSupported() < 2) return; ARBMultitexture.glActiveTextureARB(ARBMultitexture.GL_TEXTURE1_ARB); if (detail0TextureID != -1) { GL11.glEnable(GL11.GL_TEXTURE_2D); GL11.glBindTexture(GL11.GL_TEXTURE_2D, detail0TextureID); GL11.glTexEnvf(GL11.GL_TEXTURE_ENV, GL11.GL_TEXTURE_ENV_MODE, ARBTextureEnvCombine.GL_COMBINE_ARB); GL11.glTexEnvf(GL11.GL_TEXTURE_ENV, ARBTextureEnvCombine.GL_COMBINE_RGB_ARB, GL11.GL_ADD); } else GL11.glDisable(GL11.GL_TEXTURE_2D); if (getEngine().getFeatureChecker().getArbMultitextureNumTexUnitsSupported() < 3) return; ARBMultitexture.glActiveTextureARB(ARBMultitexture.GL_TEXTURE2_ARB); if (detail1TextureID != -1) { GL11.glEnable(GL11.GL_TEXTURE_2D); GL11.glBindTexture(GL11.GL_TEXTURE_2D, detail1TextureID); GL11.glTexEnvf(GL11.GL_TEXTURE_ENV, GL11.GL_TEXTURE_ENV_MODE, ARBTextureEnvCombine.GL_COMBINE_ARB); GL11.glTexEnvf(GL11.GL_TEXTURE_ENV, ARBTextureEnvCombine.GL_COMBINE_RGB_ARB, GL11.GL_ADD); } else GL11.glDisable(GL11.GL_TEXTURE_2D); }
From source file:espresso3d.engine.renderer.E3DGeometryRenderer.java
License:Open Source License
public void disableAllTextureUnits() { ARBMultitexture.glActiveTextureARB(ARBMultitexture.GL_TEXTURE0_ARB); GL11.glDisable(GL11.GL_TEXTURE_2D);/*from ww w . j ava 2 s .c o m*/ // GL11.glDisableClientState(GL11.GL_VERTEX_ARRAY); // GL11.glDisableClientState(GL11.GL_COLOR_ARRAY); // GL11.glDisableClientState(GL11.GL_TEXTURE_COORD_ARRAY); if (getEngine().getFeatureChecker().getArbMultitextureNumTexUnitsSupported() < 2) return; ARBMultitexture.glActiveTextureARB(ARBMultitexture.GL_TEXTURE1_ARB); GL11.glDisable(GL11.GL_TEXTURE_2D); // GL11.glDisableClientState(GL11.GL_VERTEX_ARRAY); // GL11.glDisableClientState(GL11.GL_COLOR_ARRAY); // GL11.glDisableClientState(GL11.GL_TEXTURE_COORD_ARRAY); if (getEngine().getFeatureChecker().getArbMultitextureNumTexUnitsSupported() < 3) return; ARBMultitexture.glActiveTextureARB(ARBMultitexture.GL_TEXTURE2_ARB); GL11.glDisable(GL11.GL_TEXTURE_2D); // GL11.glDisableClientState(GL11.GL_VERTEX_ARRAY); // GL11.glDisableClientState(GL11.GL_COLOR_ARRAY); // GL11.glDisableClientState(GL11.GL_TEXTURE_COORD_ARRAY); }
From source file:espresso3d.engine.renderer.E3DGeometryRenderer.java
License:Open Source License
private void renderTexturedTriangle(E3DTriangle triangle) { int detail0TextureID = -1; int detail1TextureID = -1; if (triangle.isTextureDetail0Available()) detail0TextureID = triangle.getTextureDetail0().getGlTextureID(); if (triangle.isTextureDetail1Available()) detail1TextureID = triangle.getTextureDetail1().getGlTextureID(); //Draw vertices ARBMultitexture.glActiveTextureARB(ARBMultitexture.GL_TEXTURE0_ARB); boolean twoSupported = getEngine().getFeatureChecker().getArbMultitextureNumTexUnitsSupported() >= 2; boolean threeSupported = getEngine().getFeatureChecker().getArbMultitextureNumTexUnitsSupported() >= 3; GL11.glBegin(GL11.GL_TRIANGLES); // Begin Drawing Triangles ARBMultitexture.glMultiTexCoord2fARB(ARBMultitexture.GL_TEXTURE0_ARB, (float) triangle.getTextureCoordA().getX(), (float) triangle.getTextureCoordA().getY()); if (twoSupported && detail0TextureID != -1) ARBMultitexture.glMultiTexCoord2fARB(ARBMultitexture.GL_TEXTURE1_ARB, (float) triangle.getTextureCoordDetail0A().getX(), (float) triangle.getTextureCoordDetail0A().getY()); if (threeSupported && detail1TextureID != -1) ARBMultitexture.glMultiTexCoord2fARB(ARBMultitexture.GL_TEXTURE2_ARB, (float) triangle.getTextureCoordDetail1A().getX(), (float) triangle.getTextureCoordDetail1A().getY()); GL11.glColor4f((float) triangle.getVertexColorA().getA(), (float) triangle.getVertexColorA().getB(), (float) triangle.getVertexColorA().getC(), (float) triangle.getVertexColorA().getD()); GL11.glVertex3f((float) (triangle.getVertexPosA().getX()), (float) (triangle.getVertexPosA().getY()), (float) (triangle.getVertexPosA().getZ())); ARBMultitexture.glMultiTexCoord2fARB(ARBMultitexture.GL_TEXTURE0_ARB, (float) triangle.getTextureCoordB().getX(), (float) triangle.getTextureCoordB().getY()); if (twoSupported && detail0TextureID != -1) ARBMultitexture.glMultiTexCoord2fARB(ARBMultitexture.GL_TEXTURE1_ARB, (float) triangle.getTextureCoordDetail0B().getX(), (float) triangle.getTextureCoordDetail0B().getY()); if (threeSupported && detail1TextureID != -1) ARBMultitexture.glMultiTexCoord2fARB(ARBMultitexture.GL_TEXTURE2_ARB, (float) triangle.getTextureCoordDetail1B().getX(), (float) triangle.getTextureCoordDetail1B().getY()); GL11.glColor4f((float) triangle.getVertexColorB().getA(), (float) triangle.getVertexColorB().getB(), (float) triangle.getVertexColorB().getC(), (float) triangle.getVertexColorB().getD()); GL11.glVertex3f((float) (triangle.getVertexPosB().getX()), (float) (triangle.getVertexPosB().getY()), (float) (triangle.getVertexPosB().getZ())); ARBMultitexture.glMultiTexCoord2fARB(ARBMultitexture.GL_TEXTURE0_ARB, (float) triangle.getTextureCoordC().getX(), (float) triangle.getTextureCoordC().getY()); if (twoSupported && detail0TextureID != -1) ARBMultitexture.glMultiTexCoord2fARB(ARBMultitexture.GL_TEXTURE1_ARB, (float) triangle.getTextureCoordDetail0C().getX(), (float) triangle.getTextureCoordDetail0C().getY()); if (threeSupported && detail1TextureID != -1) ARBMultitexture.glMultiTexCoord2fARB(ARBMultitexture.GL_TEXTURE2_ARB, (float) triangle.getTextureCoordDetail1C().getX(), (float) triangle.getTextureCoordDetail1C().getY()); GL11.glColor4f((float) triangle.getVertexColorC().getA(), (float) triangle.getVertexColorC().getB(), (float) triangle.getVertexColorC().getC(), (float) triangle.getVertexColorC().getD()); GL11.glVertex3f((float) (triangle.getVertexPosC().getX()), (float) (triangle.getVertexPosC().getY()), (float) (triangle.getVertexPosC().getZ())); GL11.glEnd();//from w w w. ja v a 2 s.c o m }
From source file:espresso3d.engine.renderer.E3DGeometryRenderer.java
License:Open Source License
/** * Render a quad normally (solid or textured) * @param quad//from w w w. j a v a 2s . c om */ private void renderTexturedQuad(E3DQuad quad) { int detail0TextureID = -1; int detail1TextureID = -1; if (quad.isTextureDetail0Available()) detail0TextureID = quad.getTextureDetail0().getGlTextureID(); if (quad.isTextureDetail1Available()) detail1TextureID = quad.getTextureDetail1().getGlTextureID(); //Draw vertices ARBMultitexture.glActiveTextureARB(ARBMultitexture.GL_TEXTURE0_ARB); boolean twoSupported = getEngine().getFeatureChecker().getArbMultitextureNumTexUnitsSupported() >= 2; boolean threeSupported = getEngine().getFeatureChecker().getArbMultitextureNumTexUnitsSupported() >= 3; GL11.glBegin(GL11.GL_QUADS); // Begin Drawing Triangles ARBMultitexture.glMultiTexCoord2fARB(ARBMultitexture.GL_TEXTURE0_ARB, (float) quad.getTextureCoordA().getX(), (float) quad.getTextureCoordA().getY()); if (twoSupported && detail0TextureID != -1) ARBMultitexture.glMultiTexCoord2fARB(ARBMultitexture.GL_TEXTURE1_ARB, (float) quad.getTextureCoordDetail0A().getX(), (float) quad.getTextureCoordDetail0A().getY()); if (threeSupported && detail1TextureID != -1) ARBMultitexture.glMultiTexCoord2fARB(ARBMultitexture.GL_TEXTURE2_ARB, (float) quad.getTextureCoordDetail1A().getX(), (float) quad.getTextureCoordDetail1A().getY()); GL11.glColor4f((float) quad.getVertexColorA().getA(), (float) quad.getVertexColorA().getB(), (float) quad.getVertexColorA().getC(), (float) quad.getVertexColorA().getD()); GL11.glVertex3f((float) (quad.getVertexPosA().getX()), (float) (quad.getVertexPosA().getY()), (float) (quad.getVertexPosA().getZ())); ARBMultitexture.glMultiTexCoord2fARB(ARBMultitexture.GL_TEXTURE0_ARB, (float) quad.getTextureCoordB().getX(), (float) quad.getTextureCoordB().getY()); if (twoSupported && detail0TextureID != -1) ARBMultitexture.glMultiTexCoord2fARB(ARBMultitexture.GL_TEXTURE1_ARB, (float) quad.getTextureCoordDetail0B().getX(), (float) quad.getTextureCoordDetail0B().getY()); if (threeSupported && detail1TextureID != -1) ARBMultitexture.glMultiTexCoord2fARB(ARBMultitexture.GL_TEXTURE2_ARB, (float) quad.getTextureCoordDetail1B().getX(), (float) quad.getTextureCoordDetail1B().getY()); GL11.glColor4f((float) quad.getVertexColorB().getA(), (float) quad.getVertexColorB().getB(), (float) quad.getVertexColorB().getC(), (float) quad.getVertexColorB().getD()); GL11.glVertex3f((float) (quad.getVertexPosB().getX()), (float) (quad.getVertexPosB().getY()), (float) (quad.getVertexPosB().getZ())); ARBMultitexture.glMultiTexCoord2fARB(ARBMultitexture.GL_TEXTURE0_ARB, (float) quad.getTextureCoordC().getX(), (float) quad.getTextureCoordC().getY()); if (twoSupported && detail0TextureID != -1) ARBMultitexture.glMultiTexCoord2fARB(ARBMultitexture.GL_TEXTURE1_ARB, (float) quad.getTextureCoordDetail0C().getX(), (float) quad.getTextureCoordDetail0C().getY()); if (threeSupported && detail1TextureID != -1) ARBMultitexture.glMultiTexCoord2fARB(ARBMultitexture.GL_TEXTURE2_ARB, (float) quad.getTextureCoordDetail1C().getX(), (float) quad.getTextureCoordDetail1C().getY()); GL11.glColor4f((float) quad.getVertexColorC().getA(), (float) quad.getVertexColorC().getB(), (float) quad.getVertexColorC().getC(), (float) quad.getVertexColorC().getD()); GL11.glVertex3f((float) (quad.getVertexPosC().getX()), (float) (quad.getVertexPosC().getY()), (float) (quad.getVertexPosC().getZ())); ARBMultitexture.glMultiTexCoord2fARB(ARBMultitexture.GL_TEXTURE0_ARB, (float) quad.getTextureCoordD().getX(), (float) quad.getTextureCoordD().getY()); if (twoSupported && detail0TextureID != -1) ARBMultitexture.glMultiTexCoord2fARB(ARBMultitexture.GL_TEXTURE1_ARB, (float) quad.getTextureCoordDetail0D().getX(), (float) quad.getTextureCoordDetail0D().getY()); if (threeSupported && detail1TextureID != -1) ARBMultitexture.glMultiTexCoord2fARB(ARBMultitexture.GL_TEXTURE2_ARB, (float) quad.getTextureCoordDetail1D().getX(), (float) quad.getTextureCoordDetail1D().getY()); GL11.glColor4f((float) quad.getVertexColorD().getA(), (float) quad.getVertexColorD().getB(), (float) quad.getVertexColorD().getC(), (float) quad.getVertexColorD().getD()); GL11.glVertex3f((float) (quad.getVertexPosD().getX()), (float) (quad.getVertexPosD().getY()), (float) (quad.getVertexPosD().getZ())); GL11.glEnd(); }
From source file:kuake2.render.lwjgl.Image.java
License:Open Source License
void GL_SelectTexture(int texture /* GLenum */) { int tmu;/* w w w. j av a 2s . c o m*/ tmu = (texture == GL_TEXTURE0) ? 0 : 1; if (tmu == gl_state.currenttmu) { return; } gl_state.currenttmu = tmu; ARBMultitexture.glActiveTextureARB(texture); ARBMultitexture.glClientActiveTextureARB(texture); }