OpenGL入门学习——第十二课 OpenGL片断测试

转载 2013年12月05日 18:07:09
片断测试其实就是测试每一个像素,只有通过测试的像素才会被绘制,没有通过测试的像素则不进行绘制。OpenGL提供了多种测试操作,利用这些操作可以实现一些特殊的效果。
我们在前面的课程中,曾经提到了“深度测试”的概念,它在绘制三维场景的时候特别有用。在不使用深度测试的时候,如果我们先绘制一个距离较近的物体,再绘制距离较远的物体,则距离远的物体因为后绘制,会把距离近的物体覆盖掉,这样的效果并不是我们所希望的。
如果使用了深度测试,则情况就会有所不同:每当一个像素被绘制,OpenGL就记录这个像素的“深度”(深度可以理解为:该像素距离观察者的距离。深度值越大,表示距离越远),如果有新的像素即将覆盖原来的像素时,深度测试会检查新的深度是否会比原来的深度值小。如果是,则覆盖像素,绘制成功;如果不是,则不会覆盖原来的像素,绘制被取消。这样一来,即使我们先绘制比较近的物体,再绘制比较远的物体,则远的物体也不会覆盖近的物体了。
实际上,只要存在深度缓冲区,无论是否启用深度测试,OpenGL在像素被绘制时都会尝试将深度数据写入到缓冲区内,除非调用了glDepthMask(GL_FALSE)来禁止写入。这些深度数据除了用于常规的测试外,还可以有一些有趣的用途,比如绘制阴影等等。

OpenGL入门学习之十二——OpenGL片断测试

1、剪裁测试 剪裁测试用于限制绘制区域。我们可以指定一个矩形的剪裁窗口,当启用剪裁测试后,只有在这个窗口之内的像素才能被绘制,其它像素则会被丢弃。换句话说,无论怎么绘制,剪裁窗口以外的像素将不会被修...
  • u012309398
  • u012309398
  • 2014年06月26日 15:12
  • 392

OpenGL入门学习

环境搭建 OpenGL入门学习二 点直线和多边形 在OpenGL中指定顶点 开始绘制 例一画一个圆 例二画一个五角星 例三画出正弦函数的图形 OpenGL入门学习三 关于点 关于直线 关于多边形 Op...
  • XscKernel
  • XscKernel
  • 2015年12月04日 10:28
  • 3801

OpenGL片断测试

大家好。现在因为参加工作的关系,又是长时间没有更新。趁着国庆的空闲,总算是又写出了一课。我感觉入门的知识已经快要介绍完毕,这课之后再有一课,就可以告一段落了。以后我可能会写一些自己在这方面的体会,做一...
  • zh13544539220
  • zh13544539220
  • 2015年07月22日 16:53
  • 199

第十二课:OpenGL扩展

转载自:http://www.opengl-tutorial.org/cn/intermediate-tutorials/tutorial-12-opengl-extensions/ 第十二...
  • qq_22822335
  • qq_22822335
  • 2016年02月17日 19:31
  • 119

OpenGL片断测试

片断测试其实就是测试每一个像素,只有通过测试的像素才会被绘制,没有通过测试的像素则不进行绘制。OpenGL提供了多种测试操作,利用这些操作可以实现一些特殊的效果。 我们在前面的课程中,曾经提到了“深...
  • anye3000
  • anye3000
  • 2013年09月22日 17:51
  • 644

OpenGL入门学习[十二] 片断测试

OpenGL入门学习[十二]    片断测试其实就是测试每一个像素,只有通过测试的像素才会被绘制,没有通过测试的像素则不进行绘制。OpenGL提供了多种测试操作,利用这些操作可以实现一些特殊的效果...
  • yanziguilai
  • yanziguilai
  • 2013年05月24日 09:51
  • 730

openGL的初步入门

本文只关注于如何一步步实现在Android平台下运用OpenGl。  1、GLSurfaceView GLSurfaceView是Android应用程序中实现OpenGl画图的重要...
  • qq_15807167
  • qq_15807167
  • 2016年07月21日 23:34
  • 2452

初学Android OpenGL的一些心得

这是网友初学Android OpenGL的一些心得,在这里和大家一起分享,希望对初学OpenGL的开发者有所帮助。这篇教程主要是一些理论的讲解,可以让你初步了解Android OpenGL的开发。 ...
  • hudfang
  • hudfang
  • 2016年10月14日 16:21
  • 1234

OpenGL入门学习(八)

OpenGL入门学习[八] 今天介绍关于OpenGL显示列表的知识。本课内容并不多,但需要一些理解能力。在学习时,可以将显示列表与C语言的“函数”进行类比,加深体会。 我们已经...
  • u014646358
  • u014646358
  • 2014年12月13日 21:25
  • 1552

OpenGL学习笔记()多边形绘制-cullface

绘制模式 在绘制多边形时除了默认的填充方式,还可以使用点和线 使用glPolygonMode函数来设置模式 三种不同模式下的绘图  GL_FILL   GL_LIN...
  • neuqbingoye
  • neuqbingoye
  • 2013年10月13日 21:39
  • 2838
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OpenGL入门学习——第十二课 OpenGL片断测试
举报原因:
原因补充:

(最多只允许输入30个字)