Example usage for org.lwjgl.opengl ARBMultitexture glMultiTexCoord2fARB

List of usage examples for org.lwjgl.opengl ARBMultitexture glMultiTexCoord2fARB

Introduction

In this page you can find the example usage for org.lwjgl.opengl ARBMultitexture glMultiTexCoord2fARB.

Prototype

public static native void glMultiTexCoord2fARB(@NativeType("GLenum") int texture,
        @NativeType("GLfloat") float s, @NativeType("GLfloat") float t);

Source Link

Document

Sets the current two-dimensional texture coordinate for the specified texture coordinate set.

Usage

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();/*w w  w .j  a  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 ava 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();
}