0
假設我正在定義一個頂點結構。通過將頂點的RGBA顏色封裝到一個無符號整型中,我可以保持較小的頂點結構。因此:4浮點顏色比4字節顏色快嗎?
struct Vertex
{
float pos[3];
float normal[3];
float texcoord[2];
unsigned int color; // RGBA
};
然而,當頂點到達我的頂點着色器,它將被轉換成4-float值:在一個GLSL或vec4在HLSL一個float4。推測這種類型轉換在GPU上需要一些時間。
因此,將頂點的顏色屬性定義爲4浮點型會更快嗎,從而避免轉換?
...
float color[4];
...
或者將這種顏色的較大內存的大小使GPU緩存效率較低,導致慢渲染?
你試過了嗎? – harold 2012-04-10 17:01:31