This repository showcases my experience and skills in utilizing application programming interface (API) libraries and industry best practices to build modular/portable, scalable, and reliable software applications. The goal of this project is to create a 3-dimensional scene from a 2-dimensional image using the OpenGL API and OpenGL Shading Language (GLSL). The 3D representation utilizes low-polygon models constructed from primitive shapes and composed of many interconnected triangles. Completing this project provided me with invaluable experience in breaking down complex project requirements and successfully building and deploying a fully functional application. This project also honed my skills in C++ programming language and reading and translating API documentation, allowing me to implement industry best practices throughout the development process.
- 3D Rendering: Utilized OpenGL to render three-dimensional objects with realistic textures and shading.
- User Interaction: Implemented intuitive user navigation controls to explore the 3D scene.
- Low-Polygon Models: Created efficient models using primitive shapes, optimizing for performance without compromising visual quality.
- Continuous Integration: Leveraged CI tools to maintain code quality and facilitate version control.
Through this project, I have honed several key skills and utilized various technologies, including:
- Advanced C++: Enhanced proficiency in C++ for efficient and effective coding.
- OpenGL and GLSL: Gained in-depth knowledge of graphic pipelines and shader programming.
- Continuous Integration: Applied CI practices to streamline development and ensure robust code management.
My approach to software design is systematic and analytical. I begin by documenting all known requirements and identifying unknowns. Creating a skeleton outline for necessary classes, functions, and variables helps in visualizing the system’s structure. For larger projects, I organize the repository with empty folders representing different components to get a clear understanding of the system architecture.
The integration of technology into society is accelerating, making computational graphics increasingly vital. Virtual classrooms, enhanced research capabilities, and innovative solutions to global challenges are just a few areas where graphics and AI play a transformative role. My goal is to leverage these technologies to contribute meaningfully to advancements in education, research, and problem-solving on a global scale.