All projects have been tested.
- Course link: https://sites.cs.ucsb.edu/~lingqi/teaching/games101.html
- My notes: https://remoooo.com/cg_set.html
- Notes Src: https://github.com/Remyuu/GAMES101-Notes
- Rotation and projection
- Triangles and Z-buffering
- Pipeline and Shading
- Bézier curve
- The ray intersects the triangle
- Acceleration structure
- Path Tracing
- Mass-spring system
This repository contains all the assignments from the GAMES101 course, including both the fundamental and advanced parts. Contributions and suggestions for improvement are welcome!
Note: This repository is for learning and discussion purposes only. Direct code copying for course submission is discouraged. Please ensure academic integrity when completing assignments.
![image](https://private-user-images.githubusercontent.com/64857501/260036095-e7c42381-2785-41f9-bc8d-31a32bc3531b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjI2NzYwMjksIm5iZiI6MTcyMjY3NTcyOSwicGF0aCI6Ii82NDg1NzUwMS8yNjAwMzYwOTUtZTdjNDIzODEtMjc4NS00MWY5LWJjOGQtMzFhMzJiYzM1MzFiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODAzVDA5MDIwOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTg5ZmNiYzExMmEwNzhjZjc2MTQ3OGMyMDkxOTdjNDU2N2RhZmE3YTZhZTA3ODA5NDExZjEyNGVlZjBkMGM2YzYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.P9XUj2O_1C3cD1O6-9UW8oyaGcaynpmf2oJblsy9lgY)
https://remoooo.com/cg/832.html
![image](https://private-user-images.githubusercontent.com/64857501/260036373-bcb65240-c078-4228-b5f1-334e105fea2a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjI2NzYwMjksIm5iZiI6MTcyMjY3NTcyOSwicGF0aCI6Ii82NDg1NzUwMS8yNjAwMzYzNzMtYmNiNjUyNDAtYzA3OC00MjI4LWI1ZjEtMzM0ZTEwNWZlYTJhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODAzVDA5MDIwOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTk0OWFjMzk2N2E4MWVjYjI3NDMwNjYxMDI1ODhjMWU3YWRiODMyNDk0ZDViYjdjNzc3ODRjOWJmOWJiZDMyNDUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.5ggQAhpf1Xitq7a0UVkbasU7wAGQ1eaDaLjTN2UcrKM)
https://remoooo.com/cg/hw3.html
![image](https://private-user-images.githubusercontent.com/64857501/260036485-c75921a8-6a9e-4d54-ad37-e3e78892ffd2.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjI2NzYwMjksIm5iZiI6MTcyMjY3NTcyOSwicGF0aCI6Ii82NDg1NzUwMS8yNjAwMzY0ODUtYzc1OTIxYTgtNmE5ZS00ZDU0LWFkMzctZTNlNzg4OTJmZmQyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODAzVDA5MDIwOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTE2MDQ5NTE2M2YzZGNiMWQyYzdkOWYyZmFkYzhhY2YyNjUzZWI4YmRjNGRjZjFkNWRiMjBmNjYxYzkwZTJmYWYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.XpUWZ2cLHygK0mqfBqIPQ4l8lQjpg23yCc5WgPdSd9k)
https://remoooo.com/cg/hw3.html
![image](https://private-user-images.githubusercontent.com/64857501/260036523-dc895261-7f6a-4176-a2ca-5d7326acb6f0.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjI2NzYwMjksIm5iZiI6MTcyMjY3NTcyOSwicGF0aCI6Ii82NDg1NzUwMS8yNjAwMzY1MjMtZGM4OTUyNjEtN2Y2YS00MTc2LWEyY2EtNWQ3MzI2YWNiNmYwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODAzVDA5MDIwOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTM1MzAyMjAyYzliNzc5ZGFlMDQ5NGNjODE4NmFjNzY4OWVkNjI0YTYwMTExZGE0Y2QwMzc3ODRhOTdjNmJiNTkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.Q_t7oKwV8gUCrv1WxD0qh8FMcVdbVA4GEPwUeKeLYRA)
https://remoooo.com/cg/858.html
![image](https://private-user-images.githubusercontent.com/64857501/260036571-27a0ad0c-b29e-4a2e-af57-d93bfeb2107c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjI2NzYwMjksIm5iZiI6MTcyMjY3NTcyOSwicGF0aCI6Ii82NDg1NzUwMS8yNjAwMzY1NzEtMjdhMGFkMGMtYjI5ZS00YTJlLWFmNTctZDkzYmZlYjIxMDdjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODAzVDA5MDIwOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTBiN2RjODA4ZjhmZDEzMWQ0NjE0ODNjNzNhZTFjYmU2YjJjNjQ0YmY2OWUzMWZiZDI1NDlkMGVlNjRlYjhiM2YmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.obAHnlovWLxJnbQBbyEVpdmDexUCYbbyeHDVtalmXSA)
https://remoooo.com/cg/869.html
![image](https://private-user-images.githubusercontent.com/64857501/260036746-fcb9fa5f-0554-42e7-9a5a-506d189dd1b0.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjI2NzYwMjksIm5iZiI6MTcyMjY3NTcyOSwicGF0aCI6Ii82NDg1NzUwMS8yNjAwMzY3NDYtZmNiOWZhNWYtMDU1NC00MmU3LTlhNWEtNTA2ZDE4OWRkMWIwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODAzVDA5MDIwOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTBlZTFjZDZiMTlmODMzMjMwOWEyMzcwMzJhODEwYzBjNTgyY2VkYWNhMTBlZTE3ZDkyNmM4NmQ5MDY2MmQ0OWUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.bclTcPKrCh_kSK7IbCAVomDpXgIeQrdsxYdjhdma1kk)
https://remoooo.com/cg/hw7.html
![image](https://private-user-images.githubusercontent.com/64857501/260036779-e26d3847-f575-468a-aaac-8990bf2ea37f.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjI2NzYwMjksIm5iZiI6MTcyMjY3NTcyOSwicGF0aCI6Ii82NDg1NzUwMS8yNjAwMzY3NzktZTI2ZDM4NDctZjU3NS00NjhhLWFhYWMtODk5MGJmMmVhMzdmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODAzVDA5MDIwOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWViYmVjYTQ4YjI5NjgzZDRiOGFmYzY1ODM2ZjVkMjFkYTI4YTdjZTQyMmE3YmNhYWRhZDg4NDBiMTE4NDY2NGYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.8qoQw0T_trTLY_Av-QO9YKjIfQmF6Ld-lBiU1hji8rg)
https://remoooo.com/cg/hw8.html
![image](https://private-user-images.githubusercontent.com/64857501/260036837-9391daef-06ba-4b3a-bb50-27dcc962f331.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjI2NzYwMjksIm5iZiI6MTcyMjY3NTcyOSwicGF0aCI6Ii82NDg1NzUwMS8yNjAwMzY4MzctOTM5MWRhZWYtMDZiYS00YjNhLWJiNTAtMjdkY2M5NjJmMzMxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODAzVDA5MDIwOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWYyYjVkOGQ1MGQyN2Q3M2U2MzAxNzlkMGE2NmQyN2JiZTA5NjE2ZDViYmU1MWJiNDdjMmMxZDBkN2QzMjcxZmQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.E58dj77lnmC1T5CSwdoF9hf2CQ488R1_FlwalWC-etQ)