[問題] OpenGL 是否有延遲的功能 ?
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Code::Blocks / MinGW
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
OpenGL
GLUT
問題(Question):
小弟目前剛學 OpenGL (三天)
想用來跑 2D 平面繪圖 (簡單的動畫)
我想連續輸出畫面
但是中間要暫停個0.1秒
不然跑太快閃過去就沒了
只剩最後一張圖而已
我自己想說用 _sleep(100) 這樣子的功能去暫停
但結果是暫停時間內整個程式會當掉不用動
還是沒辦法達成動畫的效果
程式碼(Code):(請善用置底文網頁, 記得排版)
http://pastie.org/2992365
補充說明(Supplement):
成功的話
應該會看到色點往四個角落移動
不過實際上只會看到最後的點而已
中間的過程都不見了
麻煩各位高手們看看能不能給點提示
感謝 ~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.114.221.54
推
12/10 02:49, , 1F
12/10 02:49, 1F
→
12/10 02:53, , 2F
12/10 02:53, 2F
→
12/10 02:53, , 3F
12/10 02:53, 3F
→
12/10 06:40, , 4F
12/10 06:40, 4F
謝謝兩位
程式小修改後大致上可以跑
但是不知道為什麼
跑兩次就自己停掉了
不會無限循環下去
然後視窗感覺還是盪盪的
※ 編輯: cory8249 來自: 140.114.221.54 (12/12 21:24)
→
12/12 21:29, , 5F
12/12 21:29, 5F
→
12/12 21:29, , 6F
12/12 21:29, 6F
→
12/12 21:31, , 7F
12/12 21:31, 7F
關於 TimerFunc 這部分
我在網路上看來看去還是不太明白
亂改的程式碼: http://pastie.org/3005736
會呈現一直在重繪的情況
還是沒有 delay @@"
※ 編輯: cory8249 來自: 140.114.221.54 (12/13 00:04)
推
12/13 00:19, , 8F
12/13 00:19, 8F
→
12/13 00:20, , 9F
12/13 00:20, 9F
→
12/13 00:21, , 10F
12/13 00:21, 10F
→
12/13 00:21, , 11F
12/13 00:21, 11F
→
12/13 00:22, , 12F
12/13 00:22, 12F
→
12/13 00:23, , 13F
12/13 00:23, 13F
→
12/13 00:23, , 14F
12/13 00:23, 14F
→
12/13 00:28, , 15F
12/13 00:28, 15F
→
12/13 00:31, , 16F
12/13 00:31, 16F
對不起 我資質駑鈍 弄一弄都變成全黑一片
我想做到以下兩點:
1. 像 _sleep() 這樣的延遲功能
就是每次畫一次小方塊之後 都短暫停個 0.2 秒 (舉例來說)
然後下一次 小方塊的位置、顏色都改變之後 再把它畫出來
也就是方塊會慢慢變亮、從內移往外移動 , 像動畫那樣
clear那邊如果不打 他會全部連在一起 變成一條線
我是想要方塊移動的樣子
2. 以上流程可以一直重複的跑
若鍵盤輸入 p 就暫停
輸入 r 回復播放動畫
輸入 q 或者 ESC 之類的才結束
Thanks !!
※ 編輯: cory8249 來自: 140.114.221.54 (12/13 02:02)
推
12/13 10:23, , 17F
12/13 10:23, 17F
→
12/13 10:23, , 18F
12/13 10:23, 18F
→
12/13 10:23, , 19F
12/13 10:23, 19F
→
12/13 10:24, , 20F
12/13 10:24, 20F
→
12/13 10:26, , 21F
12/13 10:26, 21F
→
12/13 10:27, , 22F
12/13 10:27, 22F
→
12/13 10:28, , 23F
12/13 10:28, 23F
→
12/13 10:28, , 24F
12/13 10:28, 24F
推
12/13 10:34, , 25F
12/13 10:34, 25F
→
12/13 10:38, , 26F
12/13 10:38, 26F
→
12/13 10:38, , 27F
12/13 10:38, 27F
→
12/13 10:39, , 28F
12/13 10:39, 28F
→
12/13 10:39, , 29F
12/13 10:39, 29F
原來如此 ... 感謝 V大 詳細的講解
不過我還是不太清楚 void TimerFunction(int value);
還有 glutTimerFunc(millisecond,TimerFunction, value);
他的引數 value 是做什麼用的? (這邊看似沒用到 ?)
然後 關於整個 glut 的流程
感覺還是一知半解
我另外加了一個三角形 http://pastie.org/3009372
如果想要兩個輪流 (或者同時) display 該怎麼做 ?
glutPostRedisplay() 是重播哪個函數 ?
※ 編輯: cory8249 來自: 140.114.221.54 (12/13 17:09)
推
12/13 22:14, , 30F
12/13 22:14, 30F
→
12/13 22:15, , 31F
12/13 22:15, 31F
官方說明文件有看過幾遍了
不過小弟程度粗淺 不慎明白 @@"
這部分我再慢慢 google 看看好了
這幾天麻煩 V大 了
真是非常感謝 !!
※ 編輯: cory8249 來自: 140.114.221.54 (12/14 03:04)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章