How to render a bunny in modern style: I

Rise of Graphic Hardwares

Why not count on CPU?

Reminder: classic pipeline

  • Geometric primitives
  • Modelling and transformation
  • Camera transformation
  • Projection transformation
  • Clipping
  • Scan conversion or rasterization
  • Texturing, fragment shading

True reason: cheaper video games

  • Mainly focus on Sprite rendering (70s to 90s)

Basketball, 1974

https://www.youtube.com/watch?v=BMV_meVa7m8

  • Atari 2600, 1977, the first Game console

    • (ROM) Support Microprocessor-based hardware and ROM cartridges containing game code
    • (VIA) Since background rendering needs much more expensive RAM, control scan line directly for reducing RAM usage
    • Designer Jay Miner is also 'Father of the Amiga'
  • Namco Galaxian, 1979, with RGB color, multi-colored sprites and tilemap backgrounds

    • Display resolution: 256x224 to 384x264(horizontal), 224x256 to 264x384 (vertical)
    • Refresh rate: 60.60606 Hz (V-sync)
    • Color model: RGB
    • Color palette: 224
    • Colors on screen: 32
    • Background planes: Tilemap plane, Bitmap plane
    • Sprite capabilities: Line buffer 8x8 to 16x16 sizes, 4 colors per sprite, 15 sprites (7 main sprites, 7 shells, 1 missile) per scanline, 240 sprite pixels per scanline, sprite flipping, sprite animation
  • Namco System 21, 1988

    • The first hardware based 3D polygon system

    • Winning Run, 1988

 Age of PC

  • Commodore Amiga, 1985

    • Developed by Jay Miner

    • The first PC with built-in but independent Graphic system.

      • line draw

      • area fill

      • a stream processor called a blitter which accelerated the movement, manipulation and combination of multiple arbitrary bitmaps.

      • Also included was a coprocessor with its own (primitive) instruction set capable of directly invoking a sequence of graphics operations without CPU intervention. 

  • IBM 8514, 1987

    • The first video card for IBM compatible machine

    • 1024x768 pixels with 256 colors at 43.5 Hz, or 640x480 at 60 Hz

    • Provide common 2D-drawing operations (line-draw, color-fill, BITBLT)

  • Age of Windows: before late 90s

    • GUI ask for more 2D acceleration (Like BITBLT)

    • Microsoft's WinG to DirectDraw

    • More focus on CPU-assisted real-time 3D graphics until mid 90s

    • Advanced T&L (transform, clipping, and lighting) hardwares first appeared in arcade system boards at same time

  • Age of Windows: before late 90s

    • For advanced 3D requirement, PowerVR and 3dfx Voodoo are only with discrete boards dedicated to accelerating 3D functions, mainly for OEM, 1995-2000

    • ATI, Nvidia, and Rendition involved in the war with single chip card.

    • GeForce 256 released in 1999, the world's first GPU, Graphics Processing Unit

      • a single-chip processor with integrated transform, lighting, triangle setup/clipping, and rendering engines that are capable of processing a minimum of 10 million polygons per second

 Age of API

  • OpenGL: founded by SGI, 1992

    • 3D Graphic rendering comes from algorithm

    • Algorithm is written as code at first time

    • OpenGL decides to evolve using software implementation

    • Providers follow to support new features in their own hardware from API

    • Latest version 4.5, August, 2014 

    • Mac OS X will migrate from OpenGL to Metal

  • Direct3D: originally bought by Microsoft for win95, 1995

    • Incomplete as OpenGL before D3D 7.

    • Most widely used for game development, including DirectX family

    • Latest version 12, July 29, 2015

    • Now more prior to OpenGL

 Age of Computing

  • GPGPU, General Purpose Computing on GPU

    • First introduced with GeForce 8 series, 2006

    • The earliest widely adopted programming model for GPU computing was Nvidia's CUDA platform

    • OpenCL is an open standard defined by the Khronos Group

    • OpenCL is the most popular GPGPU development platform now

Made with Slides.com