Thumbnail Image

XNA-like 3D Graphics Programming on the Raspberry Pi

The Raspberry Pi is a credit-card sized computing device created by Broadcom in 2012. This device is a kind of mini PC, and it is capable of doing things that desktop PC can do. The goal of the Raspberry Pi Foundation is to allow people all over the world to learn programming. Therefore, the Raspberry Pi is designed as a small sized, low cost device that can provide reasonable data processing capability. However, because of its goal is to keep the price down to maximize openness for learning, Raspberry Pi can only run the Linux operating system. XNA is a set of libraries developed by Microsoft to facilitate the creation and management of video games. It provides a large number of underlying functions to help the development of systems that based on runtime. Therefore, programmers may focus on programming their own code. XNA is built on Microsoft's .NET framework, and it is designed to be used with DirectX. However, as no drivers are developed to provide the low level API defined by DirectX on Linux, it is currently impossible to program with XNA on a Raspberry Pi. This thesis investigates the possibility of developing XNA like programs directly on the Raspberry Pi. Instead of using DirectX, OpenGL ES is used to provide the low level graphics APIs. The code of a project named "JBBRXG11", which is an open source project extending XNA classes on Windows to access DirectX 10 and DirectX 11 graphics features is used as a reference for this project. The project successfully built a library that allows an XNA like program to produce moving, textured 3D models on screen.
Type of thesis
Wang, L. (2014). XNA-like 3D Graphics Programming on the Raspberry Pi (Thesis, Master of Science (MSc)). University of Waikato, Hamilton, New Zealand. Retrieved from https://hdl.handle.net/10289/8802
University of Waikato
All items in Research Commons are provided for private study and research purposes and are protected by copyright with all rights reserved unless otherwise indicated.