だから私は、OpenGLを使って多くの2D形状の輪郭を描こうとしています(私は簡単だと思います)。glLineWidth(w);
私の最初の問題は、w = 10 または w = 3000 (またはそれ以上の数) は同じ線の太さを示しますが、w=3 のような小さいものは細い線。
これは何か関係があると思います。私の最大値は 7 のようですが、それを増やすことはできますか? 太い線が描きたいだけ!!
float lineWidth[2];
glGetFloatv(GL_LINE_WIDTH_RANGE, lineWidth);
std::cout<<"min: "<< lineWidth[0]<<" max: "<<lineWidth[1]<<"------\n";
私の 2 番目の問題は、線が交わる点が整列していないように見えることです。これにより、すべての形状 (長方形、円、三角形) に小さなビットが欠けているように見えます。これは、ここで言及されている動作です。円の輪郭の割合を描画しますが、投稿の内容から修正できなかったようです。
これは、長方形を描画するために使用しているコードです。
glLineWidth(20);
glBegin(GL_LINE_LOOP);
glVertex2f(x1, y1);//1
glVertex2f(a1, a2);//2
glVertex2f(x2, y2);//3
glVertex2f(b1, b2);//4
glEnd();
上記の投稿から、これは私がサークルに使用しているコードです:
glEnable(GL_LINE_SMOOTH);
glLineWidth(10);
glBegin(GL_LINE_STRIP);
for (int i=0; i < (360/10*100/10); i++) {
float degInRad = i*DEG2RAD;
glVertex2f(x1+cos(degInRad)*r,y1+sin(degInRad)*r); }
glEnd();
「欠落しているビット」は次のようになります。
この投稿も見てきましたOpenGLを使用して2Dモードで完璧なワイヤーフレームの長方形をレンダリングする方法? しかし、そこからリードをたどっても、実際には役に立ちませんでした。