我在WebGL中進行音量光線投射的應用程序已經快完成了。但是我發現了一個問題。 我必須通過2D紋理來模擬3D紋理。這不是問題。我從小片創造出一個巨大的質感。巨大的紋理尺寸約爲4096x4096px。問題是,在一些例子中(這取決於切片的數量)正在創造某物。就像在圖像的下方(我填充巨大的紋理白色是更可見的片段)。紋理不生成有效(可能)
我知道條紋的那NUM依賴於龐大的質地行NUM。我生成的這個紋理接近4096x4096px(但不完全)。它可能是4080x4060等。我認爲,問題是,Three.js將我的紋理加載到GPU,但不要縮放到4096x4096 ..因此,我正在閱讀紋理邊界上的片段着色器黑色,因爲webgl僅適用於平方紋理(512x512,1024x1024 ...等)。它在渲染圖像中造成黑色條紋。
問題是,我的Three.js應用程序不支持WebGL Inspector ..所以我不確定。
任何想法如何解決這個問題?
謝謝。
托馬什
編輯:
好吧,我已經找到problem..and 「解決方案」 ......但解決方案沒有工作好。我有2個數據集。 一個是好的,第二個仍然是一樣的錯誤。代碼
2種變體(一個數據集而不是第二個每一個正常工作):
一)
dx = mod(slice, numColsInTexture)/numColsInTexture;
dy = 1.0 - (floor(slice/numColsInTexture)/numRowsInTexture);
二)
dx = 1.0 - (mod(slice, numColsInTexture)/numColsInTexture);
dy = (floor(slice/numColsInTexture)/numRowsInTexture);
我真的不知道,爲什麼它不適用於這兩個數據集...我試圖轉儲GPU(WebGL檢查器)。這兩種紋理都在GPU上加載有效(方向相同,尺寸相同)。一切都是一樣的。
請幫助我....謝謝。
我知道這是一箇舊的帖子,但你讓它正常工作? 您的應用程序可以在任何地方使用嗎?我很想看看。 最好 – Nicolas
嗨,你可以看到它: https://www.youtube.com/watch?v=tVCJUmnxvIs – Xrew
好東西!這看起來非常好!代碼是否是開源的?如果是這樣,你分享它很好嗎? – Nicolas