2015-07-04 69 views
2

我與X3DOM的第1次工作(雖然我做了很多VRML的回到了一天。爲什麼在X3DOM中不會紋理加載圖像?

我試圖用一個紋理圖像文件一個簡單的例子,但圖像從未負荷。這裏是我所看到的(使用Chrome版本43.0.2357.130米): enter image description here 圓圈永久旋轉,加載:1停留。在另一個文件上有同樣的問題(除了它有7個圖像,並且消息讀取「Loading: 7"

這裏是我的代碼: <!DOCTYPE html> <html> <head> <meta http-equiv='Content-Type' content='text/html;charset=utf-8'></meta> <link rel='stylesheet' type='text/css' href='http://www.x3dom.org/x3dom/release/x3dom.css'></link> <script type='text/javascript' src='http://www.x3dom.org/x3dom/release/x3dom.js'></script> </head> <body> <x3d width='500px' height='400px'> <scene> <shape> <appearance> <ImageTexture url="wood11.png"><ImageTexture/> </appearance> <box> </box> </shape> </scene> </x3d>
</body> </html>

的形象存在於nd存儲在同一個目錄下。爲什麼不會爲我加載圖像?

+0

如果您沒有使用正確的Web服務器,則無法加載紋理,因爲它們是通過XHR加載的。 – mistapink

回答

2

它適用於Mozilla Firefox,因此您可以在此處進行測試。
Chrome會引發安全異常,因爲服務器不提供圖像。

Uncaught SecurityError: Failed to execute 'texImage2D' on 'WebGLRenderingContext': 
Tainted canvases may not be loaded.image.onload @ x3dom.js:377 

你可以找到解釋here

和其他一些相關信息here

加載WebGL紋理受跨域訪問控制。 爲了讓您的內容從另一個域加載紋理,需要獲得CORS 批准。請參閱HTTP訪問控制以瞭解CORS上的詳細信息 。

+0

這是奇怪的事情。如果我把它放在網絡服務器上,它可以在Chrome上運行得很好,但是,我可以在同一臺機器上的Firefox中的examples.x3dom.org上查看幾個簡單的例子,我不能在Firefox中查看上面的例子。如果我只是在沒有服務器的情況下在本地嘗試,那麼我只會爲場景獲得一個空白的邊界框,而在網絡服務器中,我會得到一個填充黑色的邊界框。因此Chrome瀏覽器的核心問題得到了解決,有趣的事情仍在繼續(因此爲什麼是+1,還沒有被接受的答案)。 – ViennaMike

+0

你需要使用一個調試器(例如Firebug:https://getfirebug.com/downloads)來找出哪種情況是錯誤的。否則,它只是一個猜測... – CpS

+0

明白了。顯然,我的一些瀏覽器正在使用swf查看器,這是我沒有安裝在我的服務器上的,所以當我查看它們時,出於不同原因(swf文件和紋理位於不同主機上)出現了跨域問題我的託管網站。我今晚會解決這個問題。問題:現在真的很奇怪,我的家用IE瀏覽器加載了我正在工作的場景的紋理(比上面那個更復雜),但是有些對象不合適。我沒有在工作中使用IE瀏覽器,使用Chrome瀏覽器,使用Firefox或在iPhone上使用Safari瀏覽器。 – ViennaMike

1

你可以base64編碼你的紋理。

<ImageTexture url="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAMAAAAMCGV4AAAAA3NCSVQICAjb4U/gAAADAFBMVEUAAAAAADMAAGYAAJkAAMwAAP8AMwAAMzMAM2YAM5kAM8wAM/8AZgAAZjMAZmYAZpkAZswAZv8AmQAAmTMAmWYAmZkAmcwAmf8AzAAAzDMAzGYAzJkAzMwAzP8A/wAA/zMA/2YA/5kA/8wA//8zAAAzADMzAGYzAJkzAMwzAP8zMwAzMzMzM2YzM5kzM8wzM/8zZgAzZjMzZmYzZpkzZswzZv8zmQAzmTMzmWYzmZkzmcwzmf8zzAAzzDMzzGYzzJkzzMwzzP8z/wAz/zMz/2Yz/5kz/8wz//9mAABmADNmAGZmAJlmAMxmAP9mMwBmMzNmM2ZmM5lmM8xmM/9mZgBmZjNmZmZmZplmZsxmZv9mmQBmmTNmmWZmmZlmmcxmmf9mzABmzDNmzGZmzJlmzMxmzP9m/wBm/zNm/2Zm/5lm/8xm//+ZAACZADOZAGaZAJmZAMyZAP+ZMwCZMzOZM2aZM5mZM8yZM/+ZZgCZZjOZZmaZZpmZZsyZZv+ZmQCZmTOZmWaZmZmZmcyZmf+ZzACZzDOZzGaZzJmZzMyZzP+Z/wCZ/zOZ/2aZ/5mZ/8yZ///MAADMADPMAGbMAJnMAMzMAP/MMwDMMzPMM2bMM5nMM8zMM//MZgDMZjPMZmbMZpnMZszMZv/MmQDMmTPMmWbMmZnMmczMmf/MzADMzDPMzGbMzJnMzMzMzP/M/wDM/zPM/2bM/5nM/8zM////AAD/ADP/AGb/AJn/AMz/AP//MwD/MzP/M2b/M5n/M8z/M///ZgD/ZjP/Zmb/Zpn/Zsz/Zv//mQD/mTP/mWb/mZn/mcz/mf//zAD/zDP/zGb/zJn/zMz/zP///wD//zP//2b//5n//8z///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlenwdAAABAHRSTlP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG8mZagAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAEZJREFUCJljuA4CDCAAYYF5l0AALALEEB5YBMRHcEECYD5YA4hguA5nwghk5UTyYUJgk6/DBRjg9l0CuxdqP7r7MNyP4j8Akf+KwQMQ//UAAAAASUVORK5CYII="></ImageTexture> 
相關問題