簡體   English   中英

在瀏覽器中加載浮點圖像並將其用作WebGL中的紋理

[英]load floating point images in browser and use them as textures in WebGL

我需要在紋理中存儲一些(經度=紅色,緯度=綠色,時間=藍色,天= ALPHA)信息,然后在共享數據片段的片段中進行一些查詢。 所有值均被標准化[0,1]。

我正在使用Java創建PNG文件,但是有一種方法可以創建浮動PNG文件並將其加載到瀏覽器中。

我以為將它們讀取為二進制文件,但我對Web技術還不是很熟悉。 我為此感到抱歉。

另一個想法是使用2個通道,這樣我將具有16位精度。 我想這會使事情復雜化,該原型的截止日期為12月15日。

到目前為止,我可以解決所有問題,並在解決此問題后更改webGL中的紋理格式。

據我所知,沒有瀏覽器支持浮點紋理-> WebGL。 Safari是唯一可以加載浮點紋理的瀏覽器,並且僅以TIFF格式加載Safari,但我認為它不會將浮點紋理作為浮點數據傳遞到WebGL。

我知道的唯一方法是讓您自己解壓縮數據,然后使用gl.texImage2D(target, level, internalFormat, width, height, 0, format, gl.FLOAT, someFloat32ArrayBufferYouMade)

如何填充數組緩沖區取決於您。 您可以編寫自己的PNG解壓縮器(我不知道PNG支持的float)。 如果您是我,那么我將只使用未壓縮的二進制文件,並使用XHR二進制請求進行下載,以使某些功能正常運行。 然后,您可以稍后進行壓縮和解壓縮。

使用2個或更多通道以獲得更高的分辨率而不使用浮點紋理的想法也是常見的解決方案。

是的,我設法使所有內容都可以與XMLHttpRequest一起使用。 我將來自Brightkite的420萬條記錄存儲在2k x 2k浮點紋理中( https://snap.stanford.edu/data/loc-brightkite.html )。 我也想使用數據集中的負值,但我想歸一化的值對於原型來說很好。

我讀過一篇文章,如果我使用LUMINANCE,我可以存儲負值。 我將在星期三之后檢查此內容,因為那天我有一個期中考試。

我將文件存儲為二進制文件,到目前為止效果很好。 現在該開發查詢了。

感謝幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM