shader 頂點顏色屬性

2021-10-08 17:09:22 字數 3283 閱讀 8374

1.頂點除了包含位置資訊之外增加顏色屬性

2.取頂點屬性資料 步長 以及偏移量

3.上面的0 1 對應shader中的location

//glewexperimental = gl_true; //使用有問題 注釋掉if(

glewinit()

!= glew_ok)

glviewport(0

,0,800

,600);

//glpolygonmode(gl_front_and_back, gl_line);

//建立vao並且繫結

unsigned

int vao;

glgenvertexarrays(1

,&vao)

;glbindvertexarray

(vao)

;//建立vbo

unsigned

int vbo;

glgenbuffers(1

,&vbo)

;glbindbuffer

(gl_array_buffer, vbo)

;//資料寫入記憶體

glbufferdata

(gl_array_buffer,

sizeof

(vertices)

, vertices, gl_static_draw)

;//建立ebo

unsigned

int ebo;

glgenbuffers(1

,&ebo)

;glbindbuffer

(gl_element_array_buffer, ebo)

;//資料寫入記憶體

glbufferdata

(gl_element_array_buffer,

sizeof

(indices)

, indices, gl_static_draw)

;//建立頂點著色器 編譯

unsigned

int vertexshader;

vertexshader =

glcreateshader

(gl_vertex_shader)

;glshadersource

(vertexshader,1,

&vertexshadersource,

null);

glcompileshader

(vertexshader)

;//建立片段著色器 編譯

unsigned

int fragshader;

fragshader =

glcreateshader

(gl_fragment_shader)

;glshadersource

(fragshader,1,

&fragshadersource,

null);

glcompileshader

(fragshader)

;//shader program 著色器和在一起 按順序輸入輸出 鏈結

unsigned

int shaderprogram;

shaderprogram =

glcreateprogram()

;glattachshader

(shaderprogram, vertexshader)

;glattachshader

(shaderprogram, fragshader)

;gllinkprogram

(shaderprogram)

;//頂點位置屬性

glvertexattribpointer(0

,3, gl_float, gl_false,6*

sizeof

(float),

(void*)

0);glenablevertexattribarray(0

);//頂點顏色屬性

glvertexattribpointer(1

,3, gl_float, gl_false,6*

sizeof

(float),

(void*)

(3*sizeof

(float))

);glenablevertexattribarray(1

);while(!

glfwwindowshouldclose

(window)

)return0;

}void

processinput

(glfwwindow *window)

}

頂點屬性與頂點格式 頂點緩衝

頂點屬性與頂點格式 頂點可謂是3d世界中的基本元素。在計算機所能描繪的3d世界中,任何物體都是由多邊形構成的,可以是三邊形,也可以是四邊形等。由於三邊形,即三角形所具有的特殊性質決定其在3d世界中得到廣泛的使用。構成三角形需要三個點,這些點的性質就是這章所要講的內容。也許你已經知道頂點的結構定義,你...

shader 入門 一 頂點片元shader

shader xiaosen last 面板上的名字 shader名字 第乙個名字可以用於分類,如不同平台,不同效果等的區分 貼圖 specular specularcolor color 1,1,1,1 gloss gloss range 10,200 20 範圍值 alpha alpha ran...

unity中頂點片段shader環境反射

最近具體聯絡了一下裡面shader的基本寫法,弄來個綜合版本 然後就是最難看出差異的反射計算問題,頂點裡面計算和片段裡面計算的區別 使用的模型是這個,其中右邊的是平滑法線後的模型 具體的差異可以看下面gif圖 可以看出 下面是 shader unlit shenmifangkeshader norm...