Using sampler states

記錄下一些寫 Shader 上的知識點。

由於在製作寫地板 Shader 的時候 ,時常會使用到 SplatTexture 配合多張貼圖(筆刷)的混合處理,因此會需要多張貼圖(筆刷)的採樣 (samplers)

但是在單個 Shader中 ,採樣器(samplers)則會有使用上的上限。(例如,Direct3D 11 允許在單個著色器中使用最多 128 個紋理,但最多只能使用 16 個採樣器。)

因此可以使用 Unity 提供的 Using sampler states ,來達到貼圖採樣器的共用來達到節省 採樣器 (samplers)的使用。而且多個採樣器(samplers)的使用也會造成運行上的下降。

另外,要節省採樣器(samplers)的方式還可以使用 TextureArray 等方式來達到。後續有機會再記錄下。 
由下圖中可以看到採樣器(samplers)在使用 sampler states 之後從原本的6個減少為2個,並且由於減少了採樣器,進而提升shader的運行性能。



留言

這個網誌中的熱門文章

Stencil Portal Effect

Rain Drop

Universal Render Pipeline 14