# 几个OpenGL函数（glRectf() 像素重叠的处理方案）

2014/06/20 18:00

glRectf(glfloat x1,glfloat y1，glfloat x2,glfloat y2)：x1,y1指定矩形的一个顶点x2,y2指定矩形反方向的顶点。四个点严格等于下面的序列（x1,y1）（x2,y1）（x2,y2）（x1,y2）。如果第二个顶点在第一个顶点的上方和右侧，那么这个矩形将以逆时针旋转方向构造

glRectf(const glfloat *v1,const glfloat *v2)：v1一个指向矩形的一个顶点的指针，v2一个指向矩形的一个顶点的指针

glEnable(GL_POLYGON_OFFSET_FILL);
glPolygonOffset(1.0f, 0.0f);

glPolygonOffset(factorbias);offset的计算公式是factor * DZ + bias

## Name

glPolygonOffset — set the scale and units used to calculate depth values

## C Specification

 void glPolygonOffset( GLfloat factor, GLfloat units);

## Parameters

• factor

• Specifies a scale factor that is used to create a variable depth offset for each polygon. The initial value is 0.

• units

• Is multiplied by an implementation-specific value to create a constant depth offset. The initial value is 0.

## Description

When GL_POLYGON_OFFSET_FILLGL_POLYGON_OFFSET_LINE, or GL_POLYGON_OFFSET_POINT is enabled, each fragment's depth value will be offset after it is interpolated from the depth values of the appropriate vertices. The value of the offset is factor&times;DZ+r&times;units, where DZ is a measurement of the change in depth relative to the screen area of the polygon, and r is the smallest value that is guaranteed to produce a resolvable offset for a given implementation. The offset is added before the depth test is performed and before the value is written into the depth buffer.

glPolygonOffset is useful for rendering hidden-line images, for applying decals to surfaces, and for rendering solids with highlighted edges.

## Associated Gets

glIsEnabled with argument GL_POLYGON_OFFSET_FILLGL_POLYGON_OFFSET_LINE, or GL_POLYGON_OFFSET_POINT.

glGet with argument GL_POLYGON_OFFSET_FACTOR or GL_POLYGON_OFFSET_UNITS.

0
1 收藏

0 评论
1 收藏
0