簡單的說是可以自己指定呼叫function時的參數是否會在返回時複製到呼叫function的process
有三種modifier
- in -- 複製進function,不返回複製
- out -- 只在返回時複製,進入function時是未定義
- inout -- 複製進function且返回複製
in 可搭配 const,其餘不行,不指定時預設為in
範例如下
void ComputeCoord(in vec3 normal,
vec3 tangent,
inout vec3 coord)
給予normal , tangent與coord,呼叫後會返回複製coord
normal -> normal
tangent -> tangent
coord -> coord'
Ref:
http://en.wikipedia.org/wiki/Evaluation_strategy#Call_by_copy-restore
橘皮書 http://www.3dshaders.com/home/
沒有留言 :
張貼留言