计算机图形学笔记(八)

这篇博客探讨了OpenGL中的片元处理,包括裁剪测试、Alpha测试及其应用,如Billboarding技术。接着,介绍了混合(Blending)概念和相关函数,以及在处理半透明物体时的挑战和解决方案。最后,讲解了纹理映射的重要性,从二维到三维,以及凹凸纹理映射(Bump mapping)的基本思想和实现方法。
摘要由CSDN通过智能技术生成

5.6.1四种片元测试

片元(fragment)与像素的区别

 

 

片元操作

1、片元在写入帧缓冲之前要按顺序经历一系列的测试;在写入帧缓冲时也会经历一些运算。

2、操作顺序如下:

裁剪测试

Alpha测试

模板测试

深度测试

写入帧缓冲前的操作

写入帧缓冲时的操作

混合

抖动

逻辑操作

3、如果片元在其中某个测试中被排除,后面的测试或操作就不再进行了。

裁剪测试

1、Void glScissor(Glint x, Glint y, GLsizei width, GLsizei height);

2、glEnable(GL_SCISSOR_TEST);

Alpha测试

1、glEnable(GL_ALPHA_TEST);

2、void glAlphaFunc(GLenum func, GLclampf ref);

3、func: GL_NEVER, GL_LESS, GL_LEQUAL, GL_EQUAL, GL_GREATER, GL_NOTEQUAL, GL_GEQUAL, GL_ALWAYS

问题:片元的alpha值是从哪儿来的?

       放在颜色缓冲区,用glcolor

Alpha测试的一个应用

Billboarding技术

 

Alpha测试

Alpha片元测试在OpenGL3.0中被废弃了,并且在OpenGL3.1中替代为通过使用discard操作在fragment shader中丢弃片元。

混合

抖动

逻辑操作

裁剪测试

Alpha测试

模板测试

深度测试

片元操作

5.6.2混合(Blending)

片元运算(Fragment operatio

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值