我在OpenGL(current)中編寫了一個Starmap,但由於星星的距離是天文距離,所以它們會將near/far設置變得太大。這些旨在成爲真正的恆星的準確可視化。我試圖在經過投影矩陣後重新調整頂點着色器中點的z值,但由於透視分割,我仍然讓它們移動。是否有辦法重新調整Z以適應較小的近/遠範圍,而不必在透視圖中進行x/Y變化?我能用W座標來做些什麼嗎?請注意,星星只是一組點。在opengl中重繪z座標
0
A
回答
1
完全有可能在無窮遠處有遠平面。 GLM庫提供了一個函數infinitePerspective
爲這些用途創建適當的投影矩陣。谷歌搜索「投影矩陣無限」產生了很多關於這個話題的文章。
+0
問題是,我在看地球和衛星,並且希望具有正常的視角(例如30-45度FOV),並且具有10萬公里的遠距離。我可以同時做兩個,或者我需要使用2個不同的投影矩陣(1個用於恆星,1個用於其他所有投影矩陣) –
+1
@DanHewett:你可以在一個單一的投影矩陣中做兩個投影矩陣,一個有限的近距離和一個無限遠的距離平面。這如何工作?設想(或實際繪製)函數f(x)= 1/x'。設想近平面被映射,使得x(near)= 1'和'x(far→+∞)→+∞'。正如您可以看到'[near,+∞['得到的深度緩衝區值在'] 0,1]'範圍內的整個值範圍,這正是您想要的。 – datenwolf
相關問題
- 1. OpenGL glViewport()(重置座標)
- 2. openGL中的座標
- 3. 在OpenGL在繪圖時轉換像素座標到標準化的座標3.0
- 4. 在OpenGL中繪製一條座標以像素爲單位的座標線
- 5. Android opengl座標
- 6. OpenGL Ortho座標
- 7. 在OpenGL中設置繪圖的座標系
- 8. 在OpenGL Android中繪製紋理從0,0座標
- 9. 在座標(x,y)上用顏色繪製(x,y,z)三元組z
- 10. 功能繪製的X,Y樹狀圖,Z R中的座標
- 11. OpenGL中的頂點座標
- 12. OpenGL ES中的座標
- 13. OpenGL:任何頂點Z座標都必須爲負數嗎?
- 14. OpenGL:如何設置頂點z座標爲正數量?
- 15. 當我更換Z座標(OpenGL)時不顯示對象?
- 16. OpenGL座標轉換
- 17. OpenGL座標問題
- 18. openGL像素座標
- 19. OpenGL翻譯 - 座標
- 20. OpenGL 2.0 ES座標
- 21. OpenGL絕對座標
- 22. OpenGL屏幕座標
- 23. OpenGL座標和剪刀座標
- 24. 邏輯座標到設備座標Opengl
- 25. OpenGL座標映射到設備座標
- 26. OpenGL座標匹配屏幕座標?
- 27. OpenGL場景座標到屏幕座標
- 28. 在OpenGL中將窗口座標轉換爲軸座標
- 29. OpenGL的標準化座標
- 30. Z階曲線座標
不是一個直接的答案,但你可能想讀這個:http://outerra.blogspot.fr/2012/11/maximizing-depth-buffer-range-and.html – Calvin1602