raytracing

    0熱度

    2回答

    我正在寫一個射線跟蹤器在Java中,我試圖實現折射,但我對我在這個問題上找到的信息感到困惑。如果我有一個用於入射光線的三維矢量,那麼表面法線作爲三維矢量給出,並且這兩種介質的折射率是指我需要應用哪些操作才能獲得透射光線的矢量?

    3熱度

    1回答

    使用三角形網格進行光線跟蹤具有衆所周知的解決方案和大量資源。還有一種涉及光線追蹤與已知的參數公式,諸如表面的相關的問題: S(u,v) = (cos(u), sin(u), v) 其表示對準於Z軸的單元圓柱體。我的問題是:將光線追蹤應用於這種表面的最有效方法是什麼?一個顯而易見的解決方案是從公式生成近似網格,然後應用射線追蹤,但是我的問題是,是否存在針對這種特定情況的最適合的解決方案 - 特別

    2熱度

    2回答

    如果光線的定義由Ray = origin + t(direction)給出,那麼術語t假設代表什麼?找不到任何明確描述這些內容的教程。刺傷黑暗我認爲這可能是距離,但據我瞭解,如果這是用於射線追蹤這是否意味着t實際上是射線的起源與我檢查它是否與相交的平面之間的距離?

    9熱度

    1回答

    上學期我們不得不爲學校的課程開發光線跟蹤器。學校正在完成,我試圖用它來擺弄一下。 我想看看如果將所有浮點計算從雙精度浮點計算更改爲浮點精度(所有計算都使用雙精度來完成),會發生什麼變化。所以我改變了每個變量的類型爲float,並簡單地將從Math方法返回的每個double轉換爲float。在幾個場景中測試我的光線追蹤器顯示出相當不錯的性能提升。 在網上搜索我發現了各種原因,爲什麼float會更快,

    2熱度

    1回答

    我在3D空間中有兩個平面,如下所示。 「E」點上平面2表示從點「P」通過基準面1,並具有「S」的方向矢量的線的交點。設P爲平面1 哪些是「e」的點的座標(XE,咋,0)相對於它所屬(平面2)的平面的座標系統的邊緣,使用numpy的? 我有下列資料:每個平面的中心 座標相對於全球座標系中的「C」。 x = np.array([x1, x2]) y = np.array([y1, y2]) z = n

    1熱度

    1回答

    我能得到一個射線追蹤的啓動代碼的在線和啓動代碼有兩個「幾何圖形」: 類球體 類三角形 我明白三角形,因爲代碼使用三角形創建網格,並從每個像素獲取三角形與射線之間的交點。但是球體是如何發揮作用的? 所以我做了一些在線研究,其中很多人討論了三角形交叉和球形交叉。但我們如何在網格中使用球體?

    2熱度

    1回答

    我們一直在嘗試在WebGL中渲染3D雲域時進行大量工作。我們迄今採用的方法概述爲here - 每個射線的開始位置是體積立方體前面的當前位置,並且結束位置是根據前一遍計算的,該前一遍將xyx vales編碼爲背面質地。 當攝像機位於音量範圍內時,我們該如何擴展此功能?我們是否需要立即創建更小的體積立方體?我們能否改變着色器從攝像頭開始行進,而不是從正面進入,然後投影到立方體的背面? 我們不確定從哪裏

    0熱度

    2回答

    我在X-Y網格上有一個曲面Z,爲此我想用一條線找到交點。我至今使用該代碼尋找交集: x_ray = x_source + t * x_dir y_ray = y_source + t * y_dir z_ray = z_source + t * z_dir height_above_plane = @(t) z_source + t * z_dir - interp2(X, Y, Z, ..

    0熱度

    2回答

    我想跟蹤由長時間運行的光線追蹤過程處理的總像素和光線。如果每次迭代都更新共享變量,則由於同步,進程會明顯減慢。我想跟蹤進展情況,並在最後獲得準確的計數結果。有沒有辦法使用OpenMP進行循環? 這裏是有問題的循環的一些代碼: void Raytracer::trace(RenderTarget& renderTarget, const Scene& scene, std::atomic<int>&

    0熱度

    1回答

    所以我想寫一個光線追蹤器作爲個人項目,並且我已經獲得了基本的遞歸,網格幾何和光線三角形交集。 我試圖從中得到一個合理的圖像,但遇到所有像素行相同的問題,給我直線垂直線。我發現從相機功能生成的所有像素位置在y軸上都是相同的,但是在這裏找不到我的向量數學的問題(我也使用我的頂點結構作爲向量,它的惰性我知道): void Renderer::CameraShader() { //comput