Index

SchoolNotes

  1. CS225 (OLD ONE IGNORE THIS)
    1. OOP
      1. Inheritance
      2. R-Value References
    2. Misc Notes
    3. Size/Offsets of Structs/Classes
    4. Week 4
  2. CS200 (IGNORE THIS TOO)
    1. Introduction
    2. Scan Conversion
    3. Quiz 01
  3. GAM200 (YEAH, IGNORE THIS TOO)
    1. Notes
  4. CS180
    1. Introduction
    2. Midterm Revision
    3. Finals Revision
    4. CS251
    5. Memory
    6. ELF Format
    7. History of Computers
    8. Stuff to Research
    9. Quiz To-Do
    10. OS Architectures
    11. Week 3
    12. Week 4
    13. Week 5
    14. Week 6 (Threads)
    15. Week 7 (Scheduling)
    16. Week 8 (Thread Scheduling)
    17. Week 9 (Memory Management)
  5. CS251
    1. The Beginning
  6. CS225
    1. Introduction
    2. Bit Manipulations
    3. Review

Introduction

Introduction


aka “Stuff I, for the moment, know absolutely nothing about”
____________________


How are 3D Models Created?



Some common techniques:
• Boundary representations
◇ (From Wikipedia) In solid modeling and computer-aided design, boundary representation—often abbreviated as B-rep or BREP—is a method for representing shapes using the limits. A solid is represented as a collection of connected surface elements, the boundary between solid and non-solid.
• Constructive solid geometry
◇ Cobbled together from different parts (ie basic geometrical forms)
• Parametric curves and surfaces
◇ Remember parametric formulae from MAT150 (curves)
• Implicit surfaces
◇ y = f(x) = mx +b
◇ f(x, y) = Ax + By + C

____________________


Other Interesting Topics



• How are modelers given control of editing models?
• What are the techniques for optimally storing models?

____________________


What does graphic data consist of?



• Primitives
• Attributes
• Transforms

____________________


Many things are done via interpolation with discrete data.


____________________


Rendering



Process of generating 2D image of 3D scene:
Hearn & Baker: Chapter 17

____________________


How to Generate Images?



Different techniques for real-time and offline applications
• Tradeoff between speed vs quality
Compare current state of real-time graphics in games vs RenderMan's showreel

____________________


Offline Rendering



• Ray tracing
• Radiosity

____________________


Real-Time Rendering



Real-time rendering relies on 3D graphics pipeline (aka GPU)
Of several techniques available to create image from 3D scene, pipeline architecture is ideal for real-time rendering.

____________________


Graphics processors work like pipelines (Remember CS100?)


____________________

CPU -> GPU -> Pixels



CPU
• Application

GPU:
• Vertex Processing Operations
• Fragment Processing Operations

CPU sends 3D triangles to Vertex Processing Operations, which sends 2D triangles to Fragment Processing Operations.

____________________

...Lots of other stuff, too much to copy, so I stopped and just listened.


--------------------

images\6-1.png

Model Space model Coordinates -> Local Coordinates
World Space Application Coordinates -> World Coordinates

It's just transferring of coordinates via matrices.

Normalized Device Coordinates defines everything in a standardized way.

--------------------
images\6-2.png

The MODERN OpenGL Pipe: Anything in blue is programmable.

--------------------

GPU is used for a lot of non-graphics stuff because CPUs are mostly not controlled by the user, and everything depends on everything else. Most of the CPU is devoted to the cache.

Most of the GPU is devoted to the ALU.

--------------------