今天沒有多想瑪麗醫(yī)生,一來是因?yàn)榘滋煲蝗缂韧钠v,偉大的1050造就的;二是周五晚上來得總是比周日晚上開心,雖然翹掉了選修課,但是還是沒有寫俺的偽碼,因?yàn)檫€沒想明白呢。
之前的那個(gè)偽碼如果算是思路正常有解的話那也不是OpenGL的瑪麗醫(yī)生,充其量是個(gè)C++版的。根據(jù)貓講的狀態(tài)機(jī)的概念,我想重新設(shè)計(jì)一個(gè)。但是仍然有東西明白不了。比如,我理解了是要一個(gè)frame一個(gè)frame的不停地畫,從而形成動(dòng)畫效果。也就是用那個(gè)畫方塊的OpenGL某函數(shù),只要獲得坐標(biāo)值和顏色就好了,而這些坐標(biāo)值是由操作影響的,也是可以實(shí)現(xiàn)的。但就是每一frame都是要重新畫的,一片空白上再操作,那這樣的話越往后需要畫的東西就越多,它不光要有一個(gè)OpenGL某函數(shù),它要有很多的啊,因?yàn)橹耙驳袈淞撕芏嗄z囊的,這些膠囊的坐標(biāo)有的是不再變換了,有的還要變,這些也能處理,但是需要儲(chǔ)存這些數(shù)據(jù),那豈不是很繁瑣?而且還要調(diào)用很多次某函數(shù)。這就不是一條語(yǔ)句可以解決的啊。
后來看了那個(gè)SwapBuffer,隱約了解了一點(diǎn)兒,但還是沒看出來哪里能實(shí)現(xiàn)這個(gè)不斷地畫的循環(huán),還有它的坐標(biāo)值是怎么存儲(chǔ)的。去吃飯的路上risky說了那叫MainLoop,然后還小鄙視了一下我不知道Loop是循環(huán)的意思。于是想到了貓的留言,說是某Loop替我畫了,這樣子就體會(huì)到OpenGL和C++的區(qū)別了,它更像是一個(gè)接口,就像管道和管道之間的那個(gè)東西一樣,很多東西它幫你實(shí)現(xiàn),它都封裝好了,你只需要告訴它做什么就好了,不需要知道它怎么做,也更不需要自己去做。難道是這樣嗎?不解,我只知道自己還是不知道這些東西。概念模糊,或者就沒有概念。由此不小心想到了專業(yè)英語(yǔ),一些翻譯過來的東西有的時(shí)候很糟糕,或者那些東西在中國(guó)還沒有定義,或者譯者沒能理解那些東西在英語(yǔ)中的意思。要是程序用漢語(yǔ)寫,計(jì)算機(jī)從中國(guó)起步那該多美好啊。
周末不能寫太多,這個(gè)習(xí)慣不能養(yǎng)成,不然以后就沒生活了。收筆,睡覺的時(shí)候再想想,弄明白了明天寫偽碼~~Over...