我遇到過幾種情況,聲稱GLSL中的點積最終會在一個週期內運行。例如:GLSL - 點產品真的只需要一個週期嗎?
頂點和片段處理器上四向量進行操作,執行四組分指令,如加法,乘法,乘法 - 累加,或點積在一個週期。
http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter35.html
我也看到在評論索賠某處:
dot(value, vec4(.25))
將是一個更有效的方式來平均水平的4個值,相比於:
(x + y + z + w)/4.0
再一次,聲明是點(vec4,vec4)將在一個週期中運行。
我看到ARB says that dot product (DP3 and DP4) and cross product (XPD是單個指令,但是這是否意味着那些在執行vec4添加時就像計算上一樣昂貴?在這裏,基本上有一些硬件實現,沿着類固醇乘法積累的方式嗎?我可以看到這樣的東西在計算機圖形學中是有用的,但是在一個循環中做什麼可能是他們自己聽起來很多的一些指令。
好吧,謝謝。 「你不應該認爲ARB組件與實際的硬件機器指令代碼有任何關係。」基本上是我所希望的簡明答案。這看起來像ARB是一個有利可圖,很難找到很多有關Google的材料。這是我似乎無法證實的那些「部落知識」類型的事情之一,事實上這一段時間的事實是合理的。很酷的東西。 – ultramiraculous