Example usage for org.lwjgl.opengl GL20 glUseProgram

List of usage examples for org.lwjgl.opengl GL20 glUseProgram

Introduction

In this page you can find the example usage for org.lwjgl.opengl GL20 glUseProgram.

Prototype

public static void glUseProgram(@NativeType("GLuint") int program) 

Source Link

Document

Installs a program object as part of current rendering state.

Usage

From source file:cn.academy.support.nei.FusorRecipeHandler.java

License:GNU General Public License

@Override
public void drawExtras(int recipe) {
    if (tick >= 50)
        tick = 0;//  ww w.  j a va 2  s  .  co m
    GL11.glEnable(GL11.GL_BLEND);
    Resources.font().draw(String.valueOf(((IFCachedRecipe) arecipes.get(recipe)).liquid), 75, 11.5f,
            new FontOption(13, new Color(0xFF373737)));
    ShaderMono.instance().useProgram();
    GL11.glColor4f(55f / 151, 55f / 151, 55f / 151, 1);
    RenderUtils.loadTexture(new ResourceLocation("academy:textures/guis/progress/progress_fusor.png"));
    HudUtils.rect(62, 40.5f, 0, 0, 40d * (tick / 50d), 10, 126 * (tick / 50d), 30);
    GL20.glUseProgram(0);
}

From source file:cn.academy.support.nei.MetalFormerRecipeHandler.java

License:GNU General Public License

@Override
public void drawBackground(int recipe) {
    ShaderMono.instance().useProgram();//  w w w.  ja  va2s.c om
    RenderUtils.loadTexture(new ResourceLocation(getGuiTexture()));
    HudUtils.rect(35, 0, 0, 0, 94, 57, 94, 57);
    GL20.glUseProgram(0);
}

From source file:cn.academy.support.nei.MetalFormerRecipeHandler.java

License:GNU General Public License

@Override
public void drawExtras(int recipe) {
    if (tick >= 50)
        tick = 0;/*w ww  .  j  a  va  2 s. co m*/
    ShaderMono.instance().useProgram();
    GL11.glEnable(GL11.GL_BLEND);
    GL11.glColor4f(55f / 151, 55f / 151, 55f / 151, 1);
    RenderUtils.loadTexture(((MFCachedRecipe) arecipes.get(recipe)).mode.texture);
    HudUtils.rect(73, 23, 0, 0, 18, 18, 48, 48);
    RenderUtils.loadTexture(new ResourceLocation("academy:textures/guis/progress/progress_metalformer.png"));
    HudUtils.rect(57, 41, 0, 0, 50d * (tick / 50d), 13, 114d * (tick / 50d), 30);
    GL20.glUseProgram(0);
}

From source file:cn.academy.vanilla.electromaster.client.effect.RailgunHandEffect.java

License:GNU General Public License

@Override
public void renderHand(boolean firstPerson) {
    if (RenderUtils.isInShadowPass())
        return;/*  w  w  w  . j av  a 2  s  . com*/

    long dt = getDeltaTime();
    if (dt >= PER_FRAME * COUNT) {
        dispose();
        return;
    }

    int frame = (int) (dt / PER_FRAME);

    glEnable(GL_ALPHA_TEST);
    glAlphaFunc(GL_GREATER, 0.0f);
    glDisable(GL_CULL_FACE);
    glEnable(GL_BLEND);
    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
    ShaderSimple.instance().useProgram();
    glPushMatrix();
    if (firstPerson) {
        glTranslated(.26, -.12, -.24);
        glScalef(.4f, .4f, 1f);
    } else {
        EntityPlayer player = Minecraft.getMinecraft().thePlayer;
        glTranslated(0, 0.2, -1);
        glRotated(-player.rotationPitch, 1, 0, 0);
    }
    RenderUtils.loadTexture(textures[frame]);
    mesh.draw(ShaderSimple.instance());
    glPopMatrix();
    GL20.glUseProgram(0);
    glAlphaFunc(GL_GEQUAL, 0.1f);
    glEnable(GL_CULL_FACE);
}

From source file:cn.academy.vanilla.meltdowner.client.render.RenderMdShield.java

License:GNU General Public License

@Override
public void doRender(Entity _entity, double x, double y, double z, float a, float b) {
    if (RenderUtils.isInShadowPass()) {
        return;//from  w  ww . j av a 2s. com
    }

    long time = GameTimer.getTime();
    EntityMdShield entity = (EntityMdShield) _entity;

    // Calculate rotation
    long dt;
    if (entity.lastRender == 0)
        dt = 0;
    else
        dt = time - entity.lastRender;

    float rotationSpeed = MathUtils.lerpf(0.8f, 2f, Math.min(entity.ticksExisted / 30.0f, 1f));
    entity.rotation += rotationSpeed * dt;
    if (entity.rotation >= 360f)
        entity.rotation -= 360f;

    ShaderSimple.instance().useProgram();
    GL11.glDisable(GL11.GL_CULL_FACE);
    GL11.glAlphaFunc(GL11.GL_GREATER, 0.05f);
    GL11.glEnable(GL11.GL_BLEND);
    GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
    GL11.glPushMatrix();

    GL11.glTranslated(x, y, z);
    GL11.glRotatef(-entity.rotationYaw, 0, 1, 0);
    GL11.glRotatef(entity.rotationPitch, 1, 0, 0);
    GL11.glRotatef(entity.rotation, 0, 0, 1);

    float size = EntityMdShield.SIZE * MathUtils.lerpf(0.2f, 1f, Math.min(entity.ticksExisted / 15.0f, 1f));
    float alpha = Math.min(entity.ticksExisted / 6.0f, 1.0f);

    GL11.glScalef(size, size, 1);

    RenderUtils.loadTexture(texture);
    mesh.draw(ShaderSimple.instance());

    GL11.glPopMatrix();
    GL11.glEnable(GL11.GL_CULL_FACE);
    GL11.glAlphaFunc(GL11.GL_GEQUAL, 0.1f);
    GL20.glUseProgram(0);

    entity.lastRender = time;
}

