1
假設我有一個坐在視頻內存中的紋理,並且隱藏在這個紋理內的某個地方可能有一個或多個具有特定顏色的像素。在C++中,我想調用這個gltexture上的函數來檢查這種顏色的存在,並簡單地返回true或false。什麼是最快方式做到這一點?最快的方式來掃描特定顏色的gtexture?
假設我有一個坐在視頻內存中的紋理,並且隱藏在這個紋理內的某個地方可能有一個或多個具有特定顏色的像素。在C++中,我想調用這個gltexture上的函數來檢查這種顏色的存在,並簡單地返回true或false。什麼是最快方式做到這一點?最快的方式來掃描特定顏色的gtexture?
我想最好的性能/簡單比例是保留一個副本在CPU上,並測試每個texel,optionnaly與SSE。
你也可以做到這一點在OpenGL:
我不太確定這一點的表現,但它可能會以最快的速度在GPU端得到。請注意,雖然速度很快,但此方法存在滯後性:通常,您只能在1或2幀後才能獲得遮擋查詢的結果(儘管如此,您也可以忙於等待)。
+1比我的atomic_counter或計算想法更好。 – 2012-07-26 08:14:38
還不錯。我不知道遮擋查詢。我會試試這個! – SteveDeFacto 2012-07-26 08:16:23
@ChristianRau我不知道獲取atomic_counter值所需的時間。我想這與OQ是一樣的;你有關於這個的任何數字嗎? – Calvin1602 2012-07-26 08:23:57