代码之家  ›  专栏  ›  技术社区  ›  nonsensation

分析gl.xml-不一致?

  •  2
  • nonsensation  · 技术社区  · 7 年前

    OpenGL gl.xml 定义以下命令(示例):

    <command>
        <proto>void <name>glGetIntegerv</name></proto>
        <param group="GetPName"><ptype>GLenum</ptype> <name>pname</name></param>
        <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>data</name></param>
        <glx type="single" opcode="117"/>
    </command>
    

    而第一个参数 pname 类型 GLenum GetPName .

     <group name="GetPName">
        <enum name="GL_ACCUM_ALPHA_BITS"/>
        <enum name="GL_ACCUM_BLUE_BITS"/>
        <enum name="GL_ACCUM_CLEAR_VALUE"/>
        ...
    </group>
    

    但是,并非所有常数都在 GetPName Khronos 全球的 GL-Enum (枚举没有关联组的常量)。


    解析xml时如何处理这些问题?(我想使用组作为单独的枚举,因为它将添加类型安全性)

    2 回复  |  直到 7 年前
        1
  •  4
  •   Nicol Bolas    7 年前

    XML文件中的组是我称之为“非规范”信息的组。他们试图将分布在近400个扩展规范和十几个主要规范+OpenGL ES中的内容进行编码。但总的来说,你不能真的相信他们是正确的。

        2
  •  2
  •   StailGot    7 年前

    但是,并非所有常量都在GetPName中定义

    最近也面临同样的问题。所以,公关已经合并了。 https://github.com/KhronosGroup/OpenGL-Registry/pull/209

    检查规范并添加修复它的PR https://github.com/KhronosGroup/OpenGL-Registry

    推荐文章