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 simulators, visualization and even imaging products and cameras. This course teaches the basics of computer graphics rendering, that is of great recent relevance in industry, and 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 simulators, visualization and even imaging products and cameras. This course teaches the basics of computer graphics rendering, that is of great recent relevance in industry, and that apply to all of these domains.

Students will learn to create very realistic computer-generated images of 3D scenes, with ray and path tracing. The course follows on from CSE 167, Foundations of computer graphics, to delve into the details of high-quality physically-based rendering, creating the most realistic and beautiful computer-generated images, culminating in a state-of-the-art path tracer with multiple importance sampling. The projects will be as follows (each counting for 25% of the grade, a passing score will be 60%)

What's inside

Learning objectives

  • Raytracing (homework 1)
  • Direct lighting (homework 2)
  • Path tracing (homework 3)
  • Importance sampling (homework 4)

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Explores ray tracing and path tracing, which are essential techniques for generating photorealistic images in computer graphics and are widely used in visual effects and animation
Builds upon the concepts introduced in CSE 167, Foundations of Computer Graphics, allowing learners to deepen their understanding of rendering techniques and create more sophisticated graphics
Delves into the details of high-quality physically-based rendering, enabling learners to create computer-generated images that accurately simulate the behavior of light in the real world
Requires prior knowledge from CSE 167, Foundations of Computer Graphics, which may pose a barrier to entry for learners without the necessary background

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Advanced rendering theory and projects

According to learners, Computer Graphics II: Rendering is a deep dive into advanced rendering techniques like path tracing and importance sampling. The course requires a strong foundation in prerequisite graphics and programming concepts. Students found the material, particularly the required rendering projects, to be very challenging and demanding of significant time. However, they also noted that successfully completing these hands-on assignments provides highly valuable practical skills and builds a strong portfolio piece relevant to careers in computer graphics. The course is praised for providing a solid theoretical understanding of physically-based rendering. It's a specialized course best suited for those serious about rendering.
Provides deep understanding of rendering theory and math.
"Lectures provide a solid mathematical foundation for rendering."
"Covers advanced topics like importance sampling in depth."
"I gained a much deeper theoretical grasp of how rendering works."
Skills learned are directly applicable to rendering jobs.
"Building a ray tracer is a great resume builder."
"This course gives practical skills for real-world graphics roles."
"I feel ready to tackle rendering challenges in the industry."
Prerequisite knowledge in graphics and math is essential.
"Do not take this without a solid CG I background."
"You need to be comfortable with C++ and linear algebra."
"Prior experience is necessary to keep up with the pace."
The material and workload are highly demanding.
"This was one of the hardest courses I've ever taken."
"Expect a steep learning curve and complex concepts."
"Requires significant dedication to succeed."
Hands-on rendering projects are difficult but build skills.
"The programming assignments, especially Path Tracing, were intense."
"Be ready for long hours debugging your renderer."
"The projects are the bulk of the work, very difficult but teach you tons."
"Building the renderer from scratch is tough but teaches a lot."

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 II: Rendering with these activities:
Review Linear Algebra Fundamentals
Solidify your understanding of linear algebra concepts, which are fundamental to 3D transformations and rendering calculations.
Browse courses on Linear Transformations
Show steps
  • Review vector and matrix operations.
  • Practice solving linear systems of equations.
  • Study transformations in 2D and 3D space.
Review Foundations of Computer Graphics
Revisit the concepts covered in the prerequisite course to ensure a strong foundation for advanced rendering techniques.
Show steps
  • Review the graphics pipeline stages.
  • Study basic shading models like Phong shading.
  • Practice implementing simple 3D transformations.
Physically Based Rendering: From Theory to Implementation
Study this book to gain a deeper understanding of the theoretical underpinnings of physically based rendering.
Show steps
  • Read the chapters related to ray tracing and path tracing.
  • Study the mathematical derivations of rendering equations.
  • Examine the code examples provided in the book.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Implement Basic Ray-Object Intersections
