博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OpenGL学习二十五:像素存储模式
阅读量:4212 次
发布时间:2019-05-26

本文共 1042 字,大约阅读时间需要 3 分钟。

内存对齐:
字长32位的计算机上,如果数据在内存中按照32位的边界对齐(地址为4字节的倍数),那么硬件提取数据的速度就会快得多,类似的在64位计算机上,如数据地址按照8字节对齐,他对数据存取效率会非常高
举例:图像每行按照4字节方式进行存储,如果图像宽度是5个像素。RGB各占一个字节,那么每行=5*3=15个字节,按照4字节方式存储每行会浪费一个自己的存储空间

如果每行按照1字节方式存储,每一行的数据都是从下一个可用的字节开始存储,这样虽然不会浪费内存空间,但是性能不能4字节的好,同理2字节方式数据的起始地址是2的倍数

举例2:如果每个像素保存1位数据,行长度是75,如果对齐值是4,那么最小4的倍数且大于75/8的12 也就是说每行需要12个字节。如果对齐值是1 那么最小4的倍数且大于75/8的10 也就是说每行需要10个字节

glPixelStore{if}(Glenum pname,TYPE param)

glPixelStore参数
GL_UNPACK_SWAP_BYTES,GL_PACK_SWAP_BYTES 如果为TRUE 字节翻转存储
GL_UNPACK_LSB_FIRST,GL_PACK_LSB_FIRST 如果为FALSE 字节从最高有效位存储0x31为{0,0,1,1,0,0,0,1}
如果为true 字节从最高有效位存储0x31为{1,0,0,0,1,1,0,0}
GL_UNPACK_ROW_LENGTH,GL_PACK_ROW_LENGTH 当从内存读取矩形的图像数据小于内存图像数据矩形实际长度,需要设置这个值进行指定,如果这个值为0,使用glDrawPixels,glCopyPixels,glReadPiexls所指定的宽度值
GL_UNPACK_SHIP_ROWS,GL_PACK_SHIP_ROWS 如果从内存读取的子矩形图形数据并不是从0,0开始作为起点,使用这个进行设置起始点(ROW)
GL_UNPACK_SHIP_PIXELS,GL_PACK_SHIP_PIXELS 如果从内存读取的子矩形图形数据并不是从0,0开始作为起点,使用这个进行设置起始点(COL)
GL_UNPACK_ALIGNMENT,GL_PACK_ALIGNMENT 设置内存对其方式
GL_UNPACK_IMAGE_HEIGHT,GL_PACK_IMAGE_HEIGHT
GL_UNPACK_SKIP_IMAGE,GL_UNPACK_SKIP_IMAGE

转载地址:http://ufumi.baihongyu.com/

你可能感兴趣的文章
Oracle TABLE ACCESS BY INDEX ROWID 说明
查看>>
ORA-00600 [kmgs_parameter_update_timeout_1], [27072] ORA-27072 解决方法
查看>>
Oracle 11g alert log 新增消息 opiodr aborting process unknown ospid (1951) as a result of ORA-28 说明
查看>>
Linux Context , Interrupts 和 Context Switching 说明
查看>>
《Oracle数据库问题解决方案和故障排除手册》终于发售了
查看>>
Oracle alert log ALTER SYSTEM SET service_names='','SYS$SYS.KUPC$C_...' SCOPE=MEMORY SID='' 说明
查看>>
Oracle latch:library cache 导致 数据库挂起 故障
查看>>
Openfiler 配置 NFS 示例
查看>>
Oracle 11.2.0.1 RAC GRID 无法启动 : Oracle High Availability Services startup failed
查看>>
Oracle 18c 单实例安装手册 详细截图版
查看>>
Oracle Linux 6.1 + Oracle 11.2.0.1 RAC + RAW 安装文档
查看>>
Oracle 11g 新特性 -- Online Patching (Hot Patching 热补丁)说明
查看>>
Oracle 11g 新特性 -- ASM 增强 说明
查看>>
Oracle 11g 新特性 -- Database Replay (重演) 说明
查看>>
Oracle 11g 新特性 -- 自动诊断资料档案库(ADR) 说明
查看>>
Oracle 11g 新特性 -- RMAN Data Recovery Advisor(DRA) 说明
查看>>
CSDN博客之星 投票说明
查看>>
Oracle wallet 配置 说明
查看>>
Oracle smon_scn_time 表 说明
查看>>
VBox fdisk 不显示 添加的硬盘 解决方法
查看>>