2011-10-09 32 views
0

我在擺脫WP7 XNA應用程序中的工件時遇到了一些問題。在弄清楚如何使用EnvironmentMapEffect創建和加載TextureCube並渲染對象之後,我注意到在對象上呈現的反射中出現了工件。它看起來像我正在使用的立方體紋理使用包裝紋理地址模式,而不是鉗位紋理地址模式。WP7環境立方體貼圖上的紋理地址模式神器

奇怪的是,問題只出現在設備上(LG Optimus 7),模擬器沒有這個問題。

有誰知道這是一個錯誤,還是我做錯了什麼?

我在我的設備上附加了「鏡頭拍攝」問題。 < < reflection artifact >>

+0

您是否設置SamplerState? graphics.GraphicsDevice.SamplerStates [0] = SamplerState.LinearClamp; – 2011-10-09 16:03:36

+0

是的,即使在設置採樣器狀態之後,結果也是一樣的。無論如何都需要在EnvironmentMapEffect上設置紋理,否則對象將顯示爲黑色。我創建了一個1x1的白色紋理,讓它看起來就像你在屏幕截圖中看到的一樣。恐怕設置SamplerState只會影響此紋理,而不會影響環境立方體貼圖。 – CosminB

回答

0

似乎環境立方體貼圖採用集合中的第二個SamplerState。現在它也可以在設備上運行,使用Scott建議的,但在第二個索引上:

// clamp texture addressing for environment map 
_effect.GraphicsDevice.SamplerStates[1] = SamplerState.LinearClamp; 
+0

任何人都可以提出一些關於WP7環境立方體貼圖的文檔嗎?我在這方面發現的信息非常少,大部分與建立立方體紋理有關(這並不容易,我發現它也很有用)。例如,我遇到的另一個問題是旋轉使用環境立方體貼圖呈現的球體會呈現出搖擺不定的圖像,這在OpenGL中我不記得。 – CosminB