移植纹理函数

将 IRIS GL 纹理函数移植到 OpenGL 时,请记住以下几点:

  • OpenGL 不维护纹理表;它仅使用 1D 纹理和 2D 纹理。 若要重复使用 IRIS GL 代码中的纹理,请将它们放在显示列表中。

  • OpenGL 不会自动生成 mipmap。 如果使用 mipmap,则必须首先调用 gluBuild2DMipmaps 函数。

  • 在 OpenGL 中,使用 glEnable,并 glDisable 打开和关闭纹理功能。

  • 在 OpenGL 中,纹理大小比 IRIS GL 更严格监管。 OpenGL 纹理的大小必须是:

    2n + 2b

    其中,n 是整数,b

    • 0,如果纹理没有边框
    • 1,如果纹理具有边框像素(OpenGL 纹理可以具有 1 像素边框)。

下表列出了 IRIS GL 纹理函数及其常规 OpenGL 等效项。

IRIS GL 函数 OpenGL 函数 意义
textdef2d glTexImage2DglTexParameter
gluBuild2DMipmaps
指定二维纹理图像。
textbind glTexImage2DglTexParameter
gluBuild2DMipmaps
选择纹理函数。
tevdef glTexEnv 定义纹理映射环境。
tevbind glTexEnvglTexImage1D
选择纹理环境。
t2 glTexCoord 设置当前纹理坐标。
texgen glTexGenglGetTexParameter
gluBuild1DMipmaps
gluBuild2DMipmaps
gluScaleImage
控制纹理坐标的生成。将图像缩放为任意大小。

有关文本编写的详细信息,请参阅 OpenGL 编程指南

本主题包括以下内容的相关信息。