所以我想(我認爲簡單)用OpenGL畫出了許多2D形狀的輪廓。這一切似乎工作,直到我試圖改變使用glLineWidth(w);
輪廓的線條厚度我的第一個問題是,W = 10或W = 3000(或任何更大的數字)顯示相同的線條厚度,但更小的像W = 3產生更細的線。在改變線條粗細的同時繪製OpenGL中2D形狀的輪廓
我覺得這跟它有點關係。我的最大似乎是7我可以增加或什麼?我只是想畫一條粗線!
float lineWidth[2];
glGetFloatv(GL_LINE_WIDTH_RANGE, lineWidth);
std::cout<<"min: "<< lineWidth[0]<<" max: "<<lineWidth[1]<<"------\n";
我的第二個問題是,似乎在這我的臺詞滿足點不排隊什麼的,這使得它看起來像豆蔻位在我所有的形狀(矩形,圓形,三角形)失蹤。這是行爲在這裏已經提到Draw percentage of circle outline,但我似乎無法解決它從帖子中所說的內容。
這是我用來繪製一個矩形的代碼:
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();
的「失蹤」位看起來是這樣的:
我已經人所以看看這個帖子How to render perfect wireframed rectangle in 2D mode with OpenGL?但是從那裏的線索並沒有真正的幫助。