We may earn an affiliate commission when you visit our partners.
Course image
Ravi Ramamoorthi

Today, computer graphics is a central part of our lives, in movies, games, computer-aided design, virtual reality, virtual simulators, visualization and even imaging products and cameras. This course, part of the Virtual Reality (VR) Professional Certificate program, teaches the basics of computer graphics that apply to all of these domains.

Read more

Today, computer graphics is a central part of our lives, in movies, games, computer-aided design, virtual reality, virtual simulators, visualization and even imaging products and cameras. This course, part of the Virtual Reality (VR) Professional Certificate program, teaches the basics of computer graphics that apply to all of these domains.

Students will learn to create computer-generated images of 3D scenes, including flybys of objects, make a real-time scene viewer, and create very realistic images with raytracing. We will start with a simple example of viewing a teapot from anywhere in space, understanding the basic mathematics of virtual camera placement. Next, you will learn how to use real-time graphics programming languages like OpenGL and GLSL to create your own scene viewer, enabling you to fly around and manipulate 3D scenes. Finally, we will teach you to create highly realistic images with reflections and shadows using raytracing.

This course runs for 6 weeks and consists of four segments. Each segment includes an individual programming assignment:

  1. Overview and Basic Math (Homework 0: 10% of grade)
  2. Transformations (Homework 1: 20% of grade)
  3. OpenGL and Lighting (Homework 2: 35% of grade)
  4. Raytracing (Homework 3: 35% of grade)

This term, students who earn a total score of 50% or greater will have passed the course and may obtain a certificate from UC San DiegoX.

What's inside

Learning objectives

  • Understand the concepts of 3d graphics
  • Write and develop programs that create images of a 3d scene with lighting
  • Learn the basics of graphics programming with opengl and glsl

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Develops essential math and graphics programming fundamentals, which are foundational for 3D modeling and visualization
Provides a comprehensive overview of computer graphics, covering core concepts, tools, and techniques
Taught by Ravi Ramamoorthi, a recognized expert in computer graphics
Emphasizes hands-on learning through programming assignments, enabling practical application of concepts
Covers advanced topics like raytracing, which are essential for creating realistic images
Part of the Virtual Reality (VR) Professional Certificate program, indicating alignment with industry trends

Save this course

Save Computer Graphics to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Computer Graphics with these activities:
Read 'Computer Graphics: Principles and Practice' by James D. Foley et al.
Reading this comprehensive textbook will provide you with a strong foundation in computer graphics, complementing the material covered in this course.
Show steps
  • Read the first few chapters of the book to get an overview of the field of computer graphics.
  • Focus on the chapters that cover topics related to the course, such as 3D modeling, lighting, and rendering.
  • Complete the practice exercises and assignments included in the book.
Review 3D graphics fundamentals
Reviewing basic concepts in 3D graphics will prepare you for success in this course.
Browse courses on Computer Graphics
Show steps
  • Read through an introductory article on 3D graphics.
  • Complete a tutorial on basic 3D modeling software.
  • Experiment with different 3D modeling techniques.
Follow tutorials on advanced OpenGL techniques
Following tutorials on advanced OpenGL techniques will enhance your skills in graphics programming and enable you to create more sophisticated 3D scenes.
Browse courses on OpenGL
Show steps
  • Find a series of tutorials on advanced OpenGL techniques.
  • Follow the tutorials step-by-step, implementing the techniques in your own code.
  • Experiment with different OpenGL techniques to create your own unique 3D effects.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Practice writing GLSL shaders
Practicing GLSL shader writing will strengthen your understanding of the material covered in the OpenGL and Lighting segment.
Browse courses on GLSL
Show steps
  • Find a tutorial on writing GLSL shaders.
  • Complete a series of practice problems involving GLSL shader writing.
  • Create a simple 3D scene using GLSL shaders.
Attend a workshop on real-time graphics programming
Attending a workshop on real-time graphics programming will expose you to industry best practices and cutting-edge techniques.
Browse courses on 3D Graphics
Show steps
  • Find a workshop on real-time graphics programming that aligns with your interests.
  • Register for the workshop and attend all sessions.
  • Participate actively in discussions and hands-on exercises.
Create a blog post or video tutorial on a 3D graphics topic
Creating a blog post or video tutorial will help you solidify your understanding of a particular 3D graphics topic and share your knowledge with others.
Browse courses on 3D Graphics
Show steps
  • Choose a specific 3D graphics topic that you are interested in.
  • Research the topic thoroughly.
  • Write or record your blog post or video tutorial, explaining the topic in a clear and engaging way.
Build a 3D scene with realistic lighting and shadows
Creating a 3D scene with realistic lighting and shadows will demonstrate your mastery of the material covered in the Raytracing segment.
Show steps
  • Design a simple 3D scene.
  • Implement raytracing to render the scene with realistic lighting and shadows.
  • Optimize the raytracing algorithm for performance.
Contribute to an open-source 3D graphics project
Contributing to an open-source 3D graphics project will provide you with hands-on experience in real-world graphics development and collaboration.
Browse courses on 3D Graphics
Show steps
  • Find an open-source 3D graphics project that interests you.
  • Identify an area where you can contribute your skills.
  • Submit a pull request with your proposed changes or contributions.

Career center

