将 SDL_ttf 与 OpenGL 结合使用
我正在使用 OpenGL 和 SDL 在我的程序中创建一个窗口。
如何在 OpenGL 窗口中使用 SDL_ttf?
例如,我想加载字体并渲染一些文本。我想使用 SDL OpenGL 表面绘制文本。
I'm using OpenGL and SDL to create a window in my program.
How do I use SDL_ttf with an OpenGL window?
For example I want to load a font and render some text. I want to draw the text using an SDL OpenGL surface.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
操作方法如下:
SDL_SetVideoMode()
创建一个窗口。确保传递SDL_OPENGL
标志。glViewport()
、glMatrixMode()
等)。TTF_RenderUTF8_Blished()
。渲染函数返回一个 SDL_surface,您必须通过将指向数据(surface->pixels
)的指针以及数据的格式传递给 OpenGL 将其转换为 OpenGL 纹理。像这样:glBindTexture()
等在 OpenGL 中使用纹理。完成绘制后,请确保调用SDL_GL_SwapBuffers()
。Here's how to do it:
SDL_SetVideoMode()
. Make sure you pass theSDL_OPENGL
flag.glViewport()
,glMatrixMode()
etc.).TTF_RenderUTF8_Blended()
. The render functions return an SDL_surface, which you have to convert into an OpenGL texture by passing a pointer to the data (surface->pixels
) to OpenGL as well as the format of the data. Like this:glBindTexture()
etc. Make sure to callSDL_GL_SwapBuffers()
when you're done with drawing.基于: http://content.gpwiki.org/index.php/SDL_ttf :Tutorials:Fonts_in_OpenGL
下面的代码是一个示例,说明如何在您可能已构建的完成的 3D 模型之上渲染文本。
Based off of: http://content.gpwiki.org/index.php/SDL_ttf:Tutorials:Fonts_in_OpenGL
The code below is an example of how you can render the text on top of finished 3D model you may have built.