Techne/Pape: Programming Graphics 1

[Dave Pape] Graphics hardware & software; Python

maetel 2007. 10. 29. 18:42
Dave Pape's
Class 2 (30 Aug) - Graphics hardware & software; Python

Python

Features:

  • Dynamic data typing

  • Automatic memory management

  • Advanced data types (strings, lists, dictionaries)

  • A large standard library

  • Extensible & embeddable

Building Blocks

  • Comments
  • Numbers
  • Strings
  • Lists
  • Variables
  • Operators
  • Statements
    • Assignment
    • If - elif - else
    • For loops
    • While loops
  • Functions
  • Variable scope
  • Modules
  • Advanced data types


8진수는 영어 문자 o 를 붙여서 표현하고
16진수는 0x를 붙여서 표현하고
10진수는 그냥 표시한다.

% operator (modulo)

pass

Modules are pre-written packages of code that can be used in a Python program.
They are similar to libraries in other languages.

math modules (Numeric and Mathematical Modules)

string modules
(string manipulation operations)

keys ()

Mapping Types -- dict

A class is a data type, for objects that can contain both variables and functions.
A class can implement certain operations that are invoked by special syntax (such as arithmetic operations or subscripting and slicing) by defining methods with special names.


Graphics Pipeline

  • Program & data reside in PC memory
  • CPU runs program, calling graphics commands
  • Commands & data transferred to graphics card
  • Images rendered into graphics card memory
  • Video display generated from graphics card memory
Interface between CPU & graphics card:
  • PCI
  • AGP (1x, 2x, 4x, 8x)
  • PCI Express
Interface between graphics card & display:
  • VGA
  • DVI
  • Composite, S-Video


A scene graph is a tree used to represent a graphical scene.
A scene-graph is a data structure that arranges the logical and often (but not necessarily) spatial representation of a graphical scene.

Graphics APIs

  • OpenGL
  • Direct3D

  • Performer
  • OpenInventor
  • OpenSceneGraph
  • Java3D

  • Virtools
  • OpenDX
  • AVS

OpenGL (Open Graphics Library) is a standard specification defining a cross-language cross-platform API for writing applications that produce 2D and 3D computer graphics. http://www.opengl.org/

Direct3D

Performer

Open Inventor, originally IRIS Inventor, is a C++ object oriented retained mode 3D graphics API designed by SGI to provide a higher layer of programming for OpenGL. http://oss.sgi.com/projects/inventor/

OpensceneGraph

Java3D

Virtools

OpenDX

AVS


GLUT (the OpenGL Utility Toolkit) is a library of utilities for OpenGL programs, which primarily perform system-level I/O with the host operating system.