OpenGL像素格式

 像素格式明确了OpenGL绘制平面的特性,如象素缓冲区是单缓冲还是双缓冲,数据是 RGBA方式还是Color Index方式等。每个OpenGL显示设备一般用名为PIXELFORMATDESCRIPTOR的结构来表示某个的像素格式,这个结构包含26个属性信息。

结构体定义如下:

typedef struct tagPIXELFORMATDESCRIPTOR
{
WORD nSize;           //定义数据结构体的大小,可以这样给值:pfd.nsize = sizeof(PIXELFORMATDESCRIPTOR)
WORD nVersion;                     //直接设置为1
DWORD dwFlags;                            //一系列位标识符,可以相互取或联接,具体有哪些功能标识符,查看MSDN
BYTE iPixelType;      //定义像素数据的类型,是索引值(‍PFD_TYPE_COLORINDEX)还是RGBA值(PFD_TYPE_RGBA)
BYTE cColorBits;      //每个颜色缓存中的位面数,如果是RGBA模式,除去alp

BYTE cRedBits;        //颜色缓存中,红色信息所占用的位面数
BYTE cRedShift;       //红色位面数在缓存区中的移位数,即移多少位可以找到红色的RGB信息  
BYTE cGreenBits;      //颜色缓存中,绿色信息所占用的位面数
BYTE cGreenShift;     //绿色位面数在缓存区中的移位数,即移多少位可以找到绿色的RGB信息
BYTE cBlueBits;       //颜色缓存中,蓝色信息所占用的位面数
BYTE cBlueShift;      //蓝色位面数在缓存区中的移位数,即移多少位可以找到蓝色的RGB信息
BYTE cAlphaBits;      //软件加速不支持, 颜色缓存中,alpha信息的位面数
BYTE cAlphaShift;     //软件加速不支持, 颜色缓存中,alpha信息移位数

BYTE cAccumBits;       //积累缓存中的总位面数
BYTE cAccumRedBits;    //积累缓存中的红色信息位面数
BYTE cAccumGreenBits;    //积累缓存中的绿色信息位面数
BYTE cAccumBlueBits;     //积累缓存中的蓝色信息位面数
BYTE cAccumAlphaBits;      //积累缓存中的alpha信息的位面数
BYTE cDepthBits;          //深度缓存保存的深度值
BYTE cStencilBits;        //模板缓存中保存的深度值  
BYTE cAuxBuffers;          //软件加速并不使用该项,辅助缓存区的数目
BYTE iLayerType;          //1.0版本的OpenGL只能置为PFD_MAIN_PLANE
BYTE bReserved;            //必须置为0

DWORD dwLayerMask;
DDWOR dwVisibleMask;
DWORD dwDamageMask;
} PIXELFORMATDESCRIPTOR;
;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值