compute-shader

    4熱度

    2回答

    我最近一直在玩計算着色器,我試圖確定最佳的方式來設置我的[numthreads(x,y,z)]和調度調用。我的演示窗口是800x600,我每像素啓動1個線程。我正在執行2D紋理修改 - 沒有太重。 我的第一次嘗試是指定 [numthreads(32,32,1)] 我派遣()調用總是 Dispatch(ceil(screenWidth/numThreads.x),ceil(screenHeigh

    0熱度

    1回答

    我想寫一個延遲的平鋪渲染器符合用於BF3的一個DICE,我要麼不理解我在做什麼,要麼GLSL在我身上拉快一個。 內核的第一部分是計算每個瓦片的最大和最小深度,我正在用這個代碼進行處理。 #version 430 #define MAX_LIGHTS_PER_TILE 1024 #define WORK_GROUP_SIZE 16 struct PointLight { vec

    4熱度

    1回答

    我有一個計算着色器和C#腳本,它與它一起用於修改y軸上的頂點數組,足夠簡單,足以清除。 但是,儘管它運行良好的着色器似乎忘了我的形狀的第一個頂點 這裏是C#類(除非那個形狀是一個封閉的體積?)事實: Mesh m; //public bool stopProcess = false; //Useless in this version of exemple MeshCollider coll;

    2熱度

    1回答

    我在計算着色器中的GPU上進行數組索引時出現問題,並且我堅持了數週。 我試圖使用SV_DispatchThreadID的x值作爲我的粒子數組的索引(正如它在Web上的一些示例中所示)。 它正在工作...但threadID變量(在主函數中)總是返回0,3,6,9,12,15 ...不是0,1,2,3,4,... 我在CPU端的調度調用是:調度(64,1,1); 我已經嘗試了許多配置的調度(32,16

    2熱度

    1回答

    使用所有要呈現的對象時,我使用glDrawElements。然而,我對Compute Shaders的冒險給了我一個使用glDrawArrays的設置。與許多違反該主題的人一樣,我使用這個PDF作爲基礎。問題是渲染時什麼也沒有顯示。 #include "LogoTail.h" LogoTail::LogoTail(int tag1) { tag = tag1; needLo

    2熱度

    1回答

    有人可以告訴我DirectX 11是否可以使用以下計算着色器? 我想要一個Dispatch中的第一個線程訪問緩衝區(g_positionsGrid)中的元素來設置(比較交換)該元素與臨時值來表示它正在採取一些行動。 在這種情況下,臨時值爲0xffffffff,第一個線程將繼續運行,並從結構化追加緩衝區(g_positions)分配一個值並將其分配給該元素。 因此,目前爲止所有罰款,但調度中的其他線

    0熱度

    1回答

    我有以下用於計算景深的計算着色器代碼。但是,非常不尋常的是,即使g_rayCount爲10,循環也只執行一次。請查看for循環所在的主函數raycastercs。 //-------------------------------------------------------------------------------------- // Compute Shader //-------

    1熱度

    1回答

    我一直在嘗試實現基於計算着色器的粒子系統。 我有一個計算着色器,它使用帶有D3D11_BUFFER_UAV_FLAG_COUNTER標記的無人機構建粒子的結構化緩衝區。 當我添加到這個緩衝區時,我檢查這個粒子是否有任何複雜的行爲,我想過濾並在單獨的計算着色器中執行。例如,如果粒子想要執行衝突檢測,我將其索引添加到另一個結構化緩衝區,同樣也使用D3D11_BUFFER_UAV_FLAG_COUNTE

    2熱度

    1回答

    ====================編輯:解決方案===================== 我終於找到了問題,因爲對於正在學習DirectX的初學者來說,答案可能很重要,所以我在這裏發佈它。 (我使用F#和SharpDX作爲DirectX的.NET包裝器) 在我的程序中,資源(緩衝區,視圖等)僅在交換鏈調整大小時纔會更改。所以我把所有資源分配(IA,OM,VS,PS)放入一個函數switch

    0熱度

    1回答

    我想用DirectX 11的計算着色器來做一些簡單但昂貴的計算(想想Mandelbrot Set)。計算結果放置在紋理上並且不重疊。這不是實時的,因爲它預計需要1到10秒,但它會在完成後立即顯示在UI上。 我使用WPF和SharpDX通過http://directx4wpf.codeplex.com/。該庫有一個DX11視圖對象,其中包含一個RenderScene函數,其中調用了DX渲染函數(包括