问题标签 [zbuffer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
311 浏览

javascript - 云上的丑陋渲染

我正在尝试实现本教程中的代码,但比例要大得多(半径 = 100000 单位)。

我不知道大小是否重要,但在我的地球上渲染云有一个奇怪的渲染。正如教程所做的那样,我使用了两个球体和三个纹理(地球贴图、凹凸贴图、云)。

结果如下(如果云更近,情况会更糟): 地球

云越靠近行星表面,这种故障就越明显。如果云足够远(但这不现实),问题就完全消失了。

我能做些什么?

0 投票
0 回答
61 浏览

c# - XNA 4.0 着色器深度信息

我正在使用 RenderTarget2D 来绘制我的 3D 世界,然后我使用着色器来添加灯光效果等。如何获取像素着色器中的深度信息?我是着色器编程的新手,我对着色器给出的命令一无所知。

我的着色器:

我必须在 RenderTarget 设置参数吗?非常感谢!

0 投票
1 回答
106 浏览

opengl - z-fighting的数学视图

要了解 z-fighting 是如何工作的,我得到了这个问题。

考虑p = (0, 0, −500)相机局部坐标系中给定的点。推导在上述流水线的不同阶段分配给 p 的深度值,即推导出 p 在眼睛空间、标准化设备坐标([−1, 1])中、范围 [0, 1] 中的深度值和最终的深度缓冲区值。 n = 200 和 f = 1000 和 m = 24

我认为这个过程的第二步是:z1=z * -(f+n)/(f-n) - 2fn/(f-n) 从前瞻性转换矩阵。在那之后z2= (1/2)*z1 + 1/2

但我不知道眼睛空间中的转换应该是什么样子,最后一步是什么。

我希望有人可以帮助我:) `

0 投票
1 回答
405 浏览

java - OpenGL Z 顺序搞砸了

我无法弄清楚为什么我的一些对象被渲染在彼此之上。我有深度测试。

我需要按最靠近相机的顺序绘制吗?(我以为 OpenGL 会为你做到这一点。)

如您所见,左侧的立方体绘制正确,但右侧的立方体未正确绘制

设置代码:

渲染代码:

ChunkBatch中的draw方法:

0 投票
1 回答
147 浏览

opengl - LWGL // 在片段着色器中重建位置

我有正确的逆投影矩阵。但似乎没有什么是对的!重建后的位置是否完全变形,z 值是否太小?有人建议吗?

z 值约为 -0,001;为什么?

坐标和深度是:

我必须为大学实施 SSAO,并且我使用 Eclipse 和 Java 以及 lwjgl-plugin。请我需要帮助。我不到一星期。

编辑:我现在已经尝试过了......但仍然没有被简化:

0 投票
1 回答
239 浏览

three.js - Z格斗。面部/震动坐标不准确

为了足够大地接近作为地球模型的球体表面,我得到的顶点坐标不准确。正因为如此,当移动相机时,晃动很明显。

如何摆脱它?在网上找到了反转zNear和zFar的解决方案,但是我不知道如何在three.js中做到这一点

0 投票
1 回答
705 浏览

c++ - Opengl透明立方体面

我正在网格中绘制共享顶点的透明立方体(Windows 7 VC++ VS 2012)。问题是当我旋转图片时,我在立方体相互接触的平面上看到奇怪的视觉效果。这种效果仅仅是因为这个原因,我需要删除共享的面孔吗?或者还有其他什么技巧?

它与立方体表面的面/方向有关吗?顺便说一句,我已经尝试了很多这些,但不能让它完美地工作。

0 投票
0 回答
63 浏览

three.js - 投影中顶点位置计算不准确

有一个半径为 7000 的球体包裹在 Object3D 中,位置为 (0,0,0) 当变焦相机尽可能接近高度时(例如,距顶点 0.2),我们得到以下结果:

在此处输入图像描述 即,顶点的值越大,相机中的近似精度越差。而如果节点在Object3D的中心,则不存在这样的问题。如何解决?

改变近处和远处不会产生任何结果,只有在移除 Object3D 并将几何体的顶点设置为更靠近场景中心时才有效

0 投票
1 回答
338 浏览

3d - 计算平面上点的深度?深度缓冲区

目前我正在研究Z缓冲区。我有原始平面(在世界上)的想法,我通过以下方式处理屏幕顶点: 世界到相机转换, x_projection = x(世界)/ -z(世界) (类似对于 y) 现在我无法找出我应该如何在屏幕上的投影三角形平面内获得所有 z 值。

我拥有的信息:世界空间中的坐标,世界空间中的法线,相机空间中的坐标,二维平面上的坐标

0 投票
1 回答
852 浏览

javascript - Is there a bug in WebGL polygonOffset or am I missing something?

I am seeing very odd behavior where polygonOffset initially works, but if I re-render it stops working.

I made a simple example to illustrate it. I started with the z-fighting example from Ch7 of the WebGL Programming Guide (https://sites.google.com/site/webglbook/). I then separated out just the rendering portion and wrapped it in a function. I then hooked up an HTML button to call the render() function when clicked. On the first click, the triangles render correctly with no issues. On the second click, it is like polygonOffset is turned off again.

I've tried a number of different variations, including re-enabling every time, disabling and re-enabling, changing the offsets, but I keep getting the same behavior. Any ideas?

I'm including the code, though the snippet doesn't run for me won't run without the book's libraries.