depth-buffer

    3熱度

    1回答

    我正在製作一個體素遊戲,並且我已經將水設計爲0.5 alpha的立方體。它的偉大工程,如果所有的水是在同一高度,如下圖中: 但是,如果水不是在同一高度,字母重疊的情況: 如何防止發生這種重疊? (例如,只繪製每個像素最近的水體,丟棄剩餘的水體)。我是否需要使用FrameBuffers,通過多次傳遞來繪製場景,或者通過使用替代混合函數或採用另一種較少的GPU昂貴的方法就足夠了?

    0熱度

    1回答

    當我使用GL_TEXTURE_2D_MULTISAMPLE時,如何將深度緩衝區附加到幀緩衝區對象。 glCheckFramebufferStatus(msaa_fbo)從下面的代碼返回0.從文檔中,這似乎意味着msaa_fba不是幀緩衝區,但它是從glGenFramebuffers(1, &msaa_fbo);創建的。 此外,如果發生錯誤,則返回零。 如果目標不是GL_DRAW_FRAMEBUFF

    3熱度

    1回答

    看來我無法在我的電腦上使用gl_FragDepth。我的程序運行良好,否則,沒有glsl錯誤,glGetError返回0,但我無法從片段着色器中寫入深度緩衝區。 此外,在gl_FragDepth中寫入更改了像素顏色的紅色分量。 有我的程序的簡化版本。我修剪所有無用的東西(我GESS?),並且它沒有更好的工作: int main(void) { // These are custom stru

    0熱度

    1回答

    我想將屏幕座標轉換爲Directx 11中的世界座標。我發現我可以通過函數XMVector3Unproject輕鬆完成。有一個問題,我想選擇我自己的Z座標來告訴函數距離相機有多遠(屏幕座標是2d,世界座標是3d)。從我觀察到的,我必須弄清楚我的觀點在深度緩衝器上的位置。 我的深度緩衝區範圍從0.0到1.0(通常情況下)。我的近機是0.1f,遠機是1000.0f。我知道深度緩衝區的值不是均勻分佈的。

    1熱度

    1回答

    所以我試圖在我製作的一些pixelart上使用景深效果。 爲此,我需要一個具有深度信息的紋理。所以我使用MeshDepthMaterial在一個平面上渲染我的紋理,但是我得到的只是一個灰色的矩形,它完全忽略了紋理中的alpha數據(僅爲1或0,沒有任何中間數據)。 當然,我使用 depthMaterial.transparent = true; depthMaterial.alphaTest =

    1熱度

    1回答

    對於SSAO效果,我必須生成兩個紋理:法線(視圖空間)和深度。 我決定使用深度緩衝區作爲紋理根據Microsoft tutorial(讀取深度 - 模板緩衝區作爲紋理一章)。 不幸的是,在渲染之後我從深度緩衝(降低影像)無信息: 我想這是不正確的。奇怪的是,深度緩衝區似乎工作(我得到正確的面孔順序等)。 深度緩衝器的代碼: //create depth stencil texture (depth

    1熱度

    1回答

    我試圖在Direct3D 11中實現深度緩衝區,但事實證明,這並不像打架那麼容易。這裏是我的問題:每當我調用這個函數: m_DeviceContext->OMSetRenderTargets(1, &m_RTV, m_DepthStencilView); 隨着我的深入模板視圖中的第三個參數,我什麼也看不到我的窗口;一切都是黑色的。如果我放置nullptr,那麼我的所有幾何圖形都不經過任何深度測

    0熱度

    1回答

    我在三個j中有大量的網格。爲了有效地渲染它們,我通過材質合併它們。但是,我想用鼠標選擇它們。 我的方法如下:在一次渲染過程中,我將合併的網格物體烘焙成紋理,並在第二次渲染過程中僅渲染突出顯示的透明覆蓋物。到目前爲止,除了錯誤的可視性外,它幾乎都可以工作問題是,因爲我使用WebGLRenderTarget它只將FBO存儲到紋理中。我實際上需要第二個紋理來獲取DepthBuffer,理想情況下不需要第

    1熱度

    1回答

    從Visual Studio轉到Xcode以在OpenGL和C++中編寫代碼我碰到過一個問題。 企圖拉攏在Xcode一個簡單的立方體有一個問題(可能與深度緩衝),這意味着立方體的渲染爲p 我已經創建了一個繪製使用四邊形立方體板的功能。我的代碼運行並在Visual Studio上正確顯示該多維數據集。但是,在Xcode中,它似乎優先考慮最新繪製的四邊形,以便立方體的面板看起來位於它後面的面板的前面。

    1熱度

    1回答

    我想使用thee.js只更新zbuffer(我正在使用preserveDrawingBuffer來創建跟蹤效果)。 但是我無法找到任何方式只寫與標準材料zbuffer,到目前爲止,我已經試過: 設置材料的visible爲false,這將停止物體渲染。 設置材質的opacity爲0.0,這意味着什麼都不會呈現。 有沒有這樣做的「標準」方式,還是我需要使用自定義片段着色器?