美文网首页
OpenGL之纹理

OpenGL之纹理

作者: 魔杰西 | 来源:发表于2020-09-02 14:00 被阅读0次

    纹理的基本理解

    纹理是一种图形数据,我们可以理解为图片。图片在屏幕上的显示最终都是解码成位图显示的。

    纹理代码应用

    //调用,绘制场景
    void RenderScene(void)
    {
        //1.用当前清除色,清除窗口
        glClear(GL_COLOR_BUFFER_BIT);
        
        //2.模型视图压栈
        modelViewMatrix.PushMatrix();
        //Z轴平移viewZ 距离
        modelViewMatrix.Translate(0.0f, 0.0f, viewZ);
        
        //3.纹理替换矩阵着色器
        /*
         参数1:GLT_SHADER_TEXTURE_REPLACE(着色器标签)
         参数2:模型视图投影矩阵
         参数3:纹理层
         */
        shaderManager.UseStockShader(GLT_SHADER_TEXTURE_REPLACE, transformPipeline.GetModelViewProjectionMatrix(), 0);
        
        //4.绑定纹理
        /*
         参数1:纹理模式,GL_TEXTURE_1D、GL_TEXTURE_2D、GL_TEXTURE_3D
         参数2:需要绑定的纹理
         */
        glBindTexture(GL_TEXTURE_2D, textures[TEXTURE_FLOOR]);
        floorBatch.Draw();
        
        glBindTexture(GL_TEXTURE_2D, textures[TEXTURE_CEILING]);
        ceilingBatch.Draw();
        
        glBindTexture(GL_TEXTURE_2D, textures[TEXTURE_BRICK]);
        leftWallBatch.Draw();
        rightWallBatch.Draw();
        
        //5.pop
        modelViewMatrix.PopMatrix();
        
        //6.缓存区交换
        glutSwapBuffers();
    }
    
    

    相关文章

      网友评论

          本文标题:OpenGL之纹理

          本文链接:https://www.haomeiwen.com/subject/rbladktx.html