OpenGL超级宝典第七版学习笔记-着色器存储块(shader storage block)

20170321-shader storage block
1、 shader storage block与uniform block最大的区别是在shader中可以对前者进行写入操作,甚至是对其成员的内存进行原子操作,而后者在shader中是只读的。shader storage block拥有更高的大小上限
2、 shader storage block支持std140的布局方式,同时也支持std430的方式。std430的布局方式能使整型和浮点型的数组、包含他们的结构体的布局更加紧凑,这一点正是std140最缺乏的,这样能使像C++之类的编程语言的编译器更加有效率的使用内存。
3、 声明一个shader storage block的例子:
layout(binding=0,std430)myShaderStorageBlock
{
vec4aa;
vec3 bb;
intarr[];
MyStructurestructure;
};

20170321-shader storage block-原子内存操作(atomic memory oprations)(2)
1、 原子操作是指为了保证结果的正确性,如果在内存读取后可能紧跟着有内存写入的操作,那么在这一系列操作期间是绝对不能被打断的。(还有一种原子操作的概念是不可能被打断的最小的操作,比如一条CPU指令,是不可能在指令执行期间被打断的),类似于
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值