SDL ttf 与 opengl,字体大小问题

Posted

技术标签:

【中文标题】SDL ttf 与 opengl,字体大小问题【英文标题】:SDL ttf with opengl, font size issues 【发布时间】:2013-02-07 21:03:07 【问题描述】:

我正在使用 sdl ttf 将文本渲染到 opengl,实际上一切都很好,但是就像你知道的,当你打开一个 ttf sdl 文件时,你在像素上指定它,你不能改变字体大小。其实你可以改变字体大小,但你需要关闭并重新打开字体,这会有点慢,那么,有什么办法可以改变字体大小或类似的东西吗?

我需要执行以下操作:可以调整大小并调整到窗口屏幕的字体大小(如 opengl -1.0f - 1.0f 范围,适用于类似于百分比的内容),无背景的多行渲染支持。

【问题讨论】:

会有点慢你量过吗? 嗯,您是否建议我在每次渲染和交换像素缓冲区时打开/关闭字体?这会影响opengl渲染速度吗?请告诉我:) 谢谢 我刚刚问过你是否真的测量了对性能的影响。 嗯,我实际上没有......我没有这样做,因为一位朋友告诉我这是一个坏主意而且速度很慢......因为我从资源打开 ttf 字体 (. rc)...我会测试它,我会告诉你的。 它让我闪烁……已经测量过了。 【参考方案1】:

您可以将它放在一个表面上并缩放该表面。这可能会使文本变形,这可能是一个问题。

或者你可以有一个文本大小的数组。加载具有一系列文本大小的相同字体。缩放图像时,请使用不同的字体,而不是更改一种字体的大小。

【讨论】:

我一直在想,其实,我要这么做!好主意,我只是在等待任何确认。我不喜欢使用 sdl ttf...但是,它是我拥有的最近的库。 我的项目设置方式,我无法让 FreeType 工作(我无法通过黑色矩形)。如果我尝试运行我的着色器,什么都不会渲染。我终于设法让 SDL_TTF 显示文本,虽然我有一点恼人的闪烁,因为它使用了 SDL_Renderer。

以上是关于SDL ttf 与 opengl,字体大小问题的主要内容,如果未能解决你的问题,请参考以下文章

减小.ttf字体大小的方法?

如何压缩 .ttf 字体文件大小

SDL系列之 - 编译参数

使用 SDL_TTF 的 OpenGL 中的文本

font-spider 抽字体,出现错误,只抽出ttf文件,而且,大小还是原来的大小

使用 Freetype 和 OpenGL 渲染字体