GAMES101 Notes_Lec01_Overview of Computer Graphics

As a student who wants to learn about graphics, I have seen people recommend Yan Lingqi’s GAMES101 course in countless places. However, since I am an art major, after reading this course in general, I think this course is difficult to learn, so In order to lay a solid foundation and facilitate my review in the future, I decided to write a set of relatively complete and clear notes. At the same time, I will refer to ppt in the notes and use Chinese and English bilinguals to avoid vague concepts. I hope that while it is convenient for myself, it can also help the same needs. people

1 What is computer graphics? What is Computer Graphics?

  • Computer Graphics: The use of computers to synthesize and manipulate visual information

2 Why study Computer Graphics Why study Computer Graphics?

2.1 Application

  • Game Video Games (realistic, stylized rendering, whether the screen is bright or not can reflect the global illumination effect)
  • Movies (special effects are a relatively simple application of graphics, some simulation effects are often difficult to achieve, Avatar's facial capture is a milestone)
  • Animation Animation (simulation of hair in Crazy Zootopia)
  • Design (CAD, preview visual effects in virtual environment: car, home)
  • Visualization (Science, Engineering, Medicine, News Charts)
  • Virtual RealityVirtual Reality
  • Augmented Reality Augmented Reality
  • Digital Painting Digital Illustration (Photoshop)
  • Simulation Simulation (accurate physical simulation: the influence of dust and black holes on light)
  • Graphical User Interfaces (GUI)
  • Font Typography (Using dot matrix and vector, The Quick Brown Fox Jumps Over The Lazy Dog used up 26 English letters and is often used to test fonts)

2.2 Fundamental intellectual challenges

  • Creates and interacts with realistic virtual world
  • Requires understanding of all aspects of physical world
  • New computing methods, displays, technologies New computing methods, displays, technologies

2.3 Technical Challenges Technical Challenges

  • Math of (perspective) projections, curves, surfaces Math of (perspective) projections, curves, surfaces
  • Physics of lighting and shading
  • Representing / operating shapes in 3D
  • Animation / simulation Animation / simulation
  • This course does not cover teaching hardware programming 3D graphics software programming and hardware

Forget the above reasons - computer graphics is good!
Forget about the previous reasons - Computer Graphics is AWESOME!

3 Course Topics Course Topics

3.1 Rasterization


  • Project geometry primitives ( 3D triangles/polygons) onto screen
  • Break projected primitives into fragments (pixels
    )
  • Gold standards in Video Games
    (Real-time Applications)
    insert image description here

3.2 Curves and meshes Curves and meshes

  • How to represent geometry in Computer
    Graphics
    insert image description here

3.3 Ray Tracing Ray Tracing

  • shoot rays from the camera through each pixel(Calculate intersection and shading; Continue to bounce the rays till they hit
    light sources)
  • The gold standard of animation/movies (offline application) currently has a real-time ray tracing algorithm
    Gold standard in Animations/Movies (Offline Application)
    insert image description here

3.4 Animation/Simulation Animation/Simulation

  • Key frame animation Key frame Animation
  • Mass-spring SystemMass-spring System
    insert image description here

3.5 GAMES101 does not include GAMES101 is NOT about

  • Does not include how to use APIs such as OpenGL/DirectX/Vulkan
  • The syntax of Shaders does not include shaders
  • Does not include modeling and game development 3D modeling using Maya / 3DS MAX / Blender, or VR / game development using Unity / Unreal Engine
  • Does not include computer vision, deep learning Computer Vision / Deep Learning topics, eg XYZ-GAN

We are learning graphics, not graphics API!
We learn Graphics, not Graphics APIs!

3.6 Relationship between Computer Graphics and Computer Vision

  • Personal understanding of
    Computer Graphics is to generate images from 3D models (rendering) or simulations in 3D space (simulation);
    computer vision is to model through image semantic segmentation or rely on deep learning to generate other images from images
    insert image description here

  • The boundaries between various disciplines and fields are becoming more and more blurred No clear boundaries

3 References

  • Tiger Books is recommended, the third edition is enough.
    Steve Marschner and Peter Shirley, “Fundamentals of Computer Graphics”, 3rd or later edition.

4 Assignments

  • Mostly programming tasks with provided code skeletons and virtual machine image
  • Usually no more than 20 lines of code per week
  • Use C++ language

5 Use an integrated development environment Use An IDE!

  • IDE: Integrated Development Environment Integrated Development Environment
  • Helps you parse a entire project and gives hints on syntax / usages of member functions, etc.
  • Recommended IDEs
    • Visual Studio (Windows only) / Visual Studio Code (cross platform)
    • Qt Creator (personal)
  • Not Recommended IDEs (for C++ programming)
    • CLion, Eclipse
    • Sublime Text, Vi / Vim, Emacs (not even IDEs)

Guess you like

Origin blog.csdn.net/Ziiur/article/details/122781757