glEdgeFlagv的目的是什么?

我知道glEdgeFlagv和glEdgeFlag做的是切换边界边缘状态,但是我的问题是为什么当文档指定唯一的区别是glEdgeFlagv需要(引用文档)时,v版本存在:

指向包含单个布尔元素的数组的指针,该元素将replace当前边缘标志值。

有一个特殊的版本需要指向一个长度为一个数组的指针有什么意义? 我无法想象它让你切换指向bool以后更改值,因为文档将不得不提到,以避免无意中释放。 我不知道任何一个指针比bool小的平台。 什么时候会使用glEdgeFlagv代替glEdgeFlag?

这是为了与其他API的完整性和一致性。 有glVertex,glColor,glTexCoord等vectorformsglEdgeFlag是该组函数的一部分; 因此,有一个glEdgeFlag的vector版本。

如果您正在寻找graphics的轮廓部分,可以尝试在其上使用浮雕filter。 轮廓将以白色突出显示,并删除低于一定公差的其他非白色像素。

这里有一个体面的链接,谈论各种图像filter和matrix完成它们: 用C#和GDI的image processing傻瓜+第2部分 – 卷积滤镜