我正在通過threejs處理粒子,並且我在不同的設備上得不到相同的結果。在其他屏幕上,點的尺寸看起來更小,與我的智能手機相同,只有垂直方向。雖然我在幾個不同的屏幕上看到了這個問題,但我只用筆記本電腦+智能手機測試了以下實驗。gl_PointSize隨devicePixelRatio更改?
左:正確的期待與實際的代碼對我的水平方向的智能手機屏幕的某些&。對:不正確的外觀與其他屏幕上的實際代碼&我的智能手機在垂直方向。
我首先想到它有事情做,在我的智能手機有兩種取向window.devicePixelRatio
但alert(window.devicePixelRatio)
打印相同數量(3
),雖然渲染僅在水平一個正確的。
我試圖進一步:
renderer.setPixelRatio(window.devicePixelRatio)
:效果圖在兩個方向顯示的3倍更小的尺寸,並且仍然是不同的。通過
window.devicePixelRatio
向頂點着色器寫入類似gl_PointSize*=devicePixelRatio
的東西,除了之前的想法之外,還將此大小問題返回到其初始狀態。
如何讓顆粒在每個屏幕上看起來都一樣?
在http://codepen.io/Astrak/pen/BoBWPB