java类net.minecraft.client.renderer.OpenGlHelper的实例源码

Framebuffer.java 文件源码 项目:BaseClient 阅读 19 收藏 0 点赞 0 评论 0
public void checkFramebufferComplete()
{
    int i = OpenGlHelper.glCheckFramebufferStatus(OpenGlHelper.GL_FRAMEBUFFER);

    if (i != OpenGlHelper.GL_FRAMEBUFFER_COMPLETE)
    {
        if (i == OpenGlHelper.GL_FB_INCOMPLETE_ATTACHMENT)
        {
            throw new RuntimeException("GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT");
        }
        else if (i == OpenGlHelper.GL_FB_INCOMPLETE_MISS_ATTACH)
        {
            throw new RuntimeException("GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT");
        }
        else if (i == OpenGlHelper.GL_FB_INCOMPLETE_DRAW_BUFFER)
        {
            throw new RuntimeException("GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER");
        }
        else if (i == OpenGlHelper.GL_FB_INCOMPLETE_READ_BUFFER)
        {
            throw new RuntimeException("GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER");
        }
        else
        {
            throw new RuntimeException("glCheckFramebufferStatus returned unknown status:" + i);
        }
    }
}
Framebuffer.java 文件源码 项目:Backmemed 阅读 16 收藏 0 点赞 0 评论 0
public void createFramebuffer(int width, int height)
{
    this.framebufferWidth = width;
    this.framebufferHeight = height;
    this.framebufferTextureWidth = width;
    this.framebufferTextureHeight = height;

    if (!OpenGlHelper.isFramebufferEnabled())
    {
        this.framebufferClear();
    }
    else
    {
        this.framebufferObject = OpenGlHelper.glGenFramebuffers();
        this.framebufferTexture = TextureUtil.glGenTextures();

        if (this.useDepth)
        {
            this.depthBuffer = OpenGlHelper.glGenRenderbuffers();
        }

        this.setFramebufferFilter(9728);
        GlStateManager.bindTexture(this.framebufferTexture);
        GlStateManager.glTexImage2D(3553, 0, 32856, this.framebufferTextureWidth, this.framebufferTextureHeight, 0, 6408, 5121, (IntBuffer)null);
        OpenGlHelper.glBindFramebuffer(OpenGlHelper.GL_FRAMEBUFFER, this.framebufferObject);
        OpenGlHelper.glFramebufferTexture2D(OpenGlHelper.GL_FRAMEBUFFER, OpenGlHelper.GL_COLOR_ATTACHMENT0, 3553, this.framebufferTexture, 0);

        if (this.useDepth)
        {
            OpenGlHelper.glBindRenderbuffer(OpenGlHelper.GL_RENDERBUFFER, this.depthBuffer);
            OpenGlHelper.glRenderbufferStorage(OpenGlHelper.GL_RENDERBUFFER, 33190, this.framebufferTextureWidth, this.framebufferTextureHeight);
            OpenGlHelper.glFramebufferRenderbuffer(OpenGlHelper.GL_FRAMEBUFFER, OpenGlHelper.GL_DEPTH_ATTACHMENT, OpenGlHelper.GL_RENDERBUFFER, this.depthBuffer);
        }

        this.framebufferClear();
        this.unbindFramebufferTexture();
    }
}
LoadingScreenRenderer.java 文件源码 项目:Backmemed 阅读 17 收藏 0 点赞 0 评论 0
private void displayString(String message)
{
    this.currentlyDisplayedText = message;

    if (!this.mc.running)
    {
        if (!this.loadingSuccess)
        {
            throw new MinecraftError();
        }
    }
    else
    {
        GlStateManager.clear(256);
        GlStateManager.matrixMode(5889);
        GlStateManager.loadIdentity();

        if (OpenGlHelper.isFramebufferEnabled())
        {
            int i = this.scaledResolution.getScaleFactor();
            GlStateManager.ortho(0.0D, (double)(this.scaledResolution.getScaledWidth() * i), (double)(this.scaledResolution.getScaledHeight() * i), 0.0D, 100.0D, 300.0D);
        }
        else
        {
            ScaledResolution scaledresolution = new ScaledResolution(this.mc);
            GlStateManager.ortho(0.0D, scaledresolution.getScaledWidth_double(), scaledresolution.getScaledHeight_double(), 0.0D, 100.0D, 300.0D);
        }

        GlStateManager.matrixMode(5888);
        GlStateManager.loadIdentity();
        GlStateManager.translate(0.0F, 0.0F, -200.0F);
    }
}
LayerSpiderEyes.java 文件源码 项目:BaseClient 阅读 33 收藏 0 点赞 0 评论 0
public void doRenderLayer(EntitySpider entitylivingbaseIn, float p_177141_2_, float p_177141_3_, float partialTicks, float p_177141_5_, float p_177141_6_, float p_177141_7_, float scale)
{
    this.spiderRenderer.bindTexture(SPIDER_EYES);
    GlStateManager.enableBlend();
    GlStateManager.disableAlpha();
    GlStateManager.blendFunc(1, 1);

    if (entitylivingbaseIn.isInvisible())
    {
        GlStateManager.depthMask(false);
    }
    else
    {
        GlStateManager.depthMask(true);
    }

    int i = 61680;
    int j = i % 65536;
    int k = i / 65536;
    OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float)j / 1.0F, (float)k / 1.0F);
    GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
    this.spiderRenderer.getMainModel().render(entitylivingbaseIn, p_177141_2_, p_177141_3_, p_177141_5_, p_177141_6_, p_177141_7_, scale);
    i = entitylivingbaseIn.getBrightnessForRender(partialTicks);
    j = i % 65536;
    k = i / 65536;
    OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float)j / 1.0F, (float)k / 1.0F);
    this.spiderRenderer.func_177105_a(entitylivingbaseIn, partialTicks);
    GlStateManager.disableBlend();
    GlStateManager.enableAlpha();
}
LoadingScreenRenderer.java 文件源码 项目:DecompiledMinecraft 阅读 18 收藏 0 点赞 0 评论 0
private void displayString(String message)
{
    this.currentlyDisplayedText = message;

    if (!this.mc.running)
    {
        if (!this.field_73724_e)
        {
            throw new MinecraftError();
        }
    }
    else
    {
        GlStateManager.clear(256);
        GlStateManager.matrixMode(5889);
        GlStateManager.loadIdentity();

        if (OpenGlHelper.isFramebufferEnabled())
        {
            int i = this.scaledResolution.getScaleFactor();
            GlStateManager.ortho(0.0D, (double)(this.scaledResolution.getScaledWidth() * i), (double)(this.scaledResolution.getScaledHeight() * i), 0.0D, 100.0D, 300.0D);
        }
        else
        {
            ScaledResolution scaledresolution = new ScaledResolution(this.mc);
            GlStateManager.ortho(0.0D, scaledresolution.getScaledWidth_double(), scaledresolution.getScaledHeight_double(), 0.0D, 100.0D, 300.0D);
        }

        GlStateManager.matrixMode(5888);
        GlStateManager.loadIdentity();
        GlStateManager.translate(0.0F, 0.0F, -200.0F);
    }
}
ShaderLinkHelper.java 文件源码 项目:DecompiledMinecraft 阅读 20 收藏 0 点赞 0 评论 0
public void linkProgram(ShaderManager manager) throws IOException
{
    manager.getFragmentShaderLoader().attachShader(manager);
    manager.getVertexShaderLoader().attachShader(manager);
    OpenGlHelper.glLinkProgram(manager.getProgram());
    int i = OpenGlHelper.glGetProgrami(manager.getProgram(), OpenGlHelper.GL_LINK_STATUS);

    if (i == 0)
    {
        logger.warn("Error encountered when linking program containing VS " + manager.getVertexShaderLoader().getShaderFilename() + " and FS " + manager.getFragmentShaderLoader().getShaderFilename() + ". Log output:");
        logger.warn(OpenGlHelper.glGetProgramInfoLog(manager.getProgram(), 32768));
    }
}
LayerSpiderEyes.java 文件源码 项目:BaseClient 阅读 21 收藏 0 点赞 0 评论 0
public void doRenderLayer(EntitySpider entitylivingbaseIn, float p_177141_2_, float p_177141_3_, float partialTicks, float p_177141_5_, float p_177141_6_, float p_177141_7_, float scale)
{
    this.spiderRenderer.bindTexture(SPIDER_EYES);
    GlStateManager.enableBlend();
    GlStateManager.disableAlpha();
    GlStateManager.blendFunc(1, 1);

    if (entitylivingbaseIn.isInvisible())
    {
        GlStateManager.depthMask(false);
    }
    else
    {
        GlStateManager.depthMask(true);
    }

    int i = 61680;
    int j = i % 65536;
    int k = i / 65536;
    OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float)j / 1.0F, (float)k / 1.0F);
    GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
    this.spiderRenderer.getMainModel().render(entitylivingbaseIn, p_177141_2_, p_177141_3_, p_177141_5_, p_177141_6_, p_177141_7_, scale);
    i = entitylivingbaseIn.getBrightnessForRender(partialTicks);
    j = i % 65536;
    k = i / 65536;
    OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float)j / 1.0F, (float)k / 1.0F);
    this.spiderRenderer.func_177105_a(entitylivingbaseIn, partialTicks);
    GlStateManager.disableBlend();
    GlStateManager.enableAlpha();
}
Framebuffer.java 文件源码 项目:DecompiledMinecraft 阅读 23 收藏 0 点赞 0 评论 0
public void bindFramebuffer(boolean p_147610_1_)
{
    if (OpenGlHelper.isFramebufferEnabled())
    {
        OpenGlHelper.glBindFramebuffer(OpenGlHelper.GL_FRAMEBUFFER, this.framebufferObject);

        if (p_147610_1_)
        {
            GlStateManager.viewport(0, 0, this.framebufferWidth, this.framebufferHeight);
        }
    }
}
Framebuffer.java 文件源码 项目:CustomWorldGen 阅读 18 收藏 0 点赞 0 评论 0
public void setFramebufferFilter(int framebufferFilterIn)
{
    if (OpenGlHelper.isFramebufferEnabled())
    {
        this.framebufferFilter = framebufferFilterIn;
        GlStateManager.bindTexture(this.framebufferTexture);
        GlStateManager.glTexParameteri(3553, 10241, framebufferFilterIn);
        GlStateManager.glTexParameteri(3553, 10240, framebufferFilterIn);
        GlStateManager.glTexParameteri(3553, 10242, 10496);
        GlStateManager.glTexParameteri(3553, 10243, 10496);
        GlStateManager.bindTexture(0);
    }
}
ShaderLoader.java 文件源码 项目:DecompiledMinecraft 阅读 19 收藏 0 点赞 0 评论 0
public void deleteShader(ShaderManager manager)
{
    --this.shaderAttachCount;

    if (this.shaderAttachCount <= 0)
    {
        OpenGlHelper.glDeleteShader(this.shader);
        this.shaderType.getLoadedShaders().remove(this.shaderFilename);
    }
}


问题


面经


文章

微信
公众号

扫码关注公众号