IMGD 1001: 3D Art. IMGD 10012 Outline  The Pipeline  Concept Art  2D Art Animation, Tiles  3D Art (next) Modeling, Texturing, Lighting, Transformations.

Slides:



Advertisements
Similar presentations
Today Composing transformations 3D Transformations
Advertisements

COMPUTER GRAPHICS 2D TRANSFORMATIONS.
1 Computer Graphics Chapter 9 Rendering. [9]-2RM Rendering Three dimensional object rendering is the set of collective processes which make the object.
Informationsteknologi Wednesday, November 7, 2007Computer Graphics - Class 51 Today’s class Geometric objects and transformations.
Concept Art Mohammad Zikky, M.T. 2 Outline  The Pipeline  Concept Art(next)  2D Art  Animation, Tiles  3D Art  Modeling, Texturing, Lighting.
CS 4363/6353 INTRODUCTION TO COMPUTER GRAPHICS. WHAT YOU’LL SEE Interactive 3D computer graphics Real-time 2D, but mostly 3D OpenGL C/C++ (if you don’t.
1 Computer Graphics Chapter 7 3D Object Modeling.
CS 4731: Computer Graphics Lecture 7: Introduction to Transforms, 2D transforms Emmanuel Agu.
CGDD 4003 THE MASSIVE FIELD OF COMPUTER GRAPHICS.
1 CSCE 441 Computer Graphics: 2D Transformations Jinxiang Chai.
1 Jinxiang Chai CSCE 441 Computer Graphics. 2 Midterm Time: 10:10pm-11:20pm, 10/20 Location: HRBB 113.
Scenes, Cameras & Lighting. Outline  Constructing a scene  Using hierarchy  Camera models  Light models.
CHAPTER 7 Viewing and Transformations © 2008 Cengage Learning EMEA.
2D Transformations x y x y x y. 2D Transformation Given a 2D object, transformation is to change the object’s Position (translation) Size (scaling) Orientation.
2D Transformations Unit - 3. Why Transformations? In graphics, once we have an object described, transformations are used to move that object, scale it.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology 3D Engines and Scene Graphs Spring 2012.
Introduction to 3D Graphics John E. Laird. Basic Issues u Given a internal model of a 3D world, with textures and light sources how do you project it.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology Beyond Meshes Spring 2012.
Hierarchical Transformations Hierarchical Models Scene Graphs
Hidden Surface Removal
10/5/04© University of Wisconsin, CS559 Fall 2004 Last Time Compositing Painterly Rendering Intro to 3D Graphics Homework 3 due Oct 12 in class.
Guilford County Sci Vis V204.01
IMGD 1001: 3D Art by Mark Claypool Robert W. Lindeman
COMP 261 Lecture 14 3D Graphics 2 of 2. Doing better than 3x3? Translation, scaling, rotation are different. Awkward to combine them. Use homogeneous.
COMP 175: Computer Graphics March 10, 2015
Introduction to 3D Graphics Lecture 4: Scenes and Scene Graphs Anthony Steed University College London.
Spatial Data Structures Jason Goffeney, 4/26/2006 from Real Time Rendering.
University of Illinois at Chicago Electronic Visualization Laboratory (EVL) CS 426 Intro to 3D Computer Graphics © 2003, 2004, 2005 Jason Leigh Electronic.
COMPUTER GRAPHICS CS 482 – FALL 2014 AUGUST 27, 2014 FIXED-FUNCTION 3D GRAPHICS MESH SPECIFICATION LIGHTING SPECIFICATION REFLECTION SHADING HIERARCHICAL.
C O M P U T E R G R A P H I C S Stuff CMSC 435 / 634 Transformations 1/29 Geometric Transformations Readings: Chapters 5-6.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
Shapes Properties Binding Chung Ji Hye.
CS324e - Elements of Graphics and Visualization Checkerboard World.
Geometric Transformation. So far…. We have been discussing the basic elements of geometric programming. We have discussed points, vectors and their operations.
CSE 381 – Advanced Game Programming Basic 3D Graphics
COMPUTER AIDED DESIGN -(CAD)-3
Elements of Art (pages 32-36)
Geometric Transforms Changing coordinate systems.
Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data.
SKM 4200 Computer Animation Chapter 4: Animation (3D Computer Animation – Part 1)
Lecture 6: 3D graphics Concepts 1  Principles of Interactive Graphics  CMSCD2012  Dr David England, Room 718,  ex 2271 
Advanced Computer Graphics Advanced Shaders CO2409 Computer Graphics Week 16.
Geometric Objects and Transformation
16/5/ :47 UML Computer Graphics Conceptual Model Application Model Application Program Graphics System Output Devices Input Devices API Function.
1 Perception and VR MONT 104S, Fall 2008 Lecture 21 More Graphics for VR.
Computer Graphics: Programming, Problem Solving, and Visual Communication Steve Cunningham California State University Stanislaus and Grinnell College.
Course Introduction to virtual engineering Óbuda University John von Neumann Faculty of Informatics Institute of Applied Mathematics Lecture and laboratory.
Basic 3D Concepts. Overview 1.Coordinate systems 2.Transformations 3.Projection 4.Rasterization.
Sky Boxes and Vector Math 2 Course Information CVG: Programming 4 My Name: Mark Walsh Website:
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
CS COMPUTER GRAPHICS LABORATORY. LIST OF EXPERIMENTS 1.Implementation of Bresenhams Algorithm – Line, Circle, Ellipse. 2.Implementation of Line,
Computer Graphics Matrices
 Advancing from moving premade primitives to making our own models  Two different approaches: ◦ Direct mesh editing: A more traditional approach commonly.
 The terms LMB, MMB, RMB, and mouse wheel (MW).
1 Teaching Innovation - Entrepreneurial - Global The Centre for Technology enabled Teaching & Learning, N Y S S, India DTEL DTEL (Department for Technology.
CSCE 441 Computer Graphics: 2D Transformations
3D Ojbects: Transformations and Modeling. Matrix Operations Matrices have dimensions: Vectors can be thought of as matrices: v=[2,3,4,1] is a 1x4 matrix.
Introduction to Computer Graphics
- Introduction - Graphics Pipeline
Computer Graphics CC416 Week 15 3D Graphics.
POLYGON MESH Advance Computer Graphics
Intro to 3D Graphics.
Modeling 101 For the moment assume that all geometry consists of points, lines and faces Line: A segment between two endpoints Face: A planar area bounded.
2D Transformations y y x x y x.
3D Graphics Rendering PPT By Ricardo Veguilla.
3D Modeling.
Rendering – Matrix Transformations and the Graphics Pipeline
Game Programming Algorithms and Techniques
Computer Graphics Material Colours and Lighting
Presentation transcript:

IMGD 1001: 3D Art

IMGD Outline  The Pipeline  Concept Art  2D Art Animation, Tiles  3D Art (next) Modeling, Texturing, Lighting, Transformations

IMGD Polygonal Modeling Basics: Primitives  Primitives are basic shapes  Most 3d packages have same primitives: Sphere, Cube, Cylinder, Plane Use for “broad strokes”  Concentrate on primitives within object Ex: human body (ovals for shoulders, cylinders for legs, sphere for head…)  Components are parts that make up primitive Ex: vertices, edges, triangles, faces, elements Similar across all packages but terminology can vary  Transformation allows moving, rotating, scaling object or component

IMGD Polygonal Modeling Basics: Normals  Face normals are at right angle to polygon Tell what direction if facing, how to render, how light will react  Viewed from other side, is invisible Fine if on inside (say, of solid cube)  When debugging, pay attention to normals as well as polygons

IMGD Polygonal Modeling Basics: Backface Culling  Toggles display of faces that point away from view When on, see through wireframe When off, looks solid (not drawn)  Makes look less cluttered

IMGD Modeling Tools  Certain tools and techniques used 80-90% of the time  Line Tool: Draw outline of object and extrude to get 3-d shape  Ex: profile of car. Use line tool. Then, extrude outward to get shape.  Extrude: Take component (often face), duplicating it, pulling pushing or scaling to refine model  Ex: take cube. Extrude face outward and smaller  Cut: Subdivides faces and adds new faces  Adjust: The artistic part of modeling. Try to capture form, profile and character by moving vertices  “Vertex surgery”, part of the technical manipulation Based on Chapter 6.2, Introduction to Game Development

IMGD A Modeling Technique: Box Modeling  Done for character, but can apply to other things  General idea: Start with box, cylinder or other primitive Extrude, Cut, Adjust… Get topology, proportions right Once happy, refine until details complete

IMGD Box modeling: Quick Example  Reference  Box modeling: extrude, cut, adjust  Compare to reference  Shade Based on Chapter 6.2, Introduction to Game Development

IMGD Polygons and Limits  3d Software renders scene of polygons like game But 3d software slow (Toy Story 1 frame / 15 hrs) Game is real time (30 frames / second)  Need to limit polygons. How spent depends upon world size and where needed. Ex: Medal of Honor versus Soul Caliber 2. MoH details spread across world, less on avatars. SC2 can have detailed avatars since only 2 in one ring.  Think of how many polygons each item needs. Estimates, educated guesses. Then, make pass. (Tools will often give count) Used wisely, can make detailed scenes with few (Ex: 2.5, page 24) Ch 6.2 assumes 4000 (typical for PS2 street fighting game or hero in 3 rd person action game) Based on Chapter 2, Creating the Art of the Game, by Matthew Omernick

IMGD Polygon Reduction (1 of 4)  Being able to model without wasting polygons important  takes practice  If a player will see face? Ex: oil barrel as cylinder. Will see bottom? Nope, then delete.  Are all faces necessary? Looks great, yeah, but some can be removed. Ex: 12-sided cylinder still looks “round” with 8 sides? Then do it.  (Example exercise p30-31) Based on Chapter 2, Creating the Art of the Game, by Matthew Omernick

IMGD Polygon Reduction (2 of 4)  Level-of-detail (LOD) meshes Multiple versions of object, progressively lower levels  When far away, use low level Assume more objects in Field of View  When close, use higher level Assume fewer objects in Field of View

IMGD Polygon Reduction (3 of 4)  For entire level (ie- map with environment), entire polygon count matters Impacts amount of memory needed  But only visible polygons rendered Rest are “culled” and not computed Based on Chapter 6.2, Introduction to Game Development Images courtesy of WildTangent

IMGD Polygon Reduction (4 of 4)  With low polygon modeling, much of the detail is painted into the texture (next topic!) Images courtesy of WildTangent, model and texture by David Johnson. Based on Chapter 6.2, Introduction to Game Development

IMGD Texture  Shader – define surface property of object – how shiny, bumpy, how light effects  Texture – bitmap plugged into shader that defines image we want to appear on object Based on Chapter 6.4, Introduction to Game Development

IMGD Detail in Texture  Add depth, lines, etc. without polygons  Box is 12 polygons, bricks would take many more (Taken from Based on Chapter 6.4, Introduction to Game Development

IMGD Lighting  Can conjure feelings, emotions, even change what you are seeing Reveal (or hide) depth (Many books on traditional lighting) AR/ID LIGHT, VISION AND UNDERSTANDING  Color, Mood Based on Chapter 6.6, Introduction to Game Development

IMGD The Role of Color RTX Red Rock Color indicates danger

IMGD The Role of Lighting Long shadows not only add to the atmosphere, but also help break up repetition

IMGD Key light – main source. The Key light is placed next to the camera, about degree angle to the subject. The angle is determined by what kind of mood that you want the scene to have. Lighting Setup (1 of 3)

IMGD Fill light – Brings out some details out of shadow. Place the Fill Light at a 90 degree angle from the Key Light, usually slightly higher or lower than the Key Light. Lighting Setup (2 of 3)

IMGD Backlight - Highlights edges, pulls away from background. Placed directly opposite the camera and behind the subject. Lighting Setup (3 of 3)

IMGD Working with 3D Lights  Directional Lights – used for sunlight or moonlight. Often as key light. Predictable.  Spot Lights – focus beam on single location. Great control.  Point Lights – single point in all directions. Light bulbs, candles, etc.  Ambient Lights – spread everywhere, equally. Uniform diffuse lights. Precise control over illumination. Based on Chapter 6.6, Introduction to Game Development

IMGD Example of Working with 3D Lights Ambient light Based on Chapter 6.6, Introduction to Game Development

IMGD Effective Lighting Practices (1 of 2) Pools of light – Don’t always try to light evenly. - Gives sense of mystery Pools of light in Indiana Jones: The Emperor's Tomb Based on Chapter 6.6, Introduction to Game Development

IMGD Effective Lighting Practices (2 of 2) Guide lights – - Use light to guide the player. - Helps highlight areas that are accessible and important to the objectives. Based on Chapter 6.6, Introduction to Game Development

IMGD Introduction to Transformations  A transformation changes an object's Size (scaling) Position (translation) Orientation (rotation)  Transform object by applying sequence of matrix multiplications to object vertices

IMGD Hierarchical Transformations  Graphical scenes have object dependencies  Many small objects  Attributes (position, orientation, etc.) depend on each other base lower arm hammer A Robot Hammer!

IMGD Hierarchical Transformations  Object dependency description using tree structure Base Lower arm Upper arm Hammer Root node Leaf node Object position and orientation can be affected by its parent, grand-parent, grand-grand-parent, … nodes Hierarchical representation is known as Scene Graph

IMGD Hierarchical Transformations  Relative Transformations - Specify the transformation for each object relative to its parent Step 1: Translate the base (and its descendants) by (5, 0, 0); x z y x z y x z y

IMGD Hierarchical Transformations Step 2: Rotate the lower arm and (its descendants) relative to the base's local y axis by -90 degrees x z y x z y x z y

IMGD Hierarchical Transformations Base Lower arm Upper arm Hammer Rotate (-90) about its local y Translate (5, 0, 0) Apply all the way down Apply all the way down

IMGD Transformation uses Matrices  All transformations can be performed using matrix/vector multiplication  Allows pre-multiplication of all matrices  Note: point (x, y) needs to be represented as (x, y, 1), also called homogeneous coordinates

IMGD Point Representation  We use a column matrix (2x1 matrix) to represent a 2D point  General form of transformation of a point (x, y) to (x’, y’) can be written as: or

IMGD Translation  To reposition a point along a straight line  Given point (x, y) and translation distance (t x, t y )  The new point: (x’, y’) (x,y) (x’,y’) or where x’ = x + t x y’ = y + t y

IMGD x3 2D Translation Matrix use 3x1 vector Note: it becomes a matrix-vector multiplication x’ = x + t x y’ = y + t y

IMGD Translation of Objects  How to translate an object with multiple vertices? Translate individual vertices

IMGD D Scaling  Scale: Alter object size by scaling factor (Sx, Sy). i.e., x’ = x * Sx y’ = y * Sy (1,1) (2,2) Sx = 2, Sy = 2 (2,2) (4,4)

IMGD x3 2D Scaling Matrix x’ = x * Sx y’ = y * Sy

IMGD D Rotation  Default rotation center is origin (0,0) Rotate counter clockwise Rotate clockwise 

IMGD D Rotation (cont.) (x,y)  Rotate about the origin by  (x’, y’) How to compute (x’, y’) ? x = r*cos() y = r*sin() (x,y) (x’,y’)   r x' = r*cos( +) y' = r*sin( +)

IMGD D Rotation (cont.)  Using trigonometric identities (x,y) (x’,y’)   r x’ = x cos() – y sin() y’ = x sin() + y cos() Matrix form?

IMGD x3 2D Rotation Matrix (x,y) (x’,y’)   r

IMGD D Rotation  How to rotate an object with multiple vertices? Rotate individual Vertices 

IMGD Arbitrary Rotation Center  To rotate about arbitrary point P = (Px, Py) by : Translate object by T(-Px, -Py) so that P coincides with origin Rotate the object by R() Translate object back: T(Px, Py)  In matrix form T(Px,Py) R() T(-Px,-Py) * P  Similar for arbitrary scaling anchor

IMGD Composing Transformations  Composing transformations Applying several transforms in succession to form one overall transformation  Example M1 X M2 X M3 X P where M1, M2, M3 are transform matrices applied to P  Be careful with the order!  For example Translate by (5, 0), then rotate 60 degrees is NOT same as Rotate by 60 degrees, then translate by (5, 0)