Qt OpenGL 繪製三角形

2021-10-06 01:32:50 字數 2902 閱讀 2333

一、效果圖

二、**

#ifndef widget_h

#define widget_h

#include

#include

#include

#include

#include

#include

class

widget

:public qopenglwidget,

protected qopenglfunctions

;#endif

// widget_h

#include

"widget.h"

//三角形頂點座標

glfloat vertex=

;//三角形頂點索引

gluint triindexs=

;//三角形頂點顏色

glfloat colors=

;widget::

widget

(qwidget *parent)

:qopenglwidget

(parent)

widget::

~widget()

void widget::

initializegl()

if(!program-

>

addshaderfromsourcefile

(qopenglshader::fragment,

"e:/opengl/opengl/fragmentshader.frag"))

if(!program-

>

link()

)if(!program-

>

bind()

)// 獲取shaderprogram的id號,然後可以通過id號獲取一些屬性...

programid = program-

>

programid()

;// 從shaderprogram裡面獲取變數標識

matrixlocation =

glgetuniformlocation

(programid,

"matrix");

vertexlocation =

glgetattriblocation

(programid,

"vposition");

clorlocation =

glgetattriblocation

(programid,

"vcolor");

// 計算獲得陣列長度

vverticeslen =

sizeof

(vertex)

/sizeof

(glfloat)

; triindexlen =

sizeof

(triindexs)

/sizeof

(gluint)

; colorslen =

sizeof

(colors)

/sizeof

(glfloat)

;// 初始化頂點buffer並裝載資料到視訊記憶體

glgenbuffers(1

,&vervbo)

;glbindbuffer

(gl_array_buffer, vervbo)

;glbufferdata

(gl_array_buffer, vverticeslen *

sizeof

(glfloat)

, vertex, gl_static_draw)

;// 初始化索引buffer並裝載資料到視訊記憶體

glgenbuffers(1

,&indexvbo)

;glbindbuffer

(gl_element_array_buffer, indexvbo)

;glbufferdata

(gl_element_array_buffer, triindexlen *

sizeof

(gluint)

, triindexs, gl_static_draw)

;// 初始化顏色buffer並裝載資料到視訊記憶體

css繪製向左三角形 CSS繪製三角形

1.繪製乙個外邊框 div 2.重定義外邊框樣式 當外邊框有了寬度,不知大家是否想乙個問題,相鄰的線條邊界在哪,下面通過把外邊框相鄰側邊設定不同顏色來觀察 使用下面的語句替換上面的border定義 border bottom 50px solid 555555 border top 50px sol...

CSS繪製三角形

利用css繪製三角形 並應用在相應的場景中,減少的使用,可提高載入速率,降低http請求次數 在同一方向上,大致有三種繪製方式,繪製出來的有兩種規格 在保持寬度不變的情況下 對比圖 假定給第乙個三角形命名為 1,則第二第三個分別為 2,3 先從第三個最小面積的說起,如下 height 0 width...

css繪製三角形

今天,偶遇乙個css繪製三角形的 用處很大哦,分享給大家,送上 1 doctype html 2 html lang en 3 head 4 meta charset utf 8 5 title title title 6 style type text css 7.parent 13.square...