cost 200 ms
OpenGL体素游戏 - 避免透明度重叠

[英]OpenGL Voxel Game - Avoid transparency overlapping

我正在制作一个体素游戏,我将水设计为0.5 alpha的立方体。 如果所有的水都处于同一高度,它的效果很好,如下图所示: 但是,如果水的高度不同,则会发生alpha重叠: 如何防止出现这种重叠? (例如,仅为每个像素绘制最近的水体,丢弃剩余的水体)。 我是否需要使用 ...

Opengl深度缓冲到cuda

[英]Opengl depth buffer to cuda

我是Opengl的新程序员,我的目标是将深度缓冲区检索到FBO,以便能够在不使用glReadpixels的情况下转移到cuda。 这是我已经做过的事情: 此代码使用正确的深度值创建我的FBO。 根据文章“在cuda上使用不规则z缓冲区的快速三角形光栅化”,现在出现了一个新问题 ...

DirectX11深度值仅0和1

[英]DirectX11 Depth values only 0 and 1

我正在将OpenGL渲染器移植到DirectX。 几乎一切都可以正常工作,但是我对深度有疑问。 3D中的所有内容都呈现为平面。 我已经检查了Visual Studio图形分析器和深度缓冲区和状态绑定。 如果我检查“深度/模板纹理资源”,则只有值0.f(屏幕上显示某些内容)和1.f(未渲​ ...

OpenGL C ++深度缓冲区不起作用

[英]OpenGL C++ Depth buffer not working

我一直在使用OpenGL测试了一段时间,一直没能得到深度缓存工作,尽管使用GLUT_DEPTH作为参数glutInitDisplayMode和做glClear(GL_DEPTH_BUFFER_BIT)在显示功能的开始。 我不知道我还想念什么。 下面是一个最小的工作示例以及图1和2。要查看 ...

错误的深度缓冲区(至纹理)输出?

[英]Wrong depth buffer (to texture) output?

对于SSAO效果,我必须生成两个纹理:法线(在视图空间中)和深度。 我决定根据Microsoft教程 ( 将深度模板缓冲区读取为纹理一章)使用深度缓冲区作为纹理。 不幸的是,渲染后,我没有从深度缓冲区(下图)得到任何信息: 我猜这是不对的。 奇怪的是,深度缓冲区似乎有效 ...

深度缓冲区作为纹理-“ D3D11错误:创建视图时格式无效”

[英]Depth buffer as texture - “D3D11 ERROR: The Format is invalid when creating a View”

我正在尝试使用深度缓冲区作为着色器中第二遍的纹理。 根据官方文档 ( “将深度模板缓冲区读取为纹理”段落),我已将D3D11_TEXTURE2D_DESC.Format设置为DXGI_FORMAT_R24G8_TYPELESS (因为之前是DXGI_FORMAT_D24_UNORM_S8_ ...

如何使用OpenGL和GLSL手动填充深度缓冲区

[英]How to fill depth buffer manually using OpenGL and GLSL

我对如何手动填充深度缓冲区没有成功进行了大量研究。 直到这里,我所知道的是,在渲染过程中,OpenGL自动填充了附加到FBO的深度纹理(GL_DEPTH_COMPONENT)。 例如,以下片段着色器代码有效: 因此,如果我将以下代码行写入主行: 结果是一样的! 因此 ...

了解GL_ARB_conservative_depth扩展

[英]Understanding GL_ARB_conservative_depth extension

OpenGL表示,如果depth函数为GL_LESS且布局限定符为depth_less,则OpenGL将执行早期深度测试。 现在,如果缓冲区中的原始值为0.5,并且特定像素的深度为0.8,则它将无法通过早期深度测试。 但是,如果将值修改为0.4,则它不会失败。 在这种情况下如何运作? ...

在进行深度测试时读取FBO深度附件

[英]Reading FBO depth attachment whilst depth testing

我正在使用使用OpenGL 3.3的延迟渲染引擎。 我将FBO设置为我的G缓冲区,并附加了作为深度分量的纹理。 在我的光照测试中,我需要进行深度测试(禁用写操作)以剔除不必要的像素。 但是,我目前正在编写将重构世界位置坐标的代码,这也需要访问深度缓冲区。 在Opengl 3.3中 ...

OpenGL选择深度测试

[英]OpenGL selected depth testing

我想实现一个OpenGL场景(OpenGL ES 2.0),其中仅在选定的三角形之间启用深度测试。 更具体地说:假设我们要渲染四个三角形。 深度测试应该三角形1和2之间被启用,以及三角形3和4之间,但既不 三角形1和3 也不 三角形2和4之间。 换句话说:是否可以在两对三角形之间而 ...

如何仅使用three.js写入zbuffer

[英]How to write to zbuffer only with three.js

我正在尝试使用thee.js仅更新zbuffer(我正在使用preserveDrawingBuffer创建跟踪效果)。 但是我找不到任何方法只能用标准材料写入zbuffer,到目前为止,我已经尝试过: 将材质的visible设置为false,这将停止对象渲染。 将材质的opa ...

OpenGL深度缓冲和正交投影

[英]OpenGL Depth buffer & ortho projection

我正在使用Java和JOGL进行一些3D渲染。 我使用JOML库生成视图和投影矩阵: 我将这些矩阵发送给着色器,如下所示: 在处理过程中,不会对矩阵进行转置。 填充VAO和VBO后,我只需使用以下状态来渲染网格: 生成的图像非常奇怪,看起来深度缓冲区反转了。 在 ...

将3D三角形绘制到深度缓冲区

[英]Drawing a triangle in 3D to a depth buffer

我正在试验3D图形而不依赖于任何3D库,例如Java3D,OpenGL,DirectX等。我有一个工作的Z缓冲区(又名“深度缓冲区”),但我想不出绘制三角形的方法到那个缓冲区。 (每个三角形由3D中的三个点指定。) 任何人都可以提供伪代码来绘制Z缓冲区的三角形吗? ...

XMVector3Unproject-屏幕到特定Z的世界坐标

[英]XMVector3Unproject - Screen to world coordinate at specific Z

我想在Directx 11中将屏幕坐标转换为世界坐标。我发现我可以使用XMVector3Unproject函数轻松地做到这XMVector3Unproject 。 有一个问题,我想选择我自己的Z坐标来告诉函数我的观点离摄像机有多远(屏幕坐标是2d,世界坐标是3d)。 根据观察,我必须弄清楚深 ...

OpenGL如何使用不可见的遮罩在其后隐藏对象

[英]OpenGL How to use a invisible mask to hide objects behind it

我有一个OpenGL问题要解决。 我有一个对象/网格A,一个对象/网格B和背景纹理C。 最初,帧缓冲区填充有背景纹理C。我们在帧缓冲区中同时绘制A和B。 我们要保持对象A可见,而对象B始终不可见。 首先,A在B的前面。在旋转过程中,根据深度测试结果,B以一定角度在A的前面,但是由 ...

更改OpenGL的z缓冲区的值

[英]Change the values of OpenGL's z-buffer

我想将带深度值的矩阵传递给openGL的z缓冲区。 某处我发现我可以使用glDrawPixels(640,480,GL_DEPTH_COMPONENT,GL_FLOAT,normalizedMappedDepthMat.ptr()); mat是一个opencv Mat.Is是否可以使用纹 ...

Direct3D 11深度缓冲导致黑屏

[英]Direct3D 11 depth buffer result in black screen

我试图在Direct3D 11中实现深度缓冲区,但是事实证明,这并不像我所经历的那么容易。 这是我的问题:每当我调用此函数时: 使用第三个参数作为深度模板视图,窗口中什么也看不到; 一切都是黑色的。 如果我将nullptr放到了我的所有几何图形,则无需进行任何深度测试(就像在我尝试 ...

为什么我们在混合中禁用Z-write

[英]Why we disable Z-write in blending

在混合中,我们首先绘制不透明对象,并启用z-write和test。 然后我们禁用z-write并启用测试以绘制半透明对象。 在绘制半透明对象时,我们将它们拉回到前面的顺序,那么为什么我们需要禁用写入z-buffer? ...

OpenTK GLControl中的32位深度缓冲区

[英]32-bit depth buffer in OpenTK GLControl

如何在GLControl的深度缓冲区中设置位数? 我已经试过了: GLControl glControl = new GLControl( new GraphicsMode( new ColorFormat(8,8,8,8), 32)); 并且仍然提供24位深度缓冲区。 ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM