計算機圖形學

計算機圖形學研究人員和程序員的問答

7
將虛擬相機與物理相機匹配
說我有一個場景的照片,以及部分場景的尺寸(例如,我知道牆壁尺寸的房間)。假設是直線鏡頭,我將如何設置虛擬相機,以便像在物理場景中一樣渲染3D對象?...
 

10
光線追踪中如何處理體積效應?
光線跟踪器如何渲染諸如煙,霧或云之類的體積效應?與實體對像不同,它們沒有定義明確的曲面來計算交集。...
  

7
異形燈如何工作?
我知道如何編程方向燈,點光源和射燈。有時候,人們會看到形狀類似桿形或環形的燈光。從基於射線或光柵化的角度來看,這是如何工作的?...
 

9
模擬Young的雙縫實驗
Young's double slit experiment的設置非常簡單,也很容易解釋,但這是衍射和乾涉的一個示例,這兩者都不是通過常規光線跟踪建模的。使用紋理渲染結果的近似值很簡單,但這需要事先知道結果應該是什麼。對於任意裝置,在事先...
   

44
高斯模糊如何實現?
我讀過,模糊是在實時圖形中通過在一個軸上然後在另一個軸上完成的。我過去在1D中做過一些卷積運算,但是我對它不十分滿意,也不知道在這種情況下到底要進行哪些卷積運算。任何人都可以用簡單的方式解釋圖像的2D高斯...
  

11
修改紋理(在其上繪畫)是否被視為"狀態更改"?
圖形中的約定是,執行較少的狀態更改比執行較多的狀態更改(切換著色器,綁定緩衝區,綁定紋理等)更好。對於紋理,使用單個地圖集(用於渲染精靈/文本)渲染許多多邊形要比為每個多邊形單獨綁定新紋理要快。如果我...
  

21
為什麼對於圖形API,線程安全如此重要?
Vulkan和DirectX12都被認為可以以線程安全的方式使用。人們似乎對此感到興奮。為什麼這被認為是一個如此巨大的功能?無論如何, 真實的 處理被扔到了單獨處理單元上的存儲橋上。如果太大,為什麼直到現在才出現線程安全的...
   

17
如何調試在OpenGL中渲染到幀緩衝區對象的內容?
我有一個點雲正在渲染到屏幕上。每個點都有其位置和顏色以及ID。我被要求將每個點的ID渲染到紋理,因此我創建了FBO並附加了兩個紋理,一個用於顏色,一個用於深度。我為此屏幕外渲染創建了必要的VAO和VBO,並為每個點上...
  

13
同步連續的OpenGL Compute Shader調用
我有幾個需要按一定順序執行的計算著色器,它們的輸出取決於以前的輸入。理想情況下,我永遠不需要在客戶端複製緩衝區並在GPU上完成所有工作。考慮一下,我編譯並鏈接了兩個計算著色器,分別為program_one和program_two。假...
   

9
使用所有可用的紋理單位是否是一種好習慣?
在將多個紋理應用於網格時(例如凹凸貼圖),我通常將紋理綁定到前幾個固定紋理單元,例如:diffuse = unit 0,bump = unit 1,specular = unit 2,然後繼續重複使用那些到每個具有不同紋理的不同網格。但是我一直想知道為什麼glActive...
  

12
光能傳遞VS光線追踪
輻射度基本上可以實現以下目的: 在Cornell University about Radiosity的教程中提到: A ray-traced version of the image shows only the light reaching the viewer by direct reflection -- hence misses the color effects. 但是在Wikipedia中: Radiosity is a global illumination alg...
    

10
我可以僅使用單點重力來跟踪重力透鏡嗎?
我想通過距離較遠的星系的鏡頭效果來模擬距離較遠的物體的放大倍數。我需要對大量的點質量進行建模還是僅憑一個平均點質量就可以擺脫?我可以看到如何使用hyperbolae對受單點質量影響的射線進行光線追踪,但是我不知道...
 

14
所有基於網格的噪聲都不可避免地是各向異性的嗎?
我也對這如何適用於更大數量的尺寸感興趣,但是對於這個問題,我將只關注2D網格。 我知道Perlin噪聲不是各向同性的(方向不變),下面的正方形網格顯示出來足以識別其方向。單純形噪聲對此有所改善,但是其下面的等邊...
  


11
如何使我的冰塊看起來真實?
我可以將冰塊建模為具有水折射率的稍微變形的透明立方體,但是看起來並不令人信服。它們看起來像玻璃塊而不是冰。看看真正的冰塊,我可以直觀地描述一些差異,但是我不知道要更改哪些物理屬性以匹配它們:冰塊是濕的...
   

6
如何為不斷移動的對象創建邊界體積層次結構?
我希望能夠實時渲染大量小型獨立移動的對象。它們可能會以類似蜂群的方式移動,但是它們的相對位置不會保持一致-它們的位置在蜂群內可能會發生任意變化,並且蜂群可能會在任何時候分解和變形。哪種方法構建邊界體積...
  

13
什麼時候應使用四元數來表示3D中的旋轉和縮放?
四元數(複數的二維擴展)可用於表示3D向量的旋轉和縮放,並且將四元數應用於3D向量涉及兩次四元數乘法,因此與通過相應四元數相乘相比,所需操作更少轉換矩陣。但是,通常改用線性和仿射變換矩陣,尤其是在著色器代...
 

8
在水底渲染霧
我知道glFog,它會根據到相機的距離在霧和表面顏色之間融合,像這樣: 方程甚至在docs中給出。但是霧氣會立即施加在相機前面。我正在嘗試渲染水面並希望它具有一定深度,例如: 目前,我僅使用alpha混合渲染水面,如下所...
   

6
如何使用3種以上原色進行分色
如果有三個以上的原色或原色不標準,如何進行分色。在標準CMYK轉換中,K在概念上相對容易確定。它只是所有通道的恆定值。例如,如何構造CMY +橙色。或在帶有紅色,黃色,藍色和紫色的led陣列的情況下。一個人將如何解決...
   

7
可以為網格多屏幕圖像使用多個GPU嗎?
在3×3或5×5(例如)堆疊屏幕的陣列上渲染超高分辨率圖像是否現實?我可以通過組合幾個不同的GPU來做到這一點,還是唯一的方法是在每個屏幕上使用一個GPU並簡單地劃分要渲染的圖像?理想情況下,我希望使用的GPU數量少於...
 

Next page