作者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/cn.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