Image synthesis or image generation refers more to the construction of images from scratch, rather than processing of existing images

Synthesis of a 2D image from a 3D scene description is more commonly called rendering

15Photoreal Rendering

Photoreal rendering refers to rendering a 3D scene in a realistic way

Modern photoreal rendering algorithms are essentially a physically based simulation of light propagation and scattering throughout a 3D environment

In a sense, this means that there is a correct image that should be generated, given an input data set. This allows the subject of photoreal rendering to have a strong theoretical basis (namely, the science of optics)

Most modern photoreal rendering algorithms are based on the classic ray tracing algorithm, that traces the path of individual light rays starting from the eye and working backwards to the light sources

16Phororeal Rendering 17Non-Photoreal Rendering

Non-photoreal rendering (NPR) refers to rendering images in other ways

Sometimes, this is done to achieve aesthetic goals such as artificial water colors, pencil sketches, paint brushstrokes

Other times, the goal is to maximize the communication of visual information, as in scientific and medical visualization

18NPR 19Computer Vision

Computer vision is sometimes considered as a separate discipline from computer graphics, although they share many things in common

A central goal in computer vision is to take a set of 2D images (usually from a video or set of photos) and infer from that a 3D description of what is being viewed

This is a very different process than rendering, and is more of a form of artificial intelligence

20Computer Vision 21Animation

An animation is just a sequence of individual images

Basically, the subject of computer animation focuses on how things change over time. Usually, this refers to motion, but can also refer to other properties changing over time.

Physical simulation is a very powerful tool in computer animation and can be used to generate believable animations of rigid objects, deformable objects, gasses, liquids, fracture, particle effects, and even explosions and fire

Computer animation also includes a large number of techniques specifically developed to manipulate virtual characters

Note Video standards with an i (such as 1080i) are interlaced, while standards with a p (1080p) are progressive scan

31Interlacing

Older video formats (NTSC, PAL) and some HD formats (1080i) use a technique called interlacing

With this technique, the image is actually displayed twice, once showing the odd scanlines, and once showing the even scanlines (slightly offset)

This is a trick for achieving higher vertical resolution at the expense of frame rate (cuts effective frame rate in half)

The two different displayed images are called fields

NTSC video, for example, is 720 x 480 at 30 frames per second, but is really 720 x 240 at 60 fields per second

Interlacing is an important issue to consider when working with video, especially in animation as in TV effects and video games

Computer monitors are generally not interlaced

32Framebuffer

The framebuffer refers to the memory dedicated to storing the image

It would generally be a 2D array of pixels, where each pixel stores a color (Note pixel picture element)

Color is typically stored as a 24 bit RGB value. This offers 8 bits (256 levels) for red, green, and blue, for a total of 16,777,216 different colors

Very often, additional data is stored per pixel such as depth (z), or other info

A framebuffer can just be a block of main memory, but many graphics systems have dedicated framebuffer memory with a direct connection to video scan-out hardware and other special features

33Primitives

Complex scenes are usually built up from simpler objects

Objects are built from individual primitives

The most common and general purpose 3D primitive is the triangle

Points and lines are also useful primitives

More complex shapes such as n-sided polygons, spheres, curves, curved surfaces, and fractals can be considered as primitives as well, but often, these are just automatically tessellated into triangles in a pre-rendering phase, and so arent true primitives

343D Models

A basic 3D model might consist of a simple array of triangles

Each triangle stores 3 vertices

Each vertex contains an xyz position, and possibly some other information (color, normal)

353D Models

class Vector3

float x,y,z

class Vertex

Vector3 Position

class Triangle

Vertex Vert3

class Model

int NumTris

Triangle Tri

36Traditional Graphics Pipeline

In the traditional graphics pipeline, each primitive is processed through the following steps

Transformation

Lighting

Clipping

Scan conversion

Pixel processing

37Transformation

The transformation process refers to the linear transformation from 3D space to a 2D viewing space

Ultimately, each vertex position must be transformed from its defining object space to the device coordinates (pixel space)

This often involves a combination of rotations, translations, scales, and perspective transformations

We will learn how we can represent all of this stuff with 4x4 homogeneous matrices

38Lighting

Lighting operations are applied to each vertex to compute its color

In more advanced rendering, lighting operations are computed per pixel, rather than per vertex

A variety of light types can be defined such as point lights, directional lights, spot lights, etc.

More advanced lighting operations can account for shadows, reflections, translucency, and a wide variety of optical effects

39Clipping

