gpt4 book ai didi

opengl - 无法理解 gl 光栅位置

转载 作者:行者123 更新时间:2023-12-02 01:11:24 29 4
gpt4 key购买 nike

看了小红书,用OpenGL画字体时的“光栅位置”,还是看不懂。什么是光栅位置? glrasterpos2f 和 glvertex2f 有什么区别?什么是 GL_CURRENT_RASTER_POSITION?为什么我必须使用这个 API 来绘制字体?如果有人能说明这一点,我将不胜感激。

最佳答案

旧版本的 OpenGL 有许多“光栅”操作,它们直接在帧缓冲区的像素光栅上执行像素操作,而无需经过整个图元设置。

光栅位置是下一次光栅操作开始的窗口坐标中的位置。例如,glDrawPixels 将只 overdraw 帧缓冲区的一部分,光栅位置定义将放置替换像素数据的左下角。类似于 glBitmap 允许用 glColor 替换像素值,并在同一步骤中推进光栅位置。

当使用 glRasterPos 设置光栅位置时,传递给此调用的坐标将受到与顶点坐标相同的转换管道的影响,以生成窗口坐标光栅位置。 重要只有光栅位置被转换,实际的光栅操作发生在“像素空间”中并且没有被转换。此外,如果传递给 glRasterPos 的坐标恰好被裁剪,则以下光栅操作将变为 No-Ops。

如果你想直接在窗口坐标中设置光栅位置,你可以使用glWindowPos

Why I must use this API to draw a font?

使用 glBitmap 绘制位图字体很简单,因此它曾经是一种非常流行的字体绘制方法。因此,如果您使用光栅操作来绘制字体,则必须设置光栅位置。

然而,在现代版本的 OpenGL(第 3 版及更高版本)中,所有光栅操作都已被删除。这也意味着,您必须使用不同的方法在现代版本的 OpenGL 中绘制文本。

关于opengl - 无法理解 gl 光栅位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17007065/

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