● 解除绑定,Bindless Texture
在GTX680中,我们注意到了一个全新的来自材质与shader搭配的特性,那就是Bindless Texture——低shader绑定限制材质。
我们知道在图形处理过程中,所有场景及物体表面的颜色细节都是由Texture和shader共同完成的,Texture负责快速的完成大面积的颜色表达,而shader则负责局部正确颜色表现的修饰过程。值得注意的是,传统的Texture与shader搭配修饰过程存在绑定(Bind)限制,一组shader code只能同时对应最多128组Texture。
Bindless Texture操作特性
在GTX680的Kepler构架中,NVIDIA取消了shader code与Texture之间的绑定限制,新的Bindless Texture规则允许一组shader code同时对应超过100万组Texture。这不仅极具提升了可被同时进行shader处理的Texture的数量,等效减少shader被重复执行的几率,大幅减少CPU以及GPU的执行线程需求以及执行过程,同时还能带来更多样化的Texture应用。
Bindless Texture能够大幅减少操作过程并提升效率
Bindless Texture可以带来很多非常具有想象力的应用场合,比如搭配Compute Shader的树状结构来实现大跨度的多材质单shader复制处理,或者结合Gather/Scatter指令更加快速的实现简单shader对应复杂材质等等。Bindless Texture可以加速许多场合的应用速度,在未来的图形处理过程中将会扮演重要的角色。
推荐经销商