WinCE-Based Mobile Graphics Engine(Lancer)

PI: Professor I-fan Shen, Dept of CSE, Fudan University

HyperLinks:     Introduction to OpenGL Hardware Rasterization Architecture

Our System is based on :

 

Research background:

     In the near future, we will live in a world full of embedded mobile appliances. But because of the limitation on embedded systems, we still can't play 3D games on mobile devices. Under this circumstance, our group decided to develop a mobile graphics engine to support 3D games on embedded systems. We will develop this engine in WinCE-based environments, which is developed by Microsoft Co,.Ltd.

    As we all know, Microsoft provided us many excellent Oses on PC—Windows 9x/2000/NT/XP and so on. Most users have been familiar with the windows GUIs. WinCE look like other Windows OSes.

What is an embedded system:

   Embedded systems are different from PCs. The components of embedded systems are customed-built. From the view of computer architecture, embedded systems consist of embedded processors, supporting hardware and embedded software. Supporting hardware includes memory media, (such as ROM, RAM, Flash Memory and so on,),  communication unit, internet interface, display unit and many other units.

Current games on embedded operation systems:

   Though the development of embedded systems are thriving. The games on embedded systems are still very simple. On most mobile phones and devices, we can only play simple card games, chesses, and other simple 2D games with computer. People want to play 3D games not only on PCs but also on embedded devices. People also want to play games with other clever human beings instead of with the "stupid" computers. But the limitation on embedded systems made all these things very difficult.     

Our goals:

   1.Easy to transplant and low power consumption:

         The embedded space varies widely, ranging from 400Mhz PDAs with 64MB RAM to 50MHz mobile phones with 1 MB RAM. The new game client engine is designed to accommodate these differences by requiring a minimum footprint with minimum data storage requirements and minimized instruction/data traffic. For users this means less power consumption and take up less storage on the device.

         Our game engine will compatible with OpenGL. This means most current PC games can be          transplanted to the embedded systems with little change.     

  2.Main graphic functions:

        a). Geometry Processing:

        Vertex arrays, Points, Lines, Triangles, Matrix stack viewpoint, Depth range, Vertex lighting, Shade model and so on.

        b). Rasterization:

        Multi-sampling, Anti-aliased points and lines, Polygons, Face culling, Polygon Offset - fill mode, Texture mapping, 2D textures, Wrap repeat, Edge clamp.

        c). Compressed Texture:

        Multi-texture, RGBA pixel and packed pixel formats, All-filters and so on.

         d). Pixel manipulation:

        Fog, Scissor tests, Alpha tests, Template tests, Depth tests, Blending, Logic operation, Color dithering and so on.

        e). Frame buffer operations/miscellaneous:

        Clear, Read pixels/Alpha tests/Dithering, Flush/Finish, Get-static stat (constants) and so on.

  3.Net functions:

      We will assemble mainstream communication protocols (such as GSM, GPRS, CDMA), and provide a unified call interface to simplify the development of communication modules. Than games developed under this engine can be connected all over the world. People can enjoy the experience of the interaction among human brains.