Introduction to Computer Graphics, Version 1.4
News
News for Introduction to Computer Graphics
- August 1, 2023 — Version 1.4 is released. The major change is a new Chapter 9, covering WebGPU. This version also updates three.js to Release 154, using the modular form of the library. It adds a new section on JavaScript promises to Appendix A.
Errata
This is a list of substantive errors that have been found in Version 1.4. These errors have been corrected in the web site version without changing the version number or updating any of the downloads.
- Section 2.2.1: In the pseudocode for drawing an oval near the end of the subsection, where it says Draw Line from (x1,y1) to (x2,y2), it should say Draw Line from (a1,b1) to (a2,b2). (1 December 2023)
- Section 3.3.4: The sentence The inverse of "translate 90 then rotate 10" is "rotate -10 then translate -90" is technically correct, but in the context of inverting the modeling transformation "glRotate(90,0,1,0); glTranslate(10,0,0)", it should be The inverse of "translate 10 then rotate 90" is "rotate -90 then translate -10". (30 May 2024)
- Section 6.1.3: It is stated incorrectly that the special fragment shader variable gl_FragCoord contains the clip coordinates of the pixel. In fact, gl_FragCoord contains device coordinates, that is, pixel coordinates in the window that is being rendered. Device coordinates are computed by applying the viewpoint transformation to the interpolated clip coordinates for the pixel. This has been updated online in the web site version of this book, and the description of gl_FragCoord in Section 6.2.2 has also been updated online. (29 June 2024)
Old News
- May 30, 2023 — New chapter on WebGPU. In spite of saying previously that this textbook was in final form, I have decided to add a new chapter on WebGPU. I am writing it over the summer.
- December 17, 2022 — I have now retired from teaching. I do not plan any further updates to this textbook. —David Eck
- July 22, 2022 — The original link to the printed version of this text at lulu.com no longer works. I have updated the link on the front page of the web version of the book and in the downloaded web site, without making any other changes. Here is the correct link.
- December 20, 2021 — I taught Computer Graphics for the last time in the Fall 2021 semester, and since this book was written mainly for my own classes, there will be no further updates. I might still post on this page any significant errors that are found. The web page for the course can be found at http://math.hws.edu/eck/cs424/index_f21.html. Assignments for the course are posted there, with sample solutions for almost all of them. Note that the OpenGL 1.1 assignments in this course used my updated glsim.js.
- December 20, 2021 — Version 1.3.1 is released, with just a few changes. The JavaScript OpenGL simulator, glsim.js, was updated to fix a couple errors and bring it more in line with standard OpenGL. In Section 5.1, errors were corrected involving the default parameters to THREE.CylinderGeometry, THREE.BoxGeometry, and THREE.SphereGeometry (which seem to have changed sometime between version 89 and version 129 of three.js). And Section 5.2 was modified to say that a THREE.Texture now has a rotation property to specify the rotation part of the texture transformation that is applied to the texture.
- August 1, 2021 — Version 1.3 is released. This version updates the textbook to use current versions of three.js, Blender, JavaScript, and WebGL. (For WebGL, most of the coverage is still about WebGL 1.0, but information about WebGL 2.0 has been added.)
- January 6, 2018 — Version 1.2 is released. This version fixes a few errors and updates Chapter 5 to use release 91 of three.js.
- December 15, 2017 — I used this textbook for a course in Fall 2017. The web site for that course includes some programming labs and application labs from the course. You can find them at http://math.hws.edu/eck/cs424/index_f17.html.
- January 28, 2016 — Version 1.1 is released. This version adds some additional material, including a section on WebGL extensions, a short chapter on ray tracing and path tracing, and an appendix about the 2D graphics programs Gimp and Inkscape. Also, the front page now has a link to a printed version that is available at lulu.com.
- January 6, 2016 — Version 1.0.1 is released. This version simply corrects some errors, some typos, and some unclear wording.
- December 20, 2015 — A course was taught from this textbook in Fall 2015. The web site for that course includes a set of lab programming projects. See http://math.hws.edu/eck/cs424/index_f15.html.
- August 25, 2015 — In case someone would like a bound printed copy, I have made one available at the print-on-demand publisher lulu.com. For a direct link, click here. Note that I do not make any money from this book, so you should not feel any obligation to buy it! In any case, the on-line version is preferred, since it contains interactive content.
- August 1, 2015 — Version 1.0 of the book is released. It is not as complete as I would like, but has more than enough material for a one-semester course.