作者DirKai (Dirk_AI(MIX))
看板C_and_CPP
標題[問題] openGL 貼bmp圖,如何更新圖片?
時間Thu Oct 27 10:11:07 2016
開發平台(Platform): (Ex: Win10, Linux, ...)
win7
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
mingw
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
openGL
問題(Question):
已完成show出一張圖片,現在需要更新這張圖片,
google後知道要使用glTexSubImage2D(),
可是不知道要在哪裡放這個function,目前作法是寫了一個副程式refresh_tex,
寫的跟prepare_tex副程式幾乎一樣,只是把原本的glTexImage2D改成glTexSubImage2D
然後main()裡面call prepare_tex("1.bmp")後再call一次refresh_tex("2.bmp")
這樣的確是顯示2.bmp,但我不知道到底螢幕有沒有先顯示1.bmp,
所以寫了
.
.
.
prepare_tex("1.bmp");
while(1)
{
refresh_tex("2.bmp");
refresh_tex("3.bmp");
.
.
.
}
glutMainloop();
餵入的資料(Input):
數張bmp圖
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
結果程式當掉
程式碼(Code):(請善用置底文網頁, 記得排版)
原本讀入一張,用此網頁的程式碼
http://www.programmer-club.com.tw/ShowSameTitleN/opengl/1227.html
補充說明(Supplement):
請問glTexSubImage2D()正確該如何使用呢? 我是openGl新手,希望前輩能開導
不太知道該怎麼像播影片一樣連續讀入很多張圖show在螢幕,
我用的方法應該是錯的吧?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.54.15
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1477534270.A.BC5.html
1F:推 Bencrie: 你需要連續觸發 display event,可以用 timer 之類的 10/27 12:57
B大,謝謝您,但是我不太懂glTexSubImage2D要放在哪邊耶
google好久都沒有一個完整example可以參考
((如果不是那麼急我就從頭學了))
※ 編輯: DirKai (118.163.54.15), 10/27/2016 13:19:26
2F:→ Schottky: 同一樓,既然你用了 glut 就用他的 glutTimerFunc() 吧 10/27 13:48
3F:→ Schottky: 設定每 3 秒換一次圖應該就是你要的了 10/27 13:49
完成了!!!!!!!!!!!!!!!! 太感謝兩位了
謝謝你們!!!!!!!!!!!
※ 編輯: DirKai (118.163.54.15), 10/27/2016 17:23:36