Computer graphics is the science and art of communicating visually via a computer’s display and its interaction devices. It is a cross-disciplinary field in which physics, mathematics, human perception, human-computer interaction, engineering, graphic design, and art all play important roles. We use physics to model light and to perform simulations for animation. We use mathematics to describe shape. Human perceptual abilities determine our allocation of resources—we don’t want to spend time rendering things that will not be noticed. We use engineering in optimizing the allocation of bandwidth, memory, and processor time. Graphic design and art combine with human-computer interaction to make the computer-to-human direction of communication most effective. Reference: CGPP
One other definition which I found intriguing was from Michael Cohen’s talk during SiggraphAsia 2017. He defined computer graphics as “inverse of computer vision”. The idea was that in computer vision, we try to study our vision system and generate a model of the world whereas in computer graphics we try to generate this world from a model. The key idea he was empasizing was that there is this marriage between the fields of computer vision and computer graphics.
The field of computer graphics is really interdisciplinary. There are areas of graphics where people work on number theory, differential geometry, robotics, fluid dynamics, data structures and algorithms, deep learning etc. With computer graphics you can create games, interactive application etc. It literally gives visual and creative power to your code.
The main traditional books of computer graphics are (Reference: Graphic-Codex):
- Computer Graphics: Principles and Practice (CGPP), 3rd Edition by Hughes et al., 2013 : The “bible” of graphics, with deep mathematical coverage and an emphasis on ray tracing techniques that would take four courses to teach completely.
- Fundamentals of Computer Graphics (FCG), 4rd Edition by Marschner, Shirley, et al., 2015 : A gentle and pragmatic text ideally suited to filling an introductory course.
- Real-Time Rendering (RTR), 3rd Edition by Akenine-Möller, Haines, and Hoffman, 2008 : An advanced survey of real-time techniques emphasizing rasterization, which could easily fill two courses.
- Physically Based Rendering (PBRT), 3rd Edition by Pharr, Jakob, and Humphreys, 2016 : Systems-based approach to rendering with the definitive software architecture and discussion of Monte Carlo methods. Suitable for a graduate course on rendering. It also won an Academy Award at the Oscars!
Some of the MOOCs available online for learning computer graphics are:
Interactive Computer Graphics: This is a specialized course on graphics with focus on design of tools developed in computer graphics research field.
Some of the courses with notes available online:
Computer Graphics: This is an entry-level(undergrad) CS course on computer graphics at MIT.
comments powered by Disqus