raytracing

    6熱度

    1回答

    我目前正在編寫光線跟蹤器。我想知道如何將原色與淺色混合。 我見過很多組合。 有些只是添加了兩種顏色。這給了我非常奇怪的結果。 一些mutiply每個組件。它看起來不錯,但是在原始圖像中是藍色({0,0,1}),光線是紅色({1,0,0}),它只是黑色。這是正常的行爲嗎? 我也看到了對我來說更符合邏輯的屏幕混合模式(屏幕(C1,C2)= C1 + C2 - C1 * C2)),因爲在上述情況下,顏色

    5熱度

    2回答

    從我收集到的他使用稀疏體素八叉樹和光線投射。似乎他沒有使用opengl或direct3d,當我看着遊戲Voxelstein時,看起來微縮立方體實際上是被繪製的,而不是僅僅是一堆2d的正方形。這引起了我的警惕,我不確定他是如何在沒有opengl或direct3d的情況下這樣做的。 我試圖通讀源代碼,但我很難理解發生了什麼。我想實現類似的東西,並希望算法這樣做。 我對他如何進行渲染,剔除,遮擋和照明感

    0熱度

    1回答

    我在http://www.devmaster.net/articles/raytracing_series/part1.php學習射線追蹤,當我遇到這一段代碼來: void Engine::InitRender() { // set first line to draw to m_CurrLine = 20; // set pixel buffer address of first pix

    5熱度

    2回答

    我正在爲教育目的構建一個簡單的射線追蹤器,並且想要將折射添加到對象。使用斯涅爾定律,我可以在交點處遞歸地創建新的射線。光線追蹤器目前僅支持球體,而我使用的場景是多個球體以不同的折射率嵌套在一起。 如果我從球體外部開始射線,一切似乎都很簡單。您從場景的折射率開始,一旦碰到第一個球體,就會使用之前的折射率和球體材料的折射率折射射線,直到您碰到下一個球體爲止,依此類推。使用交點的法線我可以確定是否進入或

    1熱度

    2回答

    我正在研究程序,演示各種鏡頭如何工作,並且我需要一個2D ray tracing 2D庫或算法。 我搜索了光線追蹤,主要發現了用於創建3D場景的東西,而我的要求是一個簡單的交互式鏡頭模擬。 因此,歡迎使用2D射線追蹤算法或庫的任何一點。我正在使用Python。

    0熱度

    4回答

    我有一個奇怪的問題與指針。我正在建立一個光線跟蹤KD樹,並在BuildKDtree函數打印根 - >左和右 - >右,我得到正確的值用於存儲在節點上的各種屬性。 當我完成該代碼,然後嘗試使用原始根指針遍歷樹時,root-> left和root-> right值包含垃圾和代碼崩潰! 任何有關可能導致此問題的建議? 如果需要,我可以粘貼代碼,但它很笨拙。

    4熱度

    3回答

    幾年前在uni我用C++寫了一個光線跟蹤器,但現在我幾乎不記得任何它。爲了好玩,我決定再次嘗試使用C#編寫光線追蹤器。但遺憾的是,我正在努力從攝像頭座標轉換到世界座標。 任何人都可以推薦我一套很好的從頭開始寫射線追蹤器的教程嗎?我的數學知識是非常基礎的,所以我需要重新學習矩陣乘法,以計算出屏幕上的點在3D空間中的位置,以便通過它投射光線。 與形狀和陰影部分的交集我認爲我可以解決,但我需要回到基本的

    6熱度

    2回答

    我想使用.obj格式,但我注意到它沒有材質類型的表示,即不透明,透明,反射。是否還有一個包含該信息的通用文件格式,或者我應該只使用已知的.obj格式並進行更改,以便它包含該信息?

    4熱度

    2回答

    Hey all, 我目前正在將FORTRAN 77的光線追蹤器移植到C進行研究項目。 移植基本要素後,問題是我們如何進行並行化。 在實驗室中,我可以訪問兩個不同的Opteron機器,其中有2到8個內核,但沒有GPU(現在)。 我們正在運行64b gentoo。 一個GPGPU版本將是(非常)可取的,但只有一個程序員在項目上,保持單獨的非GPU和GPU版本不是一種選擇。 此外,該代碼將被GPLed,

    8熱度

    3回答

    我知道kd-tree傳統上用於存儲點,但我想要存儲行。將kd-tree分裂的每個交叉點分割線最好嗎?或者只是將端點存儲到kd中就足以用於最近的鄰居發現?