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

看板C_and_CPP作者 (Dirk_AI(MIX))時間7年前 (2016/10/27 10:11), 7年前編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/1
開發平台(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://www.ptt.cc/bbs/C_and_CPP/M.1477534270.A.BC5.html

10/27 12:57, , 1F
你需要連續觸發 display event,可以用 timer 之類的
10/27 12:57, 1F
B大,謝謝您,但是我不太懂glTexSubImage2D要放在哪邊耶 google好久都沒有一個完整example可以參考 ((如果不是那麼急我就從頭學了)) ※ 編輯: DirKai (118.163.54.15), 10/27/2016 13:19:26

10/27 13:48, , 2F
同一樓,既然你用了 glut 就用他的 glutTimerFunc() 吧
10/27 13:48, 2F

10/27 13:49, , 3F
設定每 3 秒換一次圖應該就是你要的了
10/27 13:49, 3F
完成了!!!!!!!!!!!!!!!! 太感謝兩位了 謝謝你們!!!!!!!!!!! ※ 編輯: DirKai (118.163.54.15), 10/27/2016 17:23:36
文章代碼(AID): #1O4M8-l5 (C_and_CPP)