- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在编写一个延迟渲染器,并试图打包我的 gbuffer。
将漫反射和高光存储在一起会更好吗:
vec4 difSpec = (diffuse.xyz, specular) // FORMAT_RGBA
gl_FragData[0] = difSpc;
或使用 2 个渲染目标
vec3 diffuse
float specular
gl_FragData[0] = diffuse // FORMAT_RGB
gl_FragData[1] = specular // FORMAT_RED
问题是一个比另一个更好,为什么。
最佳答案
您使用的缓冲区绑定(bind)/重新绑定(bind)操作越少越好。
更重要的是,在您的情况下,您只需要 4 个 float 就可以了:RGB+Specular。所以使用完整的 128 位渲染目标并打包 (r,g,b,specular) 值。它必须更好,因为访问不同的内存位置(RGB 为 96 位,镜面反射为 32 位以上)对缓存不利。
对于较旧的视频卡,一个渲染目标也更好。不管怎样,当你只使用 96 位时,你就是在浪费内存。 g-buffer 总是必须紧密包装。
关于c++ - 拥有 2 个较小的渲染目标还是一个较大的渲染目标更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11273136/
我正在通过 PHP 将 .csv 中的两行插入到表中。 我还会跟踪任何错误,如果发生错误,我不会提交事务。插入表后,我检索结果行的 ID(全部在一个事务中提交),并且 csv 的第一行对应于第二个 I
一个应用程序托管一个具有三个接口(interface)的 Web 服务,用于三个单独且独立的操作,所有这些操作都在应用程序的不同组件中实现,彼此独立,例如在不同的包等中,所以他们对彼此了解不多,只共享
我希望在单击特定表格数据单元格时同时选中单选按钮和单选按钮单击事件。我已经使用以下方法实现了这一点: $(document).ready(function() { $("td").click(
JSFiddle:https://jsfiddle.net/oyp1zxaq/ 本质上,我只是想在较大的 div 中放置四个具有定义宽度的较小 div,但我希望它们在其中间隔开。 我想知道是否有一种方
我在一个布局中有两个 View 。我将分别称它们为 View A 和 View B。 ┌──────┐ │┌─┐┌─┐│ ││A││B││ │└─┘└─┘│ └──────┘ 父布局(包括View A
我是一名优秀的程序员,十分优秀!