Comment

Comment by flafla2

For anyone looking for a great starter codebase that you can poke around in to learn the fundamentals of CG, check out Scotty3D [0], the base code for CMU's computer graphics class 15-462/662 (I am a TA for this class). It is a supplemental codebase to the lecture slides [1], which are all available online. The idea is that Scotty3D is a full 3D modeling suite akin to Blender or Maya, but all of the actual functionality is stripped out, waiting to be implemented by students.

It includes code for 3D model loading, linear algebra, basic (OpenGL) rendering, and UX, and provides stubs for you to implement:

    - local geometry operations (ex: edge split, 
      vertex/edge/face bevel, vertex/edge/face delete, etc)
    - global geometry operations (ex: upsampling via catmull 
      clark subdivision, downsampling using quadric error, etc)
    - a path tracer that supports Diffuse/Mirror/Glass 
      materials with Fresnel reflections and environment 
      lighting (ex: you can render the cornell box)
    - an animation suite that implements skinning, spline 
      interpolation, and basic simulation (wave sims)
There's a lot of documentation in the wiki [2] to help you get started. A great resource, even if you can't take the class yourself!

[0] https://github.com/cmu462/Scotty3D

[1] http://15462.courses.cs.cmu.edu/fall2018/lectures

[2] https://github.com/cmu462/Scotty3D/wiki

parent flafla2 7 years ago

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton