美文网首页
glDepthMask

glDepthMask

作者: blue_lights | 来源:发表于2021-09-17 13:11 被阅读0次

    深度绘制和混合同时存在的场景绘制顺序:

    1、打开 深度蒙版glDepthMask( GL_TRUE )
    2、以任何顺序绘制所有不透明的对象
    3、关闭深度遮罩glDepthMask( GL_FALSE )
    4、打开BLEND_MODE
    5、绘制从最远到最近排序的半透明对象

    void Draw {
       /**开启深度测试*/ 
       glEnable( GL_DEPTH_TEST );
      /**开启深度遮罩*/ 
      glDepthMask( GL_TRUE );
     /**绘制不透明对象*/
      DrawA();
      DrawB();  
     /**关闭深度遮罩*/
      glDepthMask( GL_FALSE );
     
     /**开启混合*/  
      glEnable( GL_BLEND );
    /**混合方程*/
      glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA );
      
    /**绘制从最远到最近排序的半透明对象*/
      DrawC(); 
      DrawD();
      /**关闭混合*/ 
       glDisable( GL_BLEND );  
    }
    

    相关文章

      网友评论

          本文标题:glDepthMask

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