首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >停止glUseProgram()

停止glUseProgram()
EN

Stack Overflow用户
提问于 2015-07-29 23:39:47
回答 1查看 558关注 0票数 1

我在纹理上使用opengl着色器。一旦纹理完成阴影,我想停止glUseProgram()函数。

目前,着色器超出了一切,包括不需要阴影的矩形()函数。

我尝试了glUseProgram(0),但那没有效果。

相关问题:Java Opengl: Discarding Texture Background with Shaders

这是相关代码。

代码语言:javascript
复制
        glPushMatrix();
        dirPosd = i.torso.getPosition().mul(30);
        glTranslatef(dirPosd.x, dirPosd.y, 0);
        glRotated(Math.toDegrees(i.torso.getAngle()), 0, 0, 1);
        glColor3f(1,1,1);
        skel_torso.bind();
        sizer = 40;
        glUseProgram(shaderProgram);
        glBegin(GL_QUADS);
        glTexCoord2f(0f, 0f);
        glVertex2f( i.torso.getPosition().x - sizer-5, i.torso.getPosition().y - sizer-5);     //NW
        glTexCoord2f(1, 0);
        glVertex2f( i.torso.getPosition().x + sizer-5, i.torso.getPosition().y - sizer-5);   //NE
        glTexCoord2f(1, 1);
        glVertex2f( i.torso.getPosition().x + sizer-5, i.torso.getPosition().y + sizer-5); //SE
        glTexCoord2f(0, 1);
        glVertex2f( i.torso.getPosition().x - sizer-5, i.torso.getPosition().y + sizer-5);   //SW
        glEnd();
        glPopMatrix();

        glUseProgram(0); //Note here

        glPushMatrix();

        Vec2 shoulderPosL = i.shouldL.getPosition().mul(30);
        glTranslatef(shoulderPosL.x, shoulderPosL.y, 0);
        glRotated(Math.toDegrees(i.shouldL.getAngle()), 0, 0, 1);

        glColor3f(1,1,0);
        glRectf(-i.shoulderSize[0] * 30, -i.shoulderSize[1] * 30, i.shoulderSize[0] * 30, i.shoulderSize[1] * 30);

        glPopMatrix();`

我添加了一个glUseProgram(0)语句,但是当我添加着色器不工作时。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-30 08:33:35

你必须切换到一个不同的着色器,做你想要的其他东西渲染。着色器不是对你渲染的东西“包裹”的东西。着色器是使渲染工作。如果禁用着色器,并且您的OpenGL上下文不是兼容性配置文件,则不会提供默认回退(固定函数管道行为),也不会呈现任何内容。OTOH您使用的是固定函数管道,但要想工作,您必须适当地参数化它(启用纹理目标、调制模式、颜色等等)。它通常更容易简单地切换着色器,而不是与FF管道状态杂耍。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31712965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档