QLGame 2d Engine SpriteBatch類建立

             GitHub地址:https://github.com/wsgzxl/QLGame2dEngine

              今天說五個問題:

              1.前面說到的 顏色不對的問題,是由於FreeImage讀取出來的數據格式與OpenGL顯示須要的順序不一致,因此有些顏色不對,已經在TextureManager類TextureManager::FIBitmap2GLBitmap方法進行了處理!

              2.對PNG透明圖片的渲染採用的是用

                    glEnable(GL_BLEND);

                    glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);

                    注意這兩句必須寫在glBegin()方法以前,不然無效!

              3.如何實現座標系的對應,也就是咱們習慣使用的2D座標系,左上角(0,0)右下角(窗口的長,窗口的寬)

                 glOrtho,這個函數是顯示2D視圖的,這個方法有六個參數

                (左,右,前,後,近,遠)

                  舉個例子 若是是800*600的窗口,那麼能夠寫成(0,800,600,0,-100,100)

                  其實,寫成(0,800,0,600,-100,100)也能夠實現opengl中的一個單位長度對應屏幕一個像素,而由於2D的Y,是越往下,值越大,而3D的Y,是越往下,值越小,因此,將600和0交換以後,就完美實現了和2D遊戲同樣的座標系了!

              4.SpriteBatch暫時只支持設置位置座標,還不支持設定旋轉和縮放方法,之後會提供!

              5.提供了幀率控制,幀率的顯示是顯示在控制檯窗口中的!        

相關文章
相關標籤/搜索