Developing a Computer Graphics Course with a Game Development Engine
Dimitrij Hmeljak, Holly Zhang
Abstract
Dimitrij Hmeljak, Holly Zhang
Abstract
This paper reports on an intervention in introductory Computer Graphics courses, where practical coursework is transitioned from standard OpenGL Graphics APIs to the Unity Game Development Engine. Game Development Engines (GDEs) provide powerful programming tools and computing components. Software development in GDEs is facilitated by full-fledged IDEs. Complex scene modeling and image rendering are managed through a rich catalogue of rendering assets. Graphics APIs are evolving towards a lower level of hardware abstraction, reduced overhead, and multithreading capabilities. Such changes in APIs benefit software developers who build graphics engines; how much they benefit Computer Graphics education is yet to be determined. New graphics APIs represent a shift in graphics programming practices, nearly as big as programmable GPUs and shader-based APIs over a decade ago. As then, Computer Graphics instructors have to decide: either use outdated models, or again change how Computer Graphics is taught. This paper describes an educational approach that acknowledges the increasing divide between the ease of use and development speed of GDEs, and the complexity and vastness of new graphics APIs. We show the use of a GDE as software development framework, to support programming assignments covering core Computer Graphics concepts. Relying on a GDE, such graphics assignments don't have to shy away from shader-based graphics programming, while non-graphics low-level tasks are managed by the engine itself. With our approach, we hope to contribute to the discussion about evolving best practices in teaching Computer Graphics.
OpenAlex reports 2 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
This paper reports on an intervention in introductory Computer Graphics courses, where practical coursework is transitioned from standard OpenGL Graphics APIs to the Unity Game Development Engine. Game Development Engines (GDEs) provide powerful programming tools and computing components. Software development in GDEs is facilitated by full-fledged IDEs. Complex scene modeling and image rendering are managed through a rich catalogue of rendering assets. Graphics APIs are evolving towards a lower level of hardware abstraction, reduced overhead, and multithreading capabilities. Such changes in APIs benefit software developers who build graphics engines; how much they benefit Computer Graphics education is yet to be determined. New graphics APIs represent a shift in graphics programming practices, nearly as big as programmable GPUs and shader-based APIs over a decade ago. As then, Computer Graphics instructors have to decide: either use outdated models, or again change how Computer Graphics is taught. This paper describes an educational approach that acknowledges the increasing divide between the ease of use and development speed of GDEs, and the complexity and vastness of new graphics APIs. We show the use of a GDE as software development framework, to support programming assignments covering core Computer Graphics concepts. Relying on a GDE, such graphics assignments don't have to shy away from shader-based graphics programming, while non-graphics low-level tasks are managed by the engine itself. With our approach, we hope to contribute to the discussion about evolving best practices in teaching Computer Graphics.
Key concepts: Computer science, Shader, Software rendering, Rendering (computer graphics), Graphics pipeline, Graphics software, Real-time computer graphics, Graphics