There are two major goals in this workbook:
The idea is that once you've gotten started, it will be easier to explain both what is happening "underneath the hood" as well as fancier things. However, one down side of this strategy is that you may not always understand why you are doing things (since we aren't explaining how things work), and you may wonder why we are limiting ourselves to simple things (because we are saving more complicated stuff for later)
The main "reading" (aside from the workbook) will be the web documentation on the THREE.js library. You aren't expected to memorize any details, but you need to understand the concepts well enough to use them.
The official documentation is at: https://threejs.org/docs/. This is mainly a reference. Once you get started you can look up the details of the things you need.
Be warned: a lot of the fancier stuff may not make sense until we've talked about what is happening "under the hood". The documentation dives into details quite quickly. The workbook is designed to guide you through the basics. Then use the official documentation as a reference to get the details as you need them .
While there are a lot of THREE resources around the web, and the API documentation is pretty complete, things tend not to be that well organized, or really great for beginning. If you find a good resource, please post it on Piazza.
THREE.js Getting Started - Shows you the minimum that you need to do. It's a bit redundant with this workbook, but seeing things in someone else's words may be useful.
THREE.js Tutorial - This is very similar to the way we'll introduce things in this workbook. Read this to see what we're talking about said in different words.
Aviator Game - this is a complicated example that builds things up from scratch. It's a bit of a fancy application to start with, but you can see how the author builds something pretty cool using the pieces we'll learn about.
The textbooks: When we learned about transformations, we skipped 3D transformations. Now is a good time to come back to them. You are required to read:
Chapter 6 of Hart's Big Fun Book of Computer Graphics (Hart06-jan19.pdf). This Chapter mixes in many different, but important things, including a review of the vector algebra basics. Not all of the Chapter is essential now, so a bit of a "reader's guide":
Fundamentals of Computer Graphics Section 6.2 (FCG4_Ch06.pdf) (which mainly just gives the matrices). You might want to go over other parts of the Chapter.
Other parts of the textbook will mainly tell you how things work. We'll get to that in class over the coming weeks. These readings are not required in order to do the workbook, but will help you understand some of the things you are doing.
Most pages have code examples - make sure you understand how they work.
A Pages 4, 5 and 6 have simple examples on them. Make sure they work, and that you understand them.
Pages 8 and 9 ask you to make pictures. For now, please focus on understanding the simple stuff: you will have plenty of time later to use fancier features. There are bonus point opportunities on this page.
Don't forget to commit and push as you work!
As usual, there is the README.md and QUESTIONS.md.
Get started on page one.