OpenGL學習筆記四(多邊形)

2021-08-20 05:00:22 字數 1043 閱讀 3286

在qt中的opengl模組中,使用opengl是比較簡單的,只需要在你建立的專案中新增 qopenglwidget 和qopenglfunctions就可以使用opengl基本上所有的功能。

#include 

#include

在qt中使用opengl繪製點線也非常簡單。在開始繪製點線之前有幾個函式是必須實現。

void initializegl() override; //此處開始對opengl進行所有設定

void resizegl(int w, int h) override; //重置opengl視窗的大小

void paintgl() override; //從這裡開始進行所有的繪製

上面三個函式都是opengl中所需要實現的函式,initialzegl()函式是初始話opengl,什麼啟動紋理啊、啟動深度測試啊、啟動影陰啊,都在這裡面幹的,resizegl()函式就是設定窗體的,比如窗體大小、比例、投影方式(正投影還是透視投影)。paintgl()函式所有的圖形繪製都在這裡進行。

好了現在就開始繪製點線了,首先是initializegl()。

void borad::initializegl()

然後是resizegl()函式。

void borad::resizegl(int w, int h)

開始繪製函式了paintgl()了。

void borad::paintgl()

在上面的函式中繪製圖形都必須在glbegin()中進行繪製完成需要來個glend()結束。

在glbegin()函式的中的引數是你想要繪製什麼,比如線、點、面。

引數列表如下:

多邊形的繪製就是在glbegin()函式中新增引數gl_line_loop,把你想要繪製的多邊形的點全部連線一起,繪製成多邊形,當然也可以使用其他的引數來設計你的圖形。

OpenGL 多邊形偏移

include gltools.h include glshadermanager.h include else define freeglut static include endif gluint list glint spinx 0 glint spiny 0 glfloat tdist 0....

OpenGL學習 點 直線 多邊形

上一課中,我們學習了如何繪製幾何圖形,但大家如果多寫幾個程式,就會發現其實還是有些鬱悶之處。例如 點太小,難以看清楚 直線也太細,不舒服 或者想畫虛線,但不知道方法只能用許多短直線,甚至用點組合而成。這些問題將在本課中被解決。下面就點 直線 多邊形分別討論。1 關於點 點的大小預設為1個畫素,但也可...

OpenGL 多邊形的鏤空

1.凸多邊形的定義是多邊形的內角均小於180 2.多邊形可以設定鏤空效果,使用glenable gl polygon stipple 開啟鏤空模式,之後使用glpolygonstipple 設定鏤空基本圖案。void glpolygonstipple const glubyte mask mask是...