Practice implementing ray-object intersection tests for spheres, triangles, and other primitives to solidify your understanding of ray tracing.
Show steps
  • Implement ray-sphere intersection.
  • Implement ray-triangle intersection.
  • Test your implementations thoroughly.
Extend Your Path Tracer with New Features
Enhance your path tracer by adding features such as support for different materials, textures, and light sources to improve its realism and versatility.
Show steps
  • Implement support for different BRDFs.
  • Add texture mapping capabilities.
  • Implement area light sources.
Create a Rendering Portfolio
Showcase your rendering skills by creating a portfolio of images generated with your path tracer, demonstrating your mastery of the techniques learned in the course.
Show steps
  • Render a variety of scenes with different lighting and materials.
  • Document the rendering settings and techniques used for each image.
  • Present your portfolio online or in a physical format.
Real-Time Rendering
Read this book to understand the differences between real-time and offline rendering techniques.
Show steps
  • Read the chapters on shading and texturing.
  • Compare real-time techniques with path tracing.

Career center

Learners who complete Computer Graphics II: Rendering will develop knowledge and skills that may be useful to these careers:
Computer Graphics Programmer
A Computer Graphics Programmer is responsible for developing and implementing algorithms and techniques to create visual content on computers. They write code to render images, create special effects, and optimize graphics performance. This course helps Computer Graphics Programmers to learn the basics of computer graphics rendering, and to create realistic computer-generated images of 3D scenes. The skills obtained from the course, such as ray and path tracing, are directly applicable to the work of a Computer Graphics Programmer.
Camera Software Engineer
A Camera Software Engineer is a specialized role focused on developing and optimizing the software that controls and processes images for cameras and imaging products. They work on algorithms for image capture, processing, and enhancement, ensuring high image quality and performance. This course helps Camera Software Engineers learn the basics of computer graphics rendering, which are highly relevant in the imaging industry. Learning to create realistic computer-generated images with ray and path tracing, is directly applicable to improving camera software.
Rendering Engineer
A Rendering Engineer focuses on the creation of efficient and visually appealing rendering techniques for various applications. This role involves implementing and optimizing rendering algorithms, working closely with artists and designers to achieve desired visual effects. This course helps build a foundation in the basics of computer graphics rendering, relevant across industries. By learning to create realistic computer-generated images of 3D scenes with techniques like ray and path tracing, you gain skills directly applicable to the work of a Rendering Engineer.
Image Processing Engineer
An Image Processing Engineer develops algorithms and techniques for processing and analyzing images. This can involve enhancing image quality, extracting information from images, and recognizing patterns in images. This course helps Image Processing Engineers by teaching them the basics of computer graphics rendering. You will learn to create realistic computer-generated images of 3D scenes and understand techniques like ray and path tracing, which are relevant to improving image processing algorithms.
Virtual Reality Developer
A Virtual Reality Developer creates immersive experiences for virtual reality platforms. This involves designing and developing interactive environments, implementing user interfaces, and optimizing performance for VR headsets. This course helps those who want to be Virtual Reality Developers to learn the basics of computer graphics rendering that apply to the domain of virtual reality. You will learn to create realistic computer-generated images of 3D scenes, with ray and path tracing.
Augmented Reality Developer
An Augmented Reality Developer develops applications that overlay digital information onto the real world. This involves creating interactive experiences, integrating sensors and cameras, and optimizing performance for mobile devices. This course helps train Augmented Reality Developers to learn the basics of computer graphics rendering, with an emphasis on creating realistic computer-generated images of 3D scenes. This knowledge is applicable to the domain of augmented reality. Specifically, the material on ray and path tracing is helpful.
Technical Artist
The Technical Artist bridges the gap between art and programming, using their technical skills to enhance the visual quality and efficiency of games and other visual media. A Technical Artist often works on creating custom tools and optimizing art pipelines. This course helps someone develop skills in creating realistic computer-generated images using ray and path tracing, which are invaluable for a Technical Artist looking to improve rendering quality. The course may be useful as it introduces physically based rendering which is central to the field.
Simulation Engineer
A Simulation Engineer develops and uses computer simulations to model real-world phenomena. This can involve creating simulations for engineering design, scientific research, or training purposes. The aim is to simulate natural environments to understand how a system changes. This course helps you to learn to create realistic computer-generated images of 3D scenes, with ray and path tracing, which are key techniques for visually representing simulation results. It may be useful since it provides a foundation in physically-based rendering.
Visualization Specialist
A Visualization Specialist transforms complex data into understandable visual representations. This can involve creating interactive dashboards, 3D models, and simulations to communicate insights and findings. The work of a Visualization Specialist is very detailed. This course helps one learn to create realistic computer-generated images of 3D scenes. Moreover, the course may also be useful as it covers ray and path tracing, providing the knowledge to produce compelling and accurate visualizations of data.
Game Developer
A Game Developer is involved in the design, development, and testing of video games. This can include programming gameplay mechanics, implementing user interfaces, and optimizing game performance. This course may be useful as it provides a foundation in computer graphics rendering, with skills in creating realistic computer-generated images of 3D scenes, directly beneficial to a Game Developer working on the visual aspects of a game. The course's emphasis on ray and path tracing could be useful in understanding advanced rendering techniques used in modern game engines.
Motion Graphics Designer
A Motion Graphics Designer creates animated graphics and visual effects for various media, including television, film, and online content. They use software to create dynamic visuals that communicate ideas and engage audiences. This course helps Motion Graphics Designers learn the basics of computer graphics rendering. You will learn to create realistic computer-generated images of 3D scenes. The material on ray and path tracing may be useful.
Film Editor
A Film Editor is responsible for assembling raw footage into a finished film or video. This involves selecting and arranging shots, adding visual effects, and ensuring the final product meets the director's vision. This course helps Film Editors who wish to create their own visual effects since they learn the basics of computer graphics rendering. You will learn to create realistic computer-generated images of 3D scenes. A film editor must understand how lighting and shading works, so ray and path tracing is beneficial.
3D Modeler
A 3D Modeler creates three-dimensional models of objects, characters, and environments for use in video games, movies, and other visual media. They use specialized software to sculpt and texture models, ensuring they meet the artistic and technical requirements of a project. Though this course doesn't teach modeling itself, learning to create realistic computer-generated images of 3D scenes may be useful since it helps one understand how those models will be rendered.
Artificial Intelligence Engineer
An Artificial Intelligence Engineer develops and implements AI algorithms and models for various applications. This can involve working on machine learning, natural language processing, and computer vision projects. This course may be useful as it provides a background in computer graphics rendering, allowing them to better understand the visual aspects of AI applications. In particular with computer vision, you will be able to utilize these concepts to improve the fidelity of images.
Software Engineer
A Software Engineer designs, develops, and tests software applications. This can involve working on a variety of projects, from web applications to mobile apps to enterprise systems. This course may be useful as it provides a foundation in computer graphics rendering, with skills in creating realistic computer-generated images of 3D scenes, which can be applied to software development projects involving graphics. Software engineering is often a very broad field, so a course can give helpful specialization.

Reading list

We've selected two 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 II: Rendering.
Is considered the bible of physically based rendering. It provides a comprehensive overview of the theory and implementation of rendering algorithms. It is an invaluable resource for understanding the mathematical foundations and practical considerations of creating realistic images. This book will add significant depth to the course.
While this course focuses on offline rendering, understanding real-time rendering techniques can provide valuable context. covers the algorithms and techniques used in real-time rendering, such as those used in video games. It can help you appreciate the trade-offs between quality and performance in different rendering scenarios. This book is more valuable as additional reading.

Share

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

Similar courses

Similar courses are unavailable at this time. Please try again later.
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 - 2025 OpenCourser