【问题标题】:GLFW window creation options affecting the HarfBuzz影响 HarfBuzz 的 GLFW 窗口创建选项
【发布时间】:2020-03-13 10:38:37
【问题描述】:

我正在使用 HarfBuzz 和 freetype 来呈现区域语言印地语。

如果我为创建窗口编写这三个选项,则字体不会呈现,我只会看到空白屏幕。

glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);

如果没有这三个选项,字体会正确呈现。

我很想知道这些选项在创建窗口时有何不同?

【问题讨论】:

    标签: opengl glsl glfw freetype harfbuzz


    【解决方案1】:

    那是因为您创建了一个核心配置文件OpenGL Context (GLFW_OPENGL_CORE_PROFILE)。
    与默认的兼容性配置文件上下文 (GLFW_OPENGL_COMPAT_PROFILE) 相比,Legacy OpenGL OpenGL 指令无效并导致 OpenGL 错误。

    主要区别在于,您不能分别使用glBegin/glEnd 序列、固定函数属性(例如glVertexPointer)客户端功能或当前矩阵堆栈。
    如果要绘制几何图形,则必须创建 Vertex Array Objects 并使用 Shader 程序。

    OpenGL 3.3 Compatibility Profile specification 或最新的 OpenGL 版本OpenGL 4.6 API Compatibility Profile Specification 中可以看到完整的差异,其中仅在兼容性配置文件规范中而不在核心规范中的功能以橙色排版。

    【讨论】:

      猜你喜欢
      • 2021-05-15
      • 2019-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-11
      • 2017-01-05
      相关资源
      最近更新 更多