zbuffer相关内容

使用 cocos2d-iphone 启用 2D 投影的充分理由是什么?

在 cocos2d-iphone 中默认的投影类型是“3D"投影.但您也可以像这样将投影设置为“2D": [[CCDirector sharedDirector] setProjection:CCDirectorProjection2D]; 在幕后,3D 投影使用透视投影,而 2D 投影是 OpenGL 正交投影.这两种投影模式的技术细节可以在这里查看,那是不是我感兴趣的东西. 2D投影 ..
发布时间:2022-01-21 17:16:03 其他开发

Three.js/WebGL - 透明平面隐藏在它们后面的其他平面

当你在 Three.js/WebGL 中有两个平面并且其中一个或两个都是透明的时,有时后面的平面会被上面的透明平面隐藏.这是为什么? 解决方案 这不是错误,它只是 OpenGL(以及 WebGL)的工作方式.透明表面不能很好地与 z 缓冲区配合使用,因此必须手动排序并从后到前渲染.三个 JS 正在尝试为您执行此操作(这就是当您将 X 值设置为 > 0 时问题消失的原因)但无法像您展示的那样 ..
发布时间:2021-12-31 18:17:40 前端开发

OpenGL Z-Biasing(多边形偏移)限制

我有两个共面的多边形. 我尝试过. glEnable(GL_POLYGON_OFFSET_FILL);glPolygonOffset(0,1); 并期望一个明显“在"另一个之上. 这种情况直到大约 70-75 个单位(近剪裁平面为 1,远剪裁平面为 10,000)为止.然后是大约 50 个单位的区域,其中有 z-fighting,然后交替的多边形似乎出现在顶部. 多边形偏移量 ..
发布时间:2021-11-25 03:08:19 C#

在 Matlab 中使用 OpenGL 获取深度缓冲区

我之前问过一个类似的问题,但没有找到直接的答案. 谁能提供在Matlab中提取对象渲染到图形的深度缓冲区的示例代码? 所以假设我加载了一个 obj 文件,甚至只是一个简单的冲浪调用,渲染它,现在想要进入它的深度缓冲区,然后什么代码会使用 Matlab 和 OpenGL 为我做这件事.IE.我如何设置它然后访问实际数据? 我基本上希望能够使用 Matlabs 强大的绘图功能,然后能 ..
发布时间:2021-11-25 00:43:10 C#

在云上渲染丑陋

我正在尝试实现 中的代码本教程,但比例要大得多(半径 = 100000 单位). 我不知道大小是否重要,但在我的地球上渲染云有一个奇怪的渲染.在教程中,我使用了两个球体和三个纹理(地球贴图、凹凸贴图、云彩). 这是结果(如果云更近,情况会更糟): 云层离行星表面越近,这种故障就越明显.如果云足够远(但这不现实),问题就完全消失了. 我能做什么? 解决方案 使用对数深 ..
发布时间:2021-09-07 18:45:31 前端开发

在OpenCV中读取.exr文件

