• 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.提供了帧率控制,帧率的显示是显示在控制台窗口中的!        

  • 相关阅读:
    vim配置
    git rebase
    mongodb的docker-compose.yml
    Nginx配置BrowserRouter跟随react-router
    Flux Architecture & Redux Data Flow & redux & react-redux PPT
    from acwing 从算法数量推算算法复杂度
    evalRPN 逆波兰算术
    二分区间
    Flex布局
    Treap 模板
  • 原文地址:https://www.cnblogs.com/alongu3d/p/4354849.html
Copyright © 2020-2023  润新知