【发布时间】:2015-01-08 01:18:52
【问题描述】:
我最近在玩 glPolygonOffset(factor, units),发现了一些有趣的东西。
我使用了 GL_POLYGON_OFFSET_FILL,并将因子和单位设置为负值,以便拉出填充的对象。这个被拉出的对象应该覆盖在它之后绘制的线框。
这适用于对象内部的像素。但是对于那些在对象轮廓上的,似乎填充的对象没有被拉出来,那里仍然有线条。
在拉取填充对象之前:
拉取填充物后:
glEnable(GL_POLYGON_OFFSET_FILL);
float line_offset_slope = -1.f;
float line_offset_unit = 0.f;
// I also tried slope = 0.f and unit = -1.f, no changes
glPolygonOffset( line_offset_slope, line_offset_unit );
DrawGeo();
glDisable( GL_POLYGON_OFFSET_FILL );
glPolygonMode( GL_FRONT_AND_BACK, GL_LINE );
DrawGeo();
我阅读了THIS POST 关于 glPolygonOffset() 的含义和用法。但我还是不明白为什么拉动不会发生在边框上的那些像素上。
【问题讨论】: