Fairground OpenGL

Fairground OpenGL

2020

JavaOpenGLMavenShadersBezier

Key Learnings

Undertaking the Fairground project equipped me with valuable insights into various aspects of computer graphics. Key learnings from this project include:

  • OpenGL Framework: Gained hands-on experience with the OpenGL framework, exploring its capabilities for rendering graphics and managing scenes.

  • Maven Project Setup: Set up and worked with a Maven project, providing a streamlined development process and ensuring project consistency.

  • Geometric Object Rendering: Developed skills in rendering geometric objects within the scene, extending the GUI and incorporating interactive elements.

  • Camera Implementations: Implemented both a flying camera and a first-person camera, offering diverse perspectives within the virtual environment.

  • Shader Programming: Utilized fragment shaders for controlling surface properties, enhancing the visual appeal of rendered objects.

  • Bezier Curves: Implemented a winding, texture-mapped path using cubic Bezier curves, demonstrating a practical understanding of curve-based graphics.

  • Lighting Techniques: Positioned light poles and implemented a night mode with toggle functionality, exploring lighting effects for improved scene aesthetics.

Technologies Used

The Fairground OpenGL project was undertaken using a combination of technologies to explore and implement various computer graphics concepts. The key technologies include:

  • OpenGL: Leveraged the OpenGL framework for rendering graphics and managing the virtual environment.

  • Java and Maven: Utilized Java for application development and Maven for project management, ensuring consistency and efficiency.

Abstract

The Fairground OpenGL project involved the exploration and application of computer graphics principles within the OpenGL framework. The assignment, structured into various exercises, provided hands-on experience in designing a fairground with animated attractions and surroundings.

Code available upon request