depth-buffer

    0熱度

    1回答

    我一直在嘗試一些WebGL,但有一個錯誤,我似乎無法找到如何解決。 目前我有以下設置: 我有大約100個三角形,它們都有一個位置,正在通過一個gl.drawArrays函數繪製。爲了讓它們按正確的順序繪製,我使用gl.enable(gl.DEPTH_TEST);,它給出了正確的結果。 我現在的問題是,如果我更新頂點着色器中三角形的gl_Position,則更新的Z值不會用於深度測試。結果是一個gl

    0熱度

    1回答

    kinect v2提供了一個深度幀,分辨率爲512 x 424像素,其中fov爲70.6 x 60 degrees,從而得到平均每度約7 x 7像素。 [Source]。 但是我無法找到關於深度幀的像素大小的任何信息,或者是否有任何種類的方法可以根據給定的信息計算像素大小?

    1熱度

    2回答

    在Open GL中,是否可以渲染具有常規深度測試的多邊形,但是如果深度緩衝區值實際寫入深度緩衝區,我想寫一個自定義值? (原因是我正在渲染一個粒子系統,它應該根據場景中的幾何體進行深度測試,但是我希望在粒子系統所在的位置寫入非常大的深度值,從而利用深度-blur後處理步驟以進一步模糊粒子系統) 更新 爲了進一步細化問題,是否有可能不經過多次渲染?

    1熱度

    3回答

    我正在製作2D風格的Unity 3D遊戲。相機只能跟隨玩家從左到右,但我希望我的環境有一種深度感。這不是一款自上而下的遊戲,更像是一款2D馬里奧遊戲。我希望玩家能夠在物體前面移動,例如,當他們按下時,他們身後將會有一棵樹,並且如果他們向前移動到更遠的位置,這樣樹就會在他們面前。 這是我到目前爲止的動作腳本。 using UnityEngine; using System.Collections;

    0熱度

    1回答

    我有一個應用程序,我想使用模具蒙版渲染紋理深度。我嘗試GL_DEPTH_STENCIL_OES: 創建質地: glGenFramebuffers(1, fbo); glBindFramebuffer(GL_FRAMEBUFFER, *fbo); glGenTextures(1, depthTexture); glBindTexture(GL_TEXTURE_2D, *depthTextur

    0熱度

    1回答

    在OpenGL中,深度緩衝區值基於場景的近端和遠端剪切平面進行計算。 (參考:Getting the true z value from the depth buffer) 這是如何在WebGL中工作?我的理解是,WebGL不知道我的場景中的遠近裁剪平面。近剪裁平面和遠剪裁平面用於計算我的投影矩陣,但我從不告訴WebGL它們是什麼,因此它不能使用它們來計算深度緩衝區值。 WebGL在渲染場景時如何

    0熱度

    1回答

    我試圖通過將紋理(myTexture)附加到我的幀緩衝區對象來在片段着色器中執行模糊操作。它的工作原理與此代碼: vec3 blur(float depth){ float dx = 1.0f/800; float dy = 1.0f/800; vec3 sum = vec3(0,0,0); int dep=depth*10; for(int i=-dep;i<dep;i++) for

    -2熱度

    1回答

    我正在從深度紋理重建片段位置以高效地執行照明計算。 問題是,在沒有幾何圖形的區域(例如下圖中的地板,天花板和窗口),由於照明計算,片段輸出顏色爲黑色。我需要這些區域是白色的,以便可以看到天空盒。 如何從着色器內檢測像素片段在該位置是否沒有原始幾何體? void main(void) { // Calculate texture co-ordinate vec2 gScreen

    2熱度

    1回答

    我有來自ToF攝像機(Kinect V2)的z圖像。我沒有像素大小,但我知道深度圖像的分辨率爲512x424。我也知道我有一個70.6x60度的fov。 我問過如何在here之前獲得像素大小。在Matlab中,這段代碼如下所示。 像素越亮,物體越近。 close all clear all %Load image depth = imread('depth_0_30_0_0.5.png')

    1熱度

    1回答

    我正在CPU中使用光柵化和深度緩衝構建渲染器,現在我已經包含了法線貼圖。一切就像你可以在下圖中看到: 的問題是,即使是它的工作原理,我不明白爲什麼!實施違背了我的想法。這是代碼,以獲得正常的每個片段: const Vector3D TexturedMaterial::getNormal(const Triangle3D& triangle_world, const Vector2D& text_c