raytracing

    0熱度

    1回答

    假設我們正在爲包含大量光滑,鏡像表面的宜家目錄渲染圖像。 該杯子將通過室內環境地圖與一個窗口,一個 定向燈和一個環境組件照亮。 (0,0)爲(φ= 90°,θ= 90°);點(-1,0,0)爲(φ= 90°,θ= -90°))。 攝像機位於(0,0,20),以向上方向(0,1,0)方向觀察(0,0,-1)。杯子以座標原點爲中心,高度爲10,半徑爲5.馬克杯的軸線與y軸對齊 。整個杯子可以在圖像中被

    0熱度

    2回答

    是否可以在GLSL中編寫着色器,以便將OpenGL轉換爲光線跟蹤器?像下面這樣。 glUseProgram(rayTracer); //than do anything you do in OpenGL normally glEnable(GL_LIGHT0); gl....//Set light parameters ... //Draw The theme glDrawArray(

    0熱度

    2回答

    我任務是優化下面的射線追蹤: void Scene::RayTrace() { for (int v = 0; v < fb->h; v++) // all vertical pixels in framebuffer { calculateFPS(); // calculates the current fps and prints it for

    0熱度

    1回答

    我正在寫射線追蹤。到目前爲止,我有漫反射和高光照明,我也計劃實施反射和折射。 到目前爲止,我已經使用了白光燈,在這裏我計算了這樣的表面顏色:surface_color * light_intensity,除以適當的距離^ 2值,因爲我使用的是點光源。對於鏡面反射,它是light_color * light_intensity。 Afaik,鏡面反射不會改變燈光的顏色,所以這也適用於不同顏色的光源。

    3熱度

    1回答

    我正在開發一種基於筆形射束方法的放射療法逆向規劃工具。這些方法中的一個重要步驟(特別是在劑量計算中)是來自許多來源的射線追蹤,最常用的算法之一是Siddon的算法(這裏有一個很好的簡短描述http://on-demand.gputechconf.com/gtc/2014/poster/pdf/P4218_CT_reconstruction_iterative_algebraic.pdf)。現在,我

    6熱度

    2回答

    我在寫射線追蹤器。到目前爲止,我有漫反射,布林照明和反射。我的折射出現問題,我不知道是什麼。我希望有人能幫助我。 我有一個很大的紅色diffuse + Blinn球體和一個折射率n = 1.5的小折射體。 小的只是真的搞砸了。 相關代碼: ReflectiveSurface::ReflectiveSurface(const Color& _n, const Color& _k) : F0(Col

    3熱度

    1回答

    我和一位朋友正在構建射線追蹤器,但我們遇到了問題,正如您在拾取中看到的那樣。 當我們使用vec3(0,0,0)的位置渲染球體時,它會將其渲染爲一個圓形,否則會延伸。 我們做錯了什麼? 我認爲最好是粘貼我們所有的代碼,這樣就可以了。我希望我評論它。 // 1| // RayTracer.glsl ~ A Raytracer that's being executed as Compute Shad

    1熱度

    2回答

    我目前正在寫一個路徑追蹤器。現在我想要實現光線 - 三角形的交集。所以我的三角形由三個點組成(v0,v1,v2)。我看了關於這個主題的其他帖子(Raytracing - Ray/Triangle Intersection)。可悲的是它不能正常工作,所以我想檢查問題是否在交叉點。這裏是我的兩個三角函數: public float intersect(Ray ray){ Vector3D e

    0熱度

    1回答

    我需要通過光線投射技術渲染Autocad模型(繪圖),這意味着場景中的所有可渲染對象。因此,我需要對模型進行三角測量以與光線三角形相交。有沒有辦法在模型中訪問三角形(因爲我認爲Autocad引擎可能會對模型中的所有對象進行三角化並渲染它們,不是嗎?)除了將文件導出爲.FBX或其他格式? .FBX的問題在於速度很慢(它將文件寫入兩次)。而其他格式顯然只接受實體而不接受網格。

    0熱度

    1回答

    好吧,所以加載器的異步行爲是什麼讓我失望。下面是我有: for(i = 0; i < 37; i++){ partLoader.load("parts/" + filename[i], function (geometry) { var partMesh = new THREE.Mesh(geometry, basicMat); partMesh.position