- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我在使用 opengl 绘制简单的 2d 纹理四边形时遇到了 z fighting 的一些问题。症状是两个物体以相同的速度移动,一个在另一个上面,但周期性地一个可以看穿另一个,反之亦然 - 有点像“闪烁”。我认为这确实是 z 战斗。
我关闭了深度测试并且还有以下内容:
gl.Disable(gl.DEPTH_TEST)
gl.DepthFunc(gl.LESS)
gl.Enable(gl.BLEND)
gl.BlendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA)
我的 View 和正交矩阵如下:
我已经尝试将近距离和远距离设置得更大(比如 50000 的范围,但仍然没有帮助)
Projection := mathgl.Ortho(0.0, float32(width), float32(height), 0.0, -5.0, 5.0)
View := mathgl.LookAt(0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0)
与我的 opengl 过程的唯一区别是,我不是为每个单独的对象调用 drawelements,而是将所有顶点、uvs( Sprite 图集)、平移、旋转等打包到一个大包中发送到顶点着色器。
有没有人对 2d z 战斗有补救措施?
编辑:
我正在添加一些图片来进一步描述场景:
这些图像彼此相隔几秒钟拍摄。它们只是从左向右移动的纹理。当他们移动时;你从图像中看到,一个 Sprite 快速地重叠另一个 Sprite ,反之亦然。
另请注意,我的图像( Sprite )是具有透明背景的 png。
最佳答案
如果您如代码片段所示禁用了深度测试,那绝对不是深度战斗。
“我将所有顶点、uvs( Sprite 图集)、平移、旋转等打包到一个大包中发送到顶点着色器。” - 您需要查看添加 Sprite 的顺序。也许由于某种原因它不一致。
关于opengl 3.3 z-fighting 正交 2d View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32041914/
我有一个由给定时刻的一组节点组成的图。该图可能会随着时间的推移而演变,即节点之间的关系以及节点本身可能会发生变化。 绘图必须是正交绘图。 我想画出图表的演变过程,即在不同的时刻绘制图表的图像,尝试从一
我有一个由 graphviz 工具制作的无向图(现在我正在使用 sfdp ): digraph structs { node [shape=Mrecord, URL="index_ne
我有一个世界地图的正交投影,在 D3 中并使用 TopoJSON。我通过调用此代码为每次加载数据的国家/地区着色。 地球在不停地旋转。 我的问题是,在旋转过程中我收到错误消息: 错误 >> 错误:在
我是 opencv 和 c++ 的新手,一直在尝试确定两条线是否几乎相互垂直/正交。有这个公式可以确定它们是否完全正交(m1*m2 = -1),而 m1 是第一个直线的斜率,m2 是第二个直线的斜率。
悬停时按钮会翻转但无法显示透视图。这就像动画的平面正交 View 。我使用的 perspective 属性有误吗? @import 'https://necolas.github.io/normali
我正在尝试使用高斯积分来近似函数的积分。 (更多信息在这里:http://austingwalters.com/gaussian-quadrature/)。第一个函数在区间 [-1,1] 上。第二个函
我在使用 opengl 绘制简单的 2d 纹理四边形时遇到了 z fighting 的一些问题。症状是两个物体以相同的速度移动,一个在另一个上面,但周期性地一个可以看穿另一个,反之亦然 - 有点像“闪
我正在尝试在背景图像(正交投影)顶部使用 Frustum 投影渲染一些网格。无论我做什么,背景图像始终位于场景顶部(隐藏网格)。 我尝试了一个小测试 - 当我用相同的投影矩阵渲染它们时 以正确的顺序
我是一名优秀的程序员,十分优秀!