Skip to content

This repository contains the final project for the CS 330 course, where I developed a 3D scene using OpenGL. The project showcases 3D modeling, textures, lighting, and interactive camera controls. The experience enhanced my skills in computational graphics and iterative development, offering insights for future educational and professional goals.

Notifications You must be signed in to change notification settings

jperry82/CS-330-Comp-Graphic-and-Visualization

Repository files navigation

Project Overview

This repository contains the final project for the CS 330 course, which focuses on creating a 3D scene using OpenGL. The project involved designing and developing a realistic 3D scene with multiple objects, textures, lighting, and interactive camera controls. This README provides insights into the design and development process, as well as reflections on how computational graphics and visualizations can help in achieving future educational and professional goals.

Design and Development Reflection

How do I approach designing software?

Designing software involves careful planning, problem-solving, and a structured approach to creating solutions. My approach includes understanding the requirements, breaking down the problem into smaller manageable parts, and iterating over designs to refine and improve them. I prioritize creating modular and reusable components to ensure flexibility and scalability.

What new design skills has your work on the project helped you to craft?

Working on this project helped me to develop skills in 3D modeling and rendering. I learned how to create realistic textures, apply advanced lighting techniques, and use mathematical transformations to position objects accurately in a 3D space. Additionally, I gained a deeper understanding of spatial relationships and how to use affine transformations effectively.

What design process did you follow for your project work?

For this project, I followed an iterative design process. I started with a basic design, creating simple geometric shapes to represent objects. Then, I gradually added complexity by applying textures, adjusting lighting, and refining the placement of objects. Throughout the process, I continuously tested and refined the scene to ensure it met the project requirements and looked realistic.

How could tactics from your design approach be applied in future work?

The tactics I used, such as iterative refinement, modular design, and continuous testing, can be applied to future work in various fields. Whether designing software applications, games, or simulations, these approaches ensure that the final product is robust, flexible, and meets user expectations. Additionally, focusing on creating reusable components can save time and effort in future projects.

How do I approach developing programs?

Developing programs involves writing clean, efficient code and continuously testing and debugging to ensure functionality. My approach includes planning the program structure, writing modular code, and using version control to track changes. I emphasize the importance of writing clear comments and documentation to make the code understandable and maintainable.

What new development strategies did you use while working on your 3D scene?

While working on the 3D scene, I adopted new strategies such as shader programming, advanced lighting techniques, and texture mapping. I also learned to manage resources efficiently by optimizing the polygon count and using low-polygon models without compromising visual quality. These strategies helped create a realistic and performance-optimized 3D scene.

How did iteration factor into your development?

Iteration played a crucial role in my development process. By continuously testing and refining the scene, I was able to identify and fix issues early, improve the realism of the objects, and enhance the overall visual appeal. Iteration allowed me to make incremental improvements and ensure that each component of the scene worked harmoniously together.

How has your approach to developing code evolved throughout the milestones, which led you to the project’s completion?

Throughout the milestones, my approach to developing code evolved to become more structured and methodical. I learned the importance of planning and designing before coding, using modular components, and iterating over designs. This evolution helped me manage the complexity of the project and complete it successfully.

How can computer science help me in reaching my goals?

Computer science provides the foundational skills and knowledge needed to solve complex problems, automate tasks, and create innovative solutions. It empowers me to pursue careers in fields such as software development, game development, and data science. The logical thinking and problem-solving skills gained from computer science are applicable in various industries and roles.

How do computational graphics and visualizations give you new knowledge and skills that can be applied in your future educational pathway?

Computational graphics and visualizations have given me a deeper understanding of how to create realistic digital environments, which is essential for fields like game development, virtual reality, and simulation modeling. These skills are directly applicable to advanced courses in computer graphics, animation, and interactive media, allowing me to create more sophisticated and engaging projects.

How do computational graphics and visualizations give you new knowledge and skills that can be applied in your future professional pathway?

In a professional context, the skills gained from computational graphics and visualizations enable me to design and develop visually compelling applications and simulations. These skills are valuable in industries such as entertainment, healthcare, and education, where visualizations can enhance user experience, aid in understanding complex data, and create immersive environments. By applying these skills, I can contribute to innovative projects and advance in my career.


This project has been an enriching experience, providing me with new design and development skills that are essential for my future educational and professional endeavors. I look forward to continuing my journey in computational graphics and leveraging these skills to create impactful and innovative solutions.

About

This repository contains the final project for the CS 330 course, where I developed a 3D scene using OpenGL. The project showcases 3D modeling, textures, lighting, and interactive camera controls. The experience enhanced my skills in computational graphics and iterative development, offering insights for future educational and professional goals.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages