opengl

来源:互联网 发布:c语言双引号作用 编辑:程序博客网 时间:2024/05/17 09:31

glTexCoord2f的用法

 

在OpenGL中,负责二维纹理载入的函数是glTexCoord2f()。其声明为:

glTexCoord2f(GLfloat s, GLfloat t)函数原型

有两个参数:GLfloat s, GLfloat t

第一个参数代表X坐标。 0.0f 是纹理的左侧。 0.5f 是纹理的中点, 1.0f 是纹理的右侧。

第二个参数代表Y坐标。 0.0f 是纹理的底部。 0.5f 是纹理的中点, 1.0f 是纹理的顶部。

一个完全纹理的四个顶点的坐标分别是(0.0f, 0.0f)、(0.0f, 1.0f)、(1.0f, 1.0f)、(1.0f, 0.0f),分别对应左下、左上、右上、右下角。

可以这么认为,纹理一个挨着一个粘在坐标轴上,显示多个、显示那部分完全由四个顶点坐标决定。

比如显示3行2列个位图(共6个),坐标可以这样:(0.0f, 0.0f)、(0.0f, 3.0f)、(2.0f, 3.0f)、(2.0f, 0.0f)。

注意:载入的位图大小必须是M*M,M是2的某次方,如32,64,128等。否则贴图将会乱,可以用PS来处理一下

 

gluOtho2d及glViewport的作用

gluOtho2d及glViewport两个函数的作用:

     一、gluOtho2d()

        这个函数是定义剪裁面,何谓剪裁面,我这样理解,我们是在一个无限的空间里绘图,因为坐标是 可以随便指定的,随便在哪个坐标绘图,但是我们可以通过定一个剪裁面,也就是说,有一架照相机,尽管沿途风景很多,但是镜头只能拍到一定的范围,这个范围就是我们的剪裁面,我们能显示的就是这个剪裁面。

     二、glViewPort()

        这个函数跟上面的相似,但是我们发现上面的指定一个剪裁面后,是在我们定义的窗口的整个窗口中显示我们剪裁出来的面,而这个函数就是为了在一部分中显我们要显示的剪裁面,即,我们先取景(就是用gluOrtho2D()剪出来那个),然后在我们定义的窗口中选一个区域来显示这个取好的景。

 

 

 

0 0