gpt4 book ai didi

ios - 使用 GL_POINTS 时 gl_Position 是否设置矩形的中心?

转载 作者:可可西里 更新时间:2023-11-01 11:54:36 25 4
gpt4 key购买 nike

我正在开发可在多个平台上运行的 C#/OpenGL 代码库:通过 MonoTouch 的 iOS/OpenGL ES 2.0、通过 OpenTK 的 Windows/OpenGL 以及其他平台。

当从四边形切换到 GL_POINTS 渲染时,我注意到我正在绘制的矩形在 iOS 上渲染时带有偏移量。

似乎在 Windows 上,gl_Position 定义了要绘制的矩形的中心。这是我期望的行为。

在 iOS/OpenGL ES 2.0/MonoTouch 上,gl_Position 似乎设置了矩形的左上角

我花了几个小时试图找出造成这种情况的原因,因为,当然,我认为这是由我的代码中的错误引起的。

但在我浪费更多时间之前:使用 GL_POINTS 时,gl_Position 究竟定义了什么?长方形?

最佳答案

GL_POINTS 首先不是矩形。这是一个很容易做出的假设,但如果启用点平滑(已弃用)或多重采样,实现可能会将它们绘制为圆圈。点图元根据 gl_Position 定义的位置进行裁剪,但光栅化的行为与描述的一样 here .

我最好的猜测与光栅化过程中的子像素精度有关,GL ES 往往具有较少的精度,并且必须捕捉到整数坐标的东西表现得不太好。您可以尝试亚像素偏移(例如 0.375 或 0.5),看看是否有任何改变。在光栅化点基元时,OpenGL 和 OpenGL ES 的兼容实现都遵循相同的规则。

出于好奇,您使用的磅值是多少?不保证支持 1.0 以外的任何内容。再加上点大小粒度、有限范围和可变光栅化形状等因素,GL_POINTS 实际上不能很好地替代四边形。

关于ios - 使用 GL_POINTS 时 gl_Position 是否设置矩形的中心?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20601886/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com