depth-buffer

    1热度

    1回答

    我正在CPU中使用光栅化和深度缓冲构建渲染器,现在我已经包含了法线贴图。一切就像你可以在下图中看到: 的问题是,即使是它的工作原理,我不明白为什么!实施违背了我的想法。这是代码,以获得正常的每个片段: const Vector3D TexturedMaterial::getNormal(const Triangle3D& triangle_world, const Vector2D& text_c

    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')