compute-shader

    1熱度

    1回答

    我使用ARB_sparse_texture extension呈現實時立體效果,使用非常大的虛擬3D紋理。 而且我可以找到關於它如何與自動紋理貼圖代(glGenerateMipmap())進行交互的任何信息。 我正確地用數據填充紋理的0級,並正確提交使用的塊。一切運作良好,但我也需要這種紋理的mipmap鏈,我不知道如何自動完成它(我發現它在spec for ARB_sparse_texture或

    1熱度

    1回答

    我目前正在使用OpenGl中的計算着色器,我的目標是從一個紋理渲染到另一個紋理上進行一些修改。但是,它似乎並不像我的計算着色器對紋理有任何影響。 創建計算着色器後,我做了以下 //Use the compute shader program (*shaderPtr).useProgram(); //Get the uniform location for a uniform called "

    0熱度

    1回答

    我正在用HLSL中的計算着色器編寫紋理。 創作紋理的: D3D11_TEXTURE2D_DESC textureDesc; ZeroMemory(&textureDesc, sizeof(textureDesc)); textureDesc.Width = 512; textureDesc.Height = 512; textureDesc.MipLevels = 1; textureD

    1熱度

    1回答

    給定一個計算着色器,我已經將每個維度的局部大小設置爲值x,y和z,有什麼辦法讓我從C++代碼中訪問這些信息?即, //Pseudo Code c++ int size[3] x = get local sizes from linked compute shader print(x); //GLSL Code layout (local_size_x = a number, local

    -1熱度

    1回答

    我正在嘗試在我的計算着色器中使用for循環填充image3D。 以下三行的代碼是有效的,當外部for循環中,由於程序將運行並給出預期結果: position = ivec3(gl_GlobalInvocationID.xyz); colour = vec4(0.5, 0.0, 0.0, 1.0); imageStore(visualTexture, position, colo

    0熱度

    1回答

    我有一個計算着色器,它將一些流體模擬爲粒子。粒子從緩衝區讀取。每個粒子在一個線程中處理。在執行線程期間,一個粒子移動其uv位置並添加到名爲Water的無人機的像素。因此,每個線程都會在紋理上留下其移動軌跡。 _watTx[texID] += watAddition * cellArea.x; 的問題是有很多顆粒的移動和最多倍數存在於同一texID。由於每次運行模擬的結果都略有不同,似乎存在競爭

    0熱度

    1回答

    我正在做計算着色器的一些工作,並且我注意到如果兩次調用使用imageStore寫入到紋理上的同一位置,當紋理從訪問以來呈現時,您會得到閃爍效果速度是不能保證的,所以有時候一個調用會最後到達,有時候是另一個。我希望我的最終顏色值是紅色值最高的值。有沒有辦法讓我確定在着色器中? 我覺得有一些混亂,所以我只是給一些更多的信息。我與我的CPU爲GL_UNSIGNED_BYTE開往數據的工作,我就用 lay

    0熱度

    1回答

    我想在計算着色器中使用灰度紋理。對於rgba8它工作正常,但是當我宣佈 layout(binding=1, r8) uniform mediump writeonly image2D resultImage; 它產生以下錯誤: 0:25: S0059: Expected layout qualifier identifier, got 'r8' 是r8不允許圖像或者是我的平臺不支持r8?

    0熱度

    1回答

    我的GPU是NVIDIA GeForce GT440,其計算能力版本是2.x. NVIDIA的官方CUDA_C_Programming_Guide指出 限制1.每塊= 1024 限制2.每多居民的最大線程數的最大線程數= 1536 但是,有兩個OpenGL的計算機着色器實現限制是 極限3. GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS = 1536 我的問題是 1.爲

    1熱度

    2回答

    我是圖形編程和Vulkan的新手。 我知道我們需要將緩衝區綁定到描述符集,但是我想知道是否需要爲每個緩衝區設置一個新的描述符集,或者我可以將descriptorSet集綁定2個或更多個緩衝區? 如果是的話,這是什麼經驗法則?