opengl(1)

opengl(一)

函数:glClearDepth()

说到这个先来说一下深度缓存:在生活中一个物体(实心的)很有可能会挡住另一个物体,那么opengl应该对这个怎么办呢。那么就引入了这个深度缓存的概念,目的就是把挡住的部分去掉。接下来就可以介绍这个函数了。

这个函数的目的就是为了给深度缓存一个值。

那么到底是显示前面的物体还是被挡住的物体呢,我们要使用另一个函数glDepthFunc()。

GL_NEVER,不通过(输入的深度值不取代参考值)
GL_LESS,如果输入的深度值小于参考值,则通过
GL_EQUAL,如果输入的深度值等于参考值,则通过
GL_LEQUAL,如果输入的深度值小于或等于参考值,则通过
GL_GREATER,如果输入的深度值大于参考值,则通过
GL_NOTEQUAL,如果输入的深度值不等于参考值,则通过
GL_GEQUAL,如果输入的深度值大于或等于参考值,则通过
GL_ALWAYS,总是通过(输入的深度值取代参考值)
这些是它内部的参数,使用第二个就可以显示小于等于参考值的部分,第五个就和这个相反。



函数 glHint(),这个就是为了如果不能满足内部第一个个参数的条件那么就要去进行第二个参数代表的运算。

第一个参数:

GL_FOG_HINT
指示雾计算的准确性。 如果 OpenGL 实现不有效地支持每像素雾计算,提示 GL_DONT_CARE 或 GL_FASTEST 会导致每个顶点雾化效果计算。
GL_LINE_SMOOTH_HINT
指示是锯消除行的采样质量。如果应用了一个较大的筛选器函数,则将提示 GL_NICEST 可能会导致生成过程中栅格化,更多像素碎片。
GL_PERSPECTIVE_CORRECTION_HINT
表示颜色和纹理坐标插补的质量。 如果角度更正参数插值不有效地支持由 OpenGL 实现,提示 GL_DONT_CARE 或 GL_FASTEST 可以导致简单线性插值的颜色和/或纹理坐标。
GL_POINT_SMOOTH_HINT
表示是锯消除点采样的质量。 如果应用了一个较大的筛选器函数, 则将提示 GL_NICEST 可能会导致生成 过程中栅格化,更多像素碎片。
GL_POLYGON_SMOOTH_HINT
指示是锯消除多边形的采样质量 。如果应用了一个较大的筛选器函数,则将提示GL_NICEST 可能会导致生 成过程中栅格化, 更多像素碎片。

第二个参数:
GL_FASTEST
应选择最有效的选项。
GL_NICEST
应选择最正确或最高质量的选项。
GL_DONT_CARE
客户端没有一个首选项。
返回值
返回以下错误代码和他们的条件。
返回代码
说明
GL_INVALID_ENUM
目标 或 模式 不被接受的值。
GL_INVALID_OPERATION
不能在调用 glBegin 和 glEnd 的相应调用之间被调用该函数。
exp:glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);这个是让系统优化界面用的。


最后来讲一下函数gluPerspective(GLdouble fovy,GLdouble aspect,GLdouble zNear,GLdouble zFar)
这个是原型。第一个参数是指你视角的大小,第二个是长和宽的比值,第三个是你离近处面的距离,第四个是你离远处面的距离。这样讲很抽象,给张图就懂了。

opengl(1)

这个函数的目的是为了设置视口大小用的。