openGL學習筆記二十四 紋理迴圈滾動

2021-10-05 06:07:42 字數 2072 閱讀 9012

通過每幀改變紋理uv座標實現紋理迴圈滾動。

_texturev   +=  0.01f;

//這裡設定乙個矩形區域 並設定紋理uv座標

for(int i = 0; i < 4; ++i)

//頂點資料

struct vertex

;//紋理id

gluint _texture;

float _texturev =0;

;static fibitmap*

readimage

(const

char

* filename)

//2 載入

fibitmap *dib =

freeimage_load

(fifmt, filename,0)

; free_image_color_type type =

freeimage_getcolortype

(dib)

;//! 獲取資料指標

fibitmap* temp = dib;

dib =

freeimage_convertto32bits

(dib)

;freeimage_unload

(temp)

; byte* pixels =

(byte*

)freeimage_getbits

(dib)

;int width =

freeimage_getwidth

(dib)

;int height =

freeimage_getheight

(dib)

;for

(int i =

0; i < width * height *

4; i+=4

)return dib;

}static

void

oninit()

// 繪製

static

void

render

(glfwwindow * window),,

,,};

for(

int i =

0; i <4;

++i)

glmatrixmode

(gl_modelview)

;glbindtexture

(gl_texture_2d, _texture)

;glenable

(gl_depth_test)

;glenable

(gl_texture_2d)

;glenableclientstate

(gl_vertex_array)

;glenableclientstate

(gl_texture_coord_array)

;glvertexpointer(3

, gl_float,

sizeof

(vertex)

,&cubevertices[0]

.x);

gltexcoordpointer(2

, gl_float,

sizeof

(vertex)

,&cubevertices[0]

.u);

// 清成單位矩陣

glloadidentity()

;// 產生乙個矩陣

CUDA學習(二十四)

共享記憶體的影響 共享記憶體在多 種情況下可能會有所幫助,例如幫助合併或消除對全域性記憶體的冗餘訪問。但是,它也可以作為占用限制。在許多情況下,核心所需的共享記憶體量與所選塊的大小有關,但執行緒與共享記憶體元素的對映不需要是一對一的。例如,可能需要在核心中使用32x32元素共享記憶體陣列,但由於每塊...

第二十四周學習筆記

自監督關鍵點檢測和特徵描述子生成 自監督訓練方法 使用全卷積神經網路架構,乙個共享的encoder對進行編碼,兩個decoder分別檢測關鍵點和生成描述子 outperform lift in almost all metrics quantitatively scores strongly in ...

C 學習筆記(二十四)迭代器

迭代器 迭代器是自動生成可列舉型別和列舉數的結構。1.迭代器塊 迭代器塊是有乙個或多個yield語句的 塊。方法主體 訪問器主體 運算子主體都可以是迭代器塊。迭代器塊不需要同一時間內執行一串行的命令式語句,而是描述編譯器建立列舉數類的行為。yield return 語句執行了序列中返回的下一項。yi...