我使用Blender生成了一些深度图,并以OpenEXR格式保存了z缓冲区值(32位).有什么方法可以使用OpenCV 2.4.13和python 2.7访问.exr文件中的值(逐像素深度信息)?在任何地方都找不到示例.我在文档中看到的所有内容都支持该文件格式.但是尝试读取此类文件会导致错误. new=cv2.imread("D:\\Test1\\0001.exr") cv2.imshow( ..
发布时间:2020-11-27 00:07:34 Python

THREE.JS:以正确的z标记渲染远处的大物体,并仍然放大小物体

我有一个场景正在绘制(按比例绘制)地球,月亮和一些航天器.当月亮被地球遮住而不是消失时,它仍然是可见的(通过地球). 通过我的研究,我发现了这一部分问题是,我的相机的近距离设置太小(如链接的文章中所述),近距离的小值会导致Z排序中的舍入导致对非常远的物体产生混乱. 这里的复杂性是,当相机放大时,我需要具有细颗粒的z索引,以观察太空飞船(与地球相比,半径最大为61米的物体称重)在r =~ ..
发布时间:2020-05-27 20:05:02 其他开发

为什么openGL glDepthFunc()不起作用?

我正在与openGL一起玩,并试图摆脱蓝色标记的三角形.我将其用于此代码: glEnable(GL_DEPTH_TEST); glDepthFunc(GL_LESS); glEnable(GL_CULL_FACE); 是的,我使用 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 在我的主循环中.我读过的问题可能是投影矩阵 ..
发布时间:2020-05-20 22:57:07 其他开发

如何从Z缓冲区获取Z值

我在OpenGL中绘制时遇到问题,我需要确切地查看在深度缓冲区中放置了什么值.谁能告诉我如何检索这些值? 谢谢 克里斯 解决方案 使用 glReadPixels ,格式为GL_DEPTH_COMPONENT,例如: float depth; glReadPixels(0, 0, 1, 1, GL_DEPTH_COMPONENT, GL_FLOAT, &depth); 将获得像素的 ..
发布时间:2020-05-20 22:55:59 其他开发

对数深度缓冲区线性化

如何线性化对数深度缓冲区? 片段着色器中线性深度缓冲区的可视化 float n = 1.0; // camera z near float f = 27000000.0; // camera z far float z = texture( DepthTex, TexCoord ).x; float d = (2.0 * n) / (f + n - z * (f - n ..
发布时间:2020-05-20 22:43:25 其他开发

MATLAB:标题模糊

当绘制的稀疏矩阵的大小增加时,标题(如果由TeX排版)会异常模糊.这种影响的基础是什么,如何避免呢? 示例: spy(magic(2)); title('Text','interpreter','latex','FontSize',20); spy(magic(200)); title('Text','interpreter','latex','FontSize',20); 解决方 ..
发布时间:2020-05-06 14:21:17 其他开发

Three.js / WebGL - 隐藏其他平面的透明平面

如果在Three.js / WebGL中有两个平面,并且其中一个或两个都是透明的,有时后面的平面将被上面的透明平面隐藏。这是为什么? 解决方案 这不是一个错误,它只是OpenGL(以及WebGL)的工作原理。透明曲面与z缓冲区不兼容,因此必须手动排序并从前到后渲染。三个JS正试图为你做这个(这就是为什么当你设置X值> 0时问题就消失了)但是不能很好地处理像你正在展示的交叉几何的情况。 ..
发布时间:2019-01-23 23:14:24 前端开发

使用cocos2d-iphone实现2D投影的好理由是什么?

在cocos2d-iphone中,默认投影类型是“3D”投影。但您也可以将投影设置为“2D”,如下所示: [[CCDirector sharedDirector] setProjection:CCDirectorProjection2D];在幕后,3D投影使用透视投影,而2D投影是OpenGL正投影。 有关这两种投影模式的技术详情,请参阅这里,即不是我感兴趣的内容。 coco ..

OpenGL的Z-偏置(多边形偏移)限制

我有两个共面的多边形。 我想这样做。 过glEnable(GL_POLYGON_OFFSET_FILL); glPolygonOffset(0,1); 和预期一待明显“之上”的其它 这是直到约70-75单位远(为1的近裁剪平面和10000远裁剪面)的情况下。然后,约50单位的区域有z轴战斗,然后交替多边形似乎出现在顶部。 是否多边形偏移获得前或普通Z计算后添加?如果是后,我会想 ..
发布时间:2015-11-28 12:13:55 其他开发

在Matlab中利用OpenGL得到深度缓冲

香港专业教育学院之前问过类似的问题,并没有设法找到一个直接的可能有人用于提取对象的渲染深度缓冲到Matlab中的人物提供样品code? 因此​​,可以说我加载OBJ文件,甚至只是一个简单的冲浪电话,渲染它,现在想获得它的深度缓冲凭什么code将同时使用Matlab和OpenGL的为我做的。即我该如何设置此,然后访问实际的数据? 我基本上希望能够使用Matlabs强大的绘图功能,然后才能够访问底 ..
发布时间:2015-11-28 11:47:23 其他开发