From source file:cn.academy.vanilla.teleporter.client.MarkRender.java

License:GNU General Public License

@Override
public void doRender(Entity ent, double x, double y, double z, float var8, float var9) {
    if (RenderUtils.isInShadowPass())
        return;//from  w w w  . j  ava2 s.co  m

    EntityTPMarking mark = (EntityTPMarking) ent;
    if (!mark.firstUpdated())
        return;

    int texID = (int) ((mark.ticksExisted / 2.5) % tex.length);

    GL11.glEnable(GL11.GL_BLEND);
    GL11.glDisable(GL11.GL_LIGHTING);
    GL11.glDisable(GL11.GL_CULL_FACE);
    GL11.glDisable(GL11.GL_DEPTH_TEST);

    GL11.glPushMatrix();
    {
        GL11.glTranslated(x, y, z);

        GL11.glRotated(-mark.rotationYaw, 0, 1, 0);
        GL11.glScaled(-1, -1, 1);
        ShaderSimple.instance().useProgram();
        RenderUtils.loadTexture(tex[texID]);

        if (!mark.available) {
            GL11.glColor4d(1, 0.2, 0.2, 1);
        } else {
            GL11.glColor4d(1, 1, 1, 1);
        }

        model.draw();
        GL20.glUseProgram(0);
    }
    GL11.glPopMatrix();
    GL11.glEnable(GL11.GL_DEPTH_TEST);
    GL11.glEnable(GL11.GL_LIGHTING);
    GL11.glEnable(GL11.GL_CULL_FACE);
}

From source file:cn.academy.vanilla.teleporter.client.RenderMarker.java

License:GNU General Public License

@Override
public void doRender(Entity ent, double x, double y, double z, float a, float b) {
    EntityMarker marker = (EntityMarker) ent;
    if (!marker.firstUpdated())
        return;//w w w .j a v  a2s  . c  om

    Entity targ = marker.target;
    float width, height;
    if (targ != null) {
        width = targ.width;
        height = targ.height;
    } else {
        width = marker.width;
        height = marker.height;
    }

    ShaderNotex.instance().useProgram();
    GL11.glDisable(GL11.GL_TEXTURE_2D);
    if (marker.ignoreDepth)
        GL11.glDisable(GL11.GL_DEPTH_TEST);
    GL11.glPushMatrix();

    GL11.glTranslated(x - width / 2, y + 0.05 * Math.sin(GameTimer.getAbsTime() / 400.0), z - width / 2);
    marker.color.bind();
    renderMark(width, height);

    GL11.glPopMatrix();
    GL11.glEnable(GL11.GL_TEXTURE_2D);
    GL11.glEnable(GL11.GL_DEPTH_TEST);
    GL20.glUseProgram(0);
}

From source file:cn.lambdalib.particle.Sprite.java

License:MIT License

public void draw() {
    glEnable(GL_BLEND);// w w  w. j  a va 2 s  . c om
    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

    if (texture != null) {
        RenderUtils.loadTexture(texture);
    } else {
        glDisable(GL_TEXTURE_2D);
    }

    if (!cullFace) {
        glDisable(GL_CULL_FACE);
    }

    color.bind();
    Tessellator t = Tessellator.instance;
    float hw = width / 2, hh = height / 2;

    if (hasLight) {
        t.startDrawingQuads();
        t.setNormal(0, 0, -1);
        t.addVertexWithUV(-hw, hh, 0, 0, 0);
        t.addVertexWithUV(-hw, -hh, 0, 0, 1);
        t.addVertexWithUV(hw, -hh, 0, 1, 1);
        t.addVertexWithUV(hw, hh, 0, 1, 0);
        t.draw();
    } else {
        // Use legacy routine to avoid ShaderMod to ruin the render
        ShaderSimple.instance().useProgram();
        glBegin(GL_QUADS);
        glTexCoord2f(0, 0);
        glVertex3f(-hw, hh, 0);
        glTexCoord2f(0, 1);
        glVertex3f(-hw, -hh, 0);
        glTexCoord2f(1, 1);
        glVertex3f(hw, -hh, 0);
        glTexCoord2f(1, 0);
        glVertex3f(hw, hh, 0);
        glEnd();
        GL20.glUseProgram(0);
    }

    glEnable(GL_CULL_FACE);
    glEnable(GL_TEXTURE_2D);
}

From source file:cn.lambdalib.util.client.shader.ShaderMono.java

License:MIT License

private ShaderMono() {
    this.linkShader(getShader("simple.vert"), GL20.GL_VERTEX_SHADER);
    this.linkShader(getShader("mono.frag"), GL20.GL_FRAGMENT_SHADER);
    this.compile();

    this.useProgram();
    GL20.glUniform1i(GL20.glGetUniformLocation(this.getProgramID(), "sampler"), 0);
    GL20.glUseProgram(0);
}

From source file:cn.lambdalib.util.client.shader.ShaderSimple.java

License:MIT License

private ShaderSimple() {
    this.linkShader(getShader("simple.vert"), GL20.GL_VERTEX_SHADER);
    this.linkShader(getShader("simple.frag"), GL20.GL_FRAGMENT_SHADER);
    this.compile();

    this.useProgram();
    GL20.glUniform1i(GL20.glGetUniformLocation(this.getProgramID(), "sampler"), 0);
    GL20.glUseProgram(0);
}