2012-08-16 42 views
0

我有一個很好的場景設置,並且一切都很好,現在我想要遍歷整個世界,類似於如何使用scrollToPoint()調整UIScrollView或CAScrollLayer的原點。我已經確定,我可以通過GLKBaseEffect不斷調整projectionMatrix來改變我所看到的內容,但我不確定這是否是執行操作的適當方式。實現在2D GLKit/iOS遊戲中滾動的最佳做法是什麼?

在其他的代碼,我看到glViewport和這樣的電話,那聽起來喜歡的事,可能是使用正確的事情,但我不知道這是什麼調用實際上呢,所以也許它只是一個紅鯡魚。

做這種事情的典型方法是什麼?

回答

-1

你必須爲此使用你的變換矩陣。換句話說,投影和視圖矩陣是場景中的假照相機,所以,如果您想要滾動場景,則必須將轉換轉換應用於「世界」(移動場景中的對象)或「查看」(移動相機)矩陣。

我建議你這個免費的在線書約OpengLS ES:http://ofps.oreilly.com/titles/9780596804824/chmath.html

+0

好了,這聽起來像周圍的projectionMatrix移動確實是圍繞移動攝像機的適當的方式,是正確的? – 2012-08-16 19:03:11

+1

不完全是,你必須使用視圖矩陣。 OpenGLE ES中有三個矩陣 - 模型(或世界)矩陣用於轉換世界中的單個節點或對象。視圖矩陣用於相對於攝像機視圖變換世界,使得由攝像機確定的應該可視的對象被轉換爲視錐體。投影矩陣負責將可見平截頭體「展平」並將其安裝到屏幕的設備座標上。 – Tutankhamen 2012-08-17 03:44:14

+0

不是每個人都有時間閱讀在線書籍,舉個例子。 – michaelsnowden 2014-03-03 03:43:49

相關問題