Some triangles will be completely visible on the screen, while others may be completely out of view

Some may intersect the side of the screen and require special handling

The cameras viewable space forms a volume called the view volume. Triangles that intersect the boundary of the view volume must be clipped.

The related process of culling refers to the determination of which primitives are completely invisible

The output of the clipping/culling process is a set of visible triangles that lie within the dimensions of the display device

40Scan Conversion

The scan conversion (or rasterization) process takes 2D triangles as input and outputs the exact pixels covered by the triangle

Per-vertex data, such as color, is interpolated across the triangle, so each pixel may have a unique color

41Pixel Processing

The output of the scan conversion process is a bunch of individual xy pixels, plus additional data per pixel such as interpolated depth (z), color, or other information

The pixel processing stage includes the operations that take place per pixel to compute the final color that gets rendered into the framebuffer

Usually, the zbuffer technique is used to make sure that a pixel is rendered only if it is not blocked by an existing surface

Other processing, such as texturing and transparency operations happen per pixel

In some systems, the entire lighting process is computed per pixel, instead of per vertex

42Scene Rendering

With the traditional zbuffered graphics pipeline, triangles can be rendered in any order without affecting the final image

Often, complex effects such as transparency, actually do depend on the rendering order, and so may require additional care

Still, it makes a nice basic approach, and its the approach taken by OpenGL and built into many modern hardware graphics boards

There are more advanced rendering algorithms (scan line, ray tracing, etc.) that dont render triangles one at a time, and require the entire scene to be processed. We will learn about these later in the quarter as well.

43OpenGL

OpenGL is an interactive rendering standard designed for ease of use and portability across a wide range of systems

It is generally limited to things that can be done at interactive rates and does not include advanced rendering features such as ray tracing

It is based on the traditional graphics pipeline where triangles are processed one at a time

We will learn about OpenGL in this class, but the bulk of the class will focus on the underlying theory and isnt dependent on any particular interface. Most of what we learn can be applied to Java3D and Direct3D, as well as other interfaces.

44OpenGL Example

Heres an example that renders a colored triangle (Note that this doesnt include any setup code)

PowerShow.com is a leading presentation/slideshow sharing website. Whether your application is business, how-to, education, medicine, school, church, sales, marketing, online training or just for fun, PowerShow.com is a great resource. And, best of all, most of its cool features are free and easy to use.

You can use PowerShow.com to find and download example online PowerPoint ppt presentations on just about any topic you can imagine so you can learn how to improve your own slides and
presentations for free. Or use it to find and download high-quality how-to PowerPoint ppt presentations with illustrated or animated slides that will teach you how to do something new, also for free. Or use it to upload your own PowerPoint slides so you can share them with your teachers, class, students, bosses, employees, customers, potential investors or the world. Or use it to create really cool photo slideshows - with 2D and 3D transitions, animation, and your choice of music - that you can share with your Facebook friends or Google+ circles. That's all free as well!

For a small fee you can get the industry's best online privacy or publicly promote your presentations and slide shows with top rankings. But aside from that it's free. We'll even convert your presentations and slide shows into the universal Flash format with all their original multimedia glory, including animation, 2D and 3D transition effects, embedded music or other audio, or even video embedded in slides. All for free. Most of the presentations and slideshows on PowerShow.com are free to view, many are even free to download. (You can choose whether to allow people to download your original PowerPoint presentations and photo slideshows for a fee or free or not at all.) Check out PowerShow.com today - for FREE. There is truly something for everyone!

presentations for free. Or use it to find and download high-quality how-to PowerPoint ppt presentations with illustrated or animated slides that will teach you how to do something new, also for free. Or use it to upload your own PowerPoint slides so you can share them with your teachers, class, students, bosses, employees, customers, potential investors or the world. Or use it to create really cool photo slideshows - with 2D and 3D transitions, animation, and your choice of music - that you can share with your Facebook friends or Google+ circles. That's all free as well!

For a small fee you can get the industry's best online privacy or publicly promote your presentations and slide shows with top rankings. But aside from that it's free. We'll even convert your presentations and slide shows into the universal Flash format with all their original multimedia glory, including animation, 2D and 3D transition effects, embedded music or other audio, or even video embedded in slides. All for free. Most of the presentations and slideshows on PowerShow.com are free to view, many are even free to download. (You can choose whether to allow people to download your original PowerPoint presentations and photo slideshows for a fee or free or not at all.) Check out PowerShow.com today - for FREE. There is truly something for everyone!