Learners who complete Computer Graphics will develop knowledge and skills that may be useful to these careers:
Mobile Software Engineer
Mobile Software Engineers are responsible for the coding, design, build, and maintenance of software for mobile devices. With graphics being a key part of mobile software, this course would be helpful to those wishing to enter this field as it helps build a foundation in computer graphics. Particularly the segments on Lighting, OpenGL, and Raytracing would be highly beneficial.
Graphic designer
Graphic Designers are responsible for the visual components of various media, including websites, print, and digital advertising. This course would be useful to Graphic Designers who wish to branch into the computer graphics subfield.
User Interface (UI) Designer
UI Designers are responsible for the look and feel of a product's graphical interface, including its buttons, menus, and other visual elements. This course would be useful to UI Designers who wish to branch into the computer graphics subfield.
Front-End Web Developer
Front End Web Developers are responsible for the visual design, structure, and user experience of a website. This course would be useful to Front End Web Developers who wish to branch into the computer graphics subfield.
Software Developer
Software Developers are responsible for the design, development, and maintenance of computer software. This course would be helpful to Software Developers who wish to work on projects that involve computer graphics, such as 3D graphics or visual effects.
Computer Programmer
Computer Programmers are responsible for the design, development, and maintenance of computer programs. This course would be helpful to Computer Programmers who wish to work on projects that involve computer graphics, such as 3D graphics or visual effects.
Back-End Web Developer
Back End Web Developers are responsible for the server-side logic and data management of a website. While not as directly applicable to the field as it is to a Front End Web Developer or UI Designer, this course may be useful to Back End Web Developers who wish to work on projects that involve computer graphics, such as 3D graphics or visual effects.
Database Administrator
Database Administrators are responsible for the management and maintenance of databases. While not as directly applicable to the field as it is to a Software Developer or Computer Programmer, this course may be useful to Database Administrators who wish to work on projects that involve computer graphics, such as data visualization.
Technical Writer
Technical Writers are responsible for writing instruction manuals, user guides, and other technical documents. While not as directly applicable to the field as it is to a Graphic Designer or Front End Web Developer, this course may be useful to Technical Writers who wish to write about computer graphics or visual effects.
Project Manager
Project Managers are responsible for the planning, execution, and closure of projects. This course may be useful to Project Managers who are working on projects that involve computer graphics, such as 3D graphics or visual effects.
Marketing Manager
Marketing Managers are responsible for the development and execution of marketing campaigns. While not as directly applicable to the field as it is to a Graphic Designer or Front End Web Developer, this course may be useful to Marketing Managers who wish to understand the technical aspects of computer graphics and visual effects.
Sales Manager
Sales Managers are responsible for the development and execution of sales strategies. While not as directly applicable to the field as it is to a Graphic Designer or Front End Web Developer, this course may be useful to Sales Managers who wish to understand the technical aspects of computer graphics and visual effects.
Business Analyst
Business Analysts are responsible for understanding the business needs of an organization and developing solutions to meet those needs. While not as directly applicable to the field as it is to a Software Developer or Computer Programmer, this course may be useful to Business Analysts who wish to work on projects that involve computer graphics, such as data visualization.
Accountant
Accountants are responsible for the management and reporting of financial information. While not as directly applicable to the field as it is to a Database Administrator or Technical Writer, this course may be useful to Accountants who wish to work on projects that involve data visualization.
Lawyer
Lawyers are responsible for advising clients on legal matters and representing them in court. While not as directly applicable to the field as it is to a Technical Writer or Business Analyst, this course may be useful to Lawyers who wish to understand the technical aspects of computer graphics and visual effects.

Reading list

We've selected 18 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Computer Graphics.
Provides a comprehensive introduction to ray tracing, a powerful technique for creating realistic images. It valuable resource for students and practitioners alike.
Comprehensive introduction to computer graphics, covering the fundamental concepts and algorithms used in the field. It valuable reference for students and professionals alike.
Provides a comprehensive introduction to game engine architecture, a powerful technique for creating real-time graphics. It valuable resource for students and practitioners alike.
Provides a rigorous mathematical introduction to 3D computer graphics. It covers the essential topics of geometry, transformations, and rendering, and it uses OpenGL for practical examples.
Provides a comprehensive introduction to RenderMan, a powerful rendering system used in the film and television industry. It valuable resource for students and practitioners alike.
Provides a comprehensive introduction to Advanced RenderMan, a powerful rendering system used in the film and television industry. It valuable resource for students and practitioners alike.
Provides a comprehensive introduction to GPU programming, a powerful technique for creating real-time graphics. It valuable resource for students and practitioners alike.
Provides a comprehensive introduction to CUDA programming, a powerful technique for creating real-time graphics. It valuable resource for students and practitioners alike.
Provides a comprehensive tutorial and reference for OpenGL, a widely used graphics library. It valuable resource for students and practitioners alike.
Provides a detailed overview of OpenGL, a popular graphics library. It valuable resource for students and professionals who want to learn more about this important tool for computer graphics.
Provides a comprehensive introduction to the fundamental concepts of computer graphics. It valuable resource for students and professionals who want to learn more about this important field.
Provides a comprehensive overview of computer graphics, covering a wide range of topics from the fundamental concepts to the latest advances in the field. It valuable resource for students and professionals alike.
Provides a collection of practical tips and techniques for writing high-quality ray tracing code. It valuable resource for students and professionals who want to learn more about this important area of computer graphics.
Provides a unique perspective on computer graphics, focusing on the art and creativity involved in the field. It valuable resource for students and professionals who want to learn more about this important topic.
Provides a detailed overview of advanced OpenGL techniques, including shading, lighting, and texturing. It valuable resource for students and professionals who want to learn more about this important topic.
Provides a comprehensive overview of shaders, a powerful technique for creating realistic images. It valuable resource for students and professionals who want to learn more about this important area of computer graphics.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Computer Graphics.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser