opengl 使用 texture2d 關鍵步驟

2021-07-27 13:59:08 字數 1040 閱讀 5297

生成 texture2d 的步驟

1. 準備 紋理的畫素資料  imagedata

2. glgentextures();  存放在乙個 控制代碼 gluint texture 

3. glbindtexture() 剛才生成的 texture, 第乙個引數是 gl_texture_2d

4. glteximage2d() ,用 imagedata 和 剛才繫結的 texture  結合起來,這樣texture 生成完畢

5. 清理 imagedata 記憶體

6. glbindtexture()  第乙個引數 是 gl_texture_2d, 第二個傳 0. 和 剛才的 texture 控制代碼 解除繫結

gluint generatetexture(std::string filepath)

7. 使用 紋理時

glactivetexture(gl_texture0);

glbindtexture(gl_texture_2d, texture);

gluniform1i(glgetuniformlocation(shaderprogram, "outtexture"),0);

glactivetexture(gl_texture1);

glbindtexture(gl_texture_2d, texture);

gluniform1i(glgetuniformlocation(shaderprogram, "outtexture1"),1);

最後 gluniform1i() 的引數 0,1  指代 shader 裡的  sampler2d對應 gl_texture0, gl_texture1

對應的 fragment shader:

#version 330 core

out vec4 color;

in vec4 vertexcolor;

in vec2 texcoord;

uniform sampler2d outtexture;

uniform sampler2d outtexture2;

void main()

紋理表示 Texture

個人部落格 blog.moon.top 紋理是由一些基元以某種方式組合起來,雖然看起來很 亂 但任然存在一些規律 規則的紋理與不規則的紋理 使用高斯偏導核,對影象進行卷積,x方向的偏導得到的是豎直紋理,y方向的偏導得到的是水平紋理 統計各個方向的紋理數量,在圖中表示出來,不同的區域對映的是不同的紋理...

GLSL繫結多個Texture

首先生成紋理索引 gluint textures glgentextures 2,textures glgentextures第乙個引數是生成texture索引的個數,第二個是索引的指標.通過生成索引之後會發現textures的值變成 繫結紋理 opengl是個狀態機 直接把資料傳給已經繫結的紋理 ...

何為Texture何為Material

何為texture何為material texture 紋理 偏向圖,通過字面意思,紋身.通俗的講為物體在白色漫射光照下,各點的反射率。material 材質 偏向屬性,物體在環境光 漫射光 直射光甚至自發光照射下的反射率 例子 比如石灰,在白色光照射下,它是白色的。但是在紅色光照射下,它是紅色的。...