OpenGL编程指南2D部分【下】

本文是OpenGL编程的2D部分下篇,涵盖了颜色处理、像素与帧缓存、视图变换、剪切和反馈、纹理等主题。讨论了颜色缓冲、光栅化、多重采样、模板和深度测试、混合、多边形偏移、遮挡查询、条件渲染等内容,以及纹理类型、创建、过滤和高级纹理函数的应用。此外,还分享了在实践中遇到的一些问题和解决经验。
摘要由CSDN通过智能技术生成

自己用Laravel写的小博客和CSDN的博客以后同步更新:
OpenGL编程指南2D部分【下】

4. 颜色、像素和帧缓存

颜色

OpenGL需要RGB/sRGB格式的颜色
Fragment shader中指定颜色为顶点颜色,会使用高洛德着色填充区域

光栅

处于vertex shader和fragment shader之间
处理每个像素的buffer

多重采样

一种简洁的实现抗锯齿的方法
需要程序提供一个额外的多重采样缓存,使用时无法同时使用点线面平滑处理
可以通过glGetIntererv(GL_SAMPLE_BUFFERS)检测缓存是否存在
需要提供采样次数,最大次数通过

fragment shader中的sample关键字不知道怎么用,加上即黑屏。
glMinSampleShading使用起来并没有什么效果

缓存

OpenGL有颜色缓存,深度缓存和模板缓存,共同构成帧缓存
通过glClear[type]设置缓存清除默认值
通过gl[type]Mask来决定那些缓存可以写入

测试

一个像素点需要经过:
1. 裁剪测试
2. 多重采样操作
3. 模板测试
4. 深度测试
5. 混合
6. 抖动
7. 逻辑操作

裁剪是控制一个矩形,只能绘制在这个矩形当中。
使用glScissor设置矩形,glEnable开启测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值