Computer Graphics PDF
Document Details
Uploaded by Deleted User
Tags
Summary
This document describes computer graphics concepts, including image representation (pixels and color spaces), 3D modeling, rendering techniques, and different types of software and hardware used in the field. It includes examples of 3D model components, types of image formats, and graphics software.
Full Transcript
computer graphics computer graphics: the technology concerned with creating, manipulating & displaying visual content using computers encompasses: the creation of images from mathematical models (rendering) processing o...
computer graphics computer graphics: the technology concerned with creating, manipulating & displaying visual content using computers encompasses: the creation of images from mathematical models (rendering) processing of images captured by devices such as cameras or scanners involves: 2D & 3D modelling - crafting objects & scenes using geometric shapes rendering - converting models into images using algorithms that simulate light, shadow & texture animation - bringing models to life through movement & changes over time revolves around the representation of images digitally computer graphics 1 images heart of computer graphics primary medium through which visual info is communicated composed of pixels, each representing a specific colour & intensity pixels “picture elements” smallest unit of an image that can be individually processed & displayed on a screen each pixel carries info about its colour & brightness form the images we see on digital devices images, which are dependent on a colour space, are represented by matrices where at each point (pixel) in a grid, there is an associated value images 1 colour spaces define the range of colours that can be represented in an image common colour spaces RGB - red, green, blue CMYK - cyan, magenta, yellow, black HSL - hue, saturation, lightness each space has its unique applications & characteristics RGB digital screens additive colour space: combining red, green & blue light to produce various colours CMYK printing images 2 subtractive colour space: combining cyan, magenta, yellow & black inks HSL defines colours in terms of hue, saturation, lightness offers intuitive way to manipulate colours HSV defines colours in terms of hue, saturation, value often called HSB (b for brightness) grayscale defines colour in terms of a single value representing the amount of light or intensity of a pixel raster vs vector two primary image representations raster graphics made up of pixels suitable for complex images with fine details (photographs) images are specified by storing a colour value for each pixel GIF, PNG, JPEG & WebP vector graphics composed of paths defined by mathematical equations ideal for images requiring scalability without loss of quality (logos, illustrations) SVG “scalable vector graphics” an XML-based language for describing 2D vector graphics images scalable - no loss of quality when the size of the image is increased images 3 painting vs drawing techniques used to create images painting involves applying colours to a canvas using digital brushes mimics traditional painting methods drawing focuses on creating images using lines & shapes often results in cleaner & more precise graphics compression reduces the file size of images to save storage space & improve transmission speed lossy compression reduces the file size by removing some image data results in a loss of quality JPEG lossless compression reduces file size without any loss of quality PNG images 4 models fundamental building blocks used to create & represent objects & scenes mathematical representation of 3D objects, encompassing their geometry appearance behaviour 3D space (world) virtual environment in which models exist defined by a coordinate system that specifies the position & orientation of objects coord systems are used to locate points in space cartesian coord system is most common in computer graphics - x, y & z axes to define positions in 3D space x-axis = horizontal direction y-axis = vertical direction z-axis = depth direction (coming out or going into the plane) models 1 geometric modelling process of creating a scene by specifying the geometric objects contained in the scene + geometric transforms to be applied to them & attributes that determine their appearance start with construction of “artificial 3D world” as collection of simple geometric shapes, arranged in 3D space simple shapes = primitives or made up of primitives primitives: basic building blocks of 3D models points simplest form of a 3D object representing a single location in space vertices basic building blocks of a 3D model point in 3D space defined by its coords (x,y,z) lines connect 2 points & are used to create edges edges line segments connecting two vertices polygons flat shapes with three or more sides used to construct the surfaces of 3D objects faces flat surfaces bounded by edges, typically triangles or quadrilaterals a collection of faces forms the surface of the 3D model models 2 meshes collection of vertices, edges & faces that defines the shape of a 3D object used to approximate complex shapes using simpler geometric primitives detail & quality of models are enhanced by the complexity of their mesh increased detail requires defining a greater number of vertices → demands more processing power & memory → impacts performance level of detail (LOD) technique used in computer graphics to manage the complexity & detail of scenes models 3 particularly used in games & movies primary goal is to optimise performance & resource usage while maintaining visual fidelity esp. when dealing with high-resolution assets that can be computationally expensive to render geometric transformations operations that modify the position, orientation & scale of models translation: moving an object from one location to another rotation: spinning an object around an axis scaling: changing the size of an object hierarchical modelling solution to the difficulty of creating a scene by giving explicit coords for each individual primitive when a scene contains a large number of primitives chunk primitives into reusable components organises complex models into a hierarchy of simpler components models 4 approach allows for easier manipulation & animation models as changes to parent components auto affect their children allows for the efficient reuse of assets models 5 rendering process responsible for generating the final visual output from 2D & 3D models involves the application of various algorithms & techniques to simulate the appearance of objects takes into account factors lighting shading texture perspective general challenges to overcome are handled by the graphics (rendering) pipeline in a rendering device such as a GPU rendering pipeline sequence of steps that transform 3D models into 2D images key stages vertex processing: transforming vertices to their final positions rasterization: converting geometric data into pixels fragment processing: applying shading & texturing to pixels output merging: combining pixels to produce the final image rendering 1 colour/material these properties define the appearance of 3D models materials can simulate different surfaces (metal, wood, glass) by adjusting properties like reflectivity, transparency & texture materials control how light interacts with the surface of the model rendering 2 rendering 3 texture images applied to surfaces of 3D models - add detail & realism represent various surface properties colour bumpiness reflectivity source of memory consumption in all renders highest resolution textures ideal in order to achieve photo realism, however textures become very large can be generated at run-time using procedural generation techniques approach used to generate dynamic clouds, streams of lava or waterfall lighting crucial for creating realistic images involves simulating the interaction of light with objects to produce effects shadows rendering 4 reflections highlights common lighting techniques ambient lighting: provides a base level of light diffuse lighting: simulates light scattering in many directions specular lighting: creates highlights on shiny surfaces ambient + diffuse + specular = phong reflection shaders small programs that run on the GPU controls how vertices & pixels are processed enable advanced effects realistic lighting shadows surface details common types incl. vertex shaders - process vertex data fragment shaders - process pixel data geometry shaders - generate new geometry on the fly rendering 5 animation brings models to life by changing their properties over time techniques: keyframe animation - important positions (keyframes) are defined & the computer interpolates the frames in between procedural animation - movements are generated through algorithms rendering 6 hardware & software computer graphics rely on specialised hardware & software to achieve their goals hardware graphics processing unit (GPU) specialised for rendering images quickly & efficiently provide the computational power to perform thousands of calculations in parallel display devices monitors & screens that show the final output CRT (cathode ray tube) monitors use electron beams to illuminate phosphors on the inside of a glass screen beams directed by magnetic fields to specific points on the screen very good colour accuracy & low motion blur however very bulky & consumes a lot of power hardware & software 1 LCD (liquid crystal display) monitors use liquid crystals sandwiched between two layers of glass or plastic electric current passes through → changes the orientation of the crystals → modulates light to produce images slim & consumes less power, however suffers from limited viewing angles & motion blue different devices use various patterns for liquid crystals in their displays to optimise performance characteristics viewing angles response times colour reproduction power consumption specific arrangement & technology of liquid crystals can significantly impact the quality & functionality of a display LED (light emitting diode) monitors essentially a type of LCD monitor but uses LEDs for backlighting instead of fluorescent lights improved colour accuracy & contrast two types: edge-lit & full-array LED hardware & software 2 software tools used in computer graphics range from simple drawing programs to complex 3D modelling & animation suites popular software: adobe photoshop - for 2D image editing blender - open-source 3D modelling & animation tool Autodesk maya - professional 3D modelling & animations software graphics rendering API’s DirectX OpenGL Vulkan are all software frameworks for rendering graphics & handling multimedia tasks hardware & software 3