2014-04-17 23 views
1

我試着通過比較grabFrameBuffer()生成的兩個QImage來嘗試對我的渲染引擎進行單元測試。2臺電腦之間的OpenGL繪製差異

它適用於我的筆記本電腦(Mac OS 10.9.2非視網膜)和我的同事筆記本電腦(這是視網膜)完美。但是,當我嘗試運行測試Travis-CI時,它會生成圖像,但距離我生成的圖像有差異±5%。

我使用Qt 5.2.1,不要猶豫,要求任何更多的信息

+0

這個diff是否值得擔心?所有你需要的好圖形足夠好 –

+0

@ratchetfreak問題是我無法自動找到這個小差異是目前的一種(神器的種類)還是來自一個錯誤 –

+0

[GPU供應商之間的OpenGL確定性渲染](http://stackoverflow.com/questions/7922526/opengl-deterministic-rendering-between-gpu-vendor) – genpfault

回答

3

了OpenGL規範(Appendix A, "Invariance", page 600)的不變性的要求只有一個實現中應用,在各個實現:

OpenGL規範不是像素精確的。因此,不保證由不同的GL實現產生的圖像之間精確的 匹配。然而, 規範確實指定了精確的匹配,在某些情況下,通過相同的實現爲 生成的圖像。

+0

任何來源...?只是爲了確定:) –

+0

@ꜱᴀᴍᴏᴛʜ:編輯參考規範+報價。 – genpfault

+0

那麼,我再次做了我的數學,我發現±5%的差異像素...它仍然是*正常*? –