2019年1月28日 星期一

Electron搭配WebGL使用的Bug

Electron搭配WebGL使用的Bug

前言

  最近使用Electron搭配WebGL後發生了問題,在此做個紀錄,方便日後追蹤。

內容

  在Electron使用WebGL2.0的Sampler object功能時發現無法正常工作,在Chrome71(Win64)版本時可以正常工作,但換成是Electron後就沒法正常工作,以下為Electron的版本資訊
node 10.11.0, Chrome 69.0.3497.106, Electron 4.0.1

sampler object的設定如下
glSamplerParameteri(samplerObject , GL_TEXTURE_WRAP_S, GL_REPEAT);
glSamplerParameteri(samplerObject , GL_TEXTURE_WRAP_T, GL_REPEAT);
glSamplerParameteri(samplerObject , GL_TEXTURE_WRAP_R, GL_REPEAT);
glSamplerParameteri(samplerObject , GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glSamplerParameteri(samplerObject , GL_TEXTURE_MIN_FILTER, GL_NEAREST);

設定完後,顯示沒有Mipmap的Texture時,會發生顯示全黑的圖片,推測是沒產生Mipmap而造成的,但GL_TEXTURE_MIN_FILTER的參數是GL_NEAREST,不應該去取Mipmap值!目前解決的方法是用WebGL1.0的方法來設定Texture的參數,這樣可以正常工作,若忘記WebGL1.0的方法可以參考關於SamplerObject

2019/08/02 更新

  更新到 Electron6 後,可以修正這個問題,更新後的Electron的版本資訊
node 12.4.0, Chrome 76.0.3809.88, Electron 6.0.0

相關文章

關於SamplerObject

沒有留言:

張貼留言