裁剪测试

为了提高图形渲染的效率,openGL可以指定只刷新屏幕中发生变化的区域。

裁剪测试就是用于渲染时限制绘制区域的技术,通过此技术可以在屏幕(帧缓冲)指定一个矩形区域,来启⽤剪裁测试,不在这个矩形区域内的片元被丢弃,不进行绘制,只有在这个矩形区域内的片元才有可能进⼊入帧缓冲。因此实际达到的效果就是在屏幕上开辟了了一个小窗口,可以再其中进行指定内容的绘制。

开启裁剪测试

glEnable(GL_SCISSOR_TEST);

关闭裁剪测试

glDisable(GL_SCISSOR_TEST);

指定裁剪窗口

void glScissor(Glint x,Glint y,GLSize width,GLSize height);
  • x,y:指定裁剪框左下⻆位置;
  • width,height:指定裁剪尺⼨;

窗⼝、视⼝、裁剪区域

  • 窗⼝: 就是程序的界面。
  • 视⼝: 窗⼝上用来显示图形的一块矩形区域,它可以和窗口等大,也可以比窗⼝⼤或者⼩小。只有绘制在视口区域中的图形才能被显示,如果图形部分超出了视⼝区域,那么那部分是看不到的。
    可以通过glViewport()设置视口的大小和位置。
  • 裁剪区域 (平⾏投影):就是视⼝矩形区域的最⼩和最⼤x坐标(left,right),最⼩和最大y坐标 (bottom,top),⽽不是窗口的最⼩和最大x坐标和y坐标。
    通过glOrtho()函数设置,这个函数还需指定最近和最远z坐标,形成一个⽴体的裁剪区域。
分类: 音视频开发扫盲 标签: OpenGL

评论

暂无评论数据

暂无评论数据

目录