raytracing

    0熱度

    1回答

    我的光線跟蹤程序存在一些問題。我使用的初始代碼來自YouTube教程 - https://www.youtube.com/watch?v=k_aRiYSXcyo(關於光線追蹤的caleb穿透教程)。 我然後重新制成在main.cpp中的代碼轉換成使用Visual Studio一個面向對象的代碼。 點是封裝函數和計算,以便然後爲使用的OpenMP(在Visual Studio)或(在Visual S

    0熱度

    1回答

    我想學習多重採樣(MIS),我需要基於每種採樣技術的PDF計算樣本的權重。我瞭解BRDF的PDF文件,以及基於光線半徑擊中特定球形光的PDF文件。但是對於網狀發射器,我如何計算擊中發射器的PDF?它只是三角形的立體角嗎?

    0熱度

    1回答

    我正在寫一個簡單的路徑跟蹤器,我想用OpenGL進行預覽。 但是,由於OpenGL管道使用投影矩陣,因此使用OpenGL和Path跟蹤渲染的圖像有點不同。 對於OpenGL渲染我使用基本的管道,在最終變換矩陣是: m_transformation = PersProjTrans * CameraRotateTrans * CameraTranslationTrans * TranslationTr

    1熱度

    2回答

    定向半球反射率是出射到入射輻照的比率。它用於估計節能程度 R(l) = exitance/irradiance 我可以理解BRDF和R(l)之間的關係。 BRDF是針對特定的視角。所以分子是光輝的。 R(l)可以通過在所有觀看方向上整合brdf來獲得。 R(l) = integral(brdf(l, v) * cos(theta0) * dw0) theta0是N和V之間的角度 我的問題是

    0熱度

    1回答

    我正在嘗試開發一個簡單的光線追蹤器,並且獲得了球體,平面和圓錐體,但我面臨的問題是無法包裹頭部。 我嘗試了無限圓柱體的幾種不同的公式,並且所有那些應該考慮旋轉的人使得當使用不是0或1的旋轉並且僅在一個軸上時「退化」...例如: 0,0,1的作品,但0,0,0.5給我一個橢球體和0,1,1給我一個雙曲面... 這裏是我用來與射線相交的代碼。 enum e_bool test_intersect(do

    3熱度

    2回答

    我正在研究傳統的Whitted光線追蹤,並嘗試插入三角形表面,好像它是凸面而不是平面。 這個想法是一旦重心點p的重心座標(u,v)是已知的,將三角形看作參數表面s(u,v)。 這個表面方程應該使用三角形的位置p0, p1, p2和法線n0, n1, n2來計算。 命中點本身作爲 p = (1-u-v)*p0 + u*p1 + v*p2; 計算,我發現三種不同的解決方案至今。 解決方法1.投影

    1熱度

    1回答

    我寫了一個光線追蹤程序(目前)有兩個表面照明選項:環境和反射。環境照明覆制自然表面如何散射光線。反射明顯地重現了鏡子如何反射光線。一切工作正常,但我無法弄清楚如何混合顏色與光澤反射。 反射算法返回一個顏色並遞歸地工作。光線是以參數化線的形式「投射」的。當他們擊中反射表面時,他們完美地反彈(以及我的工作方法)。然後將這些反射光線用作再次調用反射算法的參數。這一直持續下去,直到當前光線遇到環境(非反射

    -2熱度

    1回答

    我目前正在編碼我自己的學校raytracer,並且在設置我的相機時遇到了一些問題。 我知道我的相機(CX,CY,CZ) ,我知道它在哪裏看(LX,LY,LZ) 我需要將這些數據轉換: 在我的相機(cX,cY,cZ) 及其旋轉X和旋轉Z 我不是那麼好的數學,如果你們中的一些人可以給我 有點幫助嗎? 非常感謝你!

    2熱度

    1回答

    我遇到了一個問題:我讀了一個帶有C++代碼的article on scratchapixel光線跟蹤。 C++沒問題。我試圖將它轉換成Python,它工作(結果減慢17倍,分辨率降低4倍)。我試圖將其轉換爲C#,但我的代碼無法正常工作。只有我能看到的是一張空白的800x600圖像。請參閱以前鏈接的C++代碼文章。 這是我對它的解釋爲C#代碼: using System; using System

    0熱度

    2回答

    stackoverflow。我用C#編寫了一個應用程序(一個raytracer)。問題不在於raytracer,而在於ray的使用。隨着時間的推移,應用會持續消耗更多的內存 RAM的使用,而不是光線追蹤:開始10MB爬呀爬 拉姆usege而光線追蹤:開始80MB然後120MB及以上,如果分辨率是大 這個數字高達500MB。 我看着VS診斷工具,並看到應用程序垃圾收集就像10分鐘在1 gc。這個數字