我是靠谱客的博主 认真煎饼,最近开发中收集的这篇文章主要介绍几个OpenGL函数(glRectf() 像素重叠的处理方案),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

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

http://www.opengl.org/sdk/docs/man/html/glPolygonOffset.xhtml

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×DZ+r×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.

See Also

glDepthFunc, glEnable, glGet, glIsEnabled

Copyright

Copyright © 1991-2006 Silicon Graphics, Inc. Copyright © 2010-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/.



转载于:https://my.oschina.net/u/1469992/blog/282489

最后

以上就是认真煎饼为你收集整理的几个OpenGL函数(glRectf() 像素重叠的处理方案)的全部内容,希望文章能够帮你解决几个OpenGL函数(glRectf() 像素重叠的处理方案)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部