[問題] openGL 貼bmp圖,如何更新圖片?

作者: DirKai (Dirk_AI(MIX))   2016-10-27 10:11:07
開發平台(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在螢幕,
我用的方法應該是錯的吧?
作者: Bencrie   2016-10-27 12:57:00
你需要連續觸發 display event,可以用 timer 之類的
作者: Schottky (順風相送)   2016-10-27 13:48:00
同一樓,既然你用了 glut 就用他的 glutTimerFunc() 吧設定每 3 秒換一次圖應該就是你要的了

Links booklink

Contact Us: admin [ a t ] ucptt.com