Michael Haller Christian Hanl Jeremiah Diephuis Upper Austria University of Applied Sciences, Media Technology and Design, Hagenberg (ACM Computers in.

Slides:



Advertisements
Similar presentations
Department of nskinfo i-education
Advertisements

Department of nskinfo i-education
1.1 Designed and Presented by Dr. Ayman Elshenawy Elsefy Dept. of Systems & Computer Eng.. Al-Azhar University
2D Geometric Transformations
CSC 202 I NTRO. T O C OMPUTER ANIMATION Techniques and mathematical algorithms By Uzoma James Chikwem.
Graphics Pipeline.
3D Graphics Rendering and Terrain Modeling
1 Computer Graphics Week6 –Basic Transformations- Translation & Scaling.
Real-Time Rendering SPEACIAL EFFECTS Lecture 03 Marina Gavrilova.
INTRODUCTION. Painting with numbers! Aspects Modeling Rendering Animation.
Graphics Korea University Computer Animation Computer Graphics.
LYU0603 A Generic Real-Time Facial Expression Modelling System Supervisor: Prof. Michael R. Lyu Group Member: Cheung Ka Shun ( ) Wong Chi Kin ( )
Introduction What is this ? What is this ? This project is a part of a scientific research in machine learning, whose objective is to develop a system,
Non-Photorealistic Rendering Mario Costa Sousa Department of Computer Science University of Calgary Mario Costa Sousa Department of Computer Science University.
Painterly Rendering for Animation Barbara J. Meier Walt Disney Feature Animation SIGGRAPH 96.
Animation CMSC 435/634. Keyframe Animation From hand drawn animation – Lead animator draws poses at key frames – Inbetweener draws frames between keys.
3D Rendering with JOGL Introduction to Java OpenGL Graphic Library By Ricardo Veguilla
Lecture Fall 2001 Computer Animation Fundamentals Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics.
Integration Of CG & Live-Action For Cinematic Visual Effects by Amarnath Director, Octopus Media School.
History, Principles & More. History: Pioneers of Animation J. Stuart Blackton ( ) Winsor McCay ( ) John Bray ( ) Max Fleischer.
05/09/02(c) 2002 University of Wisconsin Last Time Global illumination algorithms Grades so far.
3D Concepts Coordinate Systems Coordinates specify points in space 3D coords commonly use X, Y, & Z A vertex is a 'corner' of an object Different coordinate.
Getting started © juhanita2015.
Modeling and Animation with 3DS MAX R 3.1 Graphics Lab. Korea Univ. Reference URL :
1 Perception, Illusion and VR HNRS 299, Spring 2008 Lecture 19 Other Graphics Considerations Review.
Antigone Engine Kevin Kassing – Period
1 Perception and VR MONT 104S, Spring 2008 Lecture 22 Other Graphics Considerations Review.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
Geometric Transformation. So far…. We have been discussing the basic elements of geometric programming. We have discussed points, vectors and their operations.
1 CMT Fundamentals of Computer Graphics Revision Dr. Xiaohong Gao BG---Room 2C23 Week 11.
Invitation to Computer Science 5th Edition
CO1301: Games Concepts Dr Nick Mitchell (Room CM 226) Material originally prepared by Gareth Bellaby.
Passage Three Multimedia Application. Training target: In this part , you should try your best to form good reading habits. In order to avoid your ill.
Computer Graphics 2 In the name of God. Outline Introduction Animation The most important senior groups Animation techniques Summary Walking, running,…examples.
Photorealistic Modeling. 3D  Three-dimensional is a specific way of presenting a scene or an object.  It is commonly used in computer animation, virtual.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
COMPUTER GRAPHICS CSCI 375. What do I need to know?  Familiarity with  Trigonometry  Analytic geometry  Linear algebra  Data structures  OOP.
Developing An Educational Rigid Body Dynamics Physics Engine By Neal Milstein.
3D animation is rendered clip of animated 3D objects in a 3D environment. An example: Examples of movies released in 3D are Toy Story, Cars, Shrek, Wall-E,
Computer Graphics Researched via: Student Name: James Wood Date: 4/29/10.
Animation CMSC 435/634 By Prof. Marc Olano. Keyframe Animation From hand drawn animation – Lead animator draws poses at key frames – Inbetweener draws.
CLASS 10 SCENE GRAPHS BASIC ANIMATION CS770/870. A scene Graph A data structure to hold components of a scene Usually a Tree of a Directed Acyclic Graph.
1 Perception and VR MONT 104S, Fall 2008 Lecture 21 More Graphics for VR.
Introduction to Computer Graphics Chapter 6 – 2D Viewing Pt 1 1.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 Computer Animation 고려대학교 컴퓨터 그래픽스 연구실.
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
Animation in the Interface. 2 Reading assignment: This section based on 2 papers n Bay-Wei Chang, David Ungar, “Animation: From Cartoons to the User Interface”,
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
UNC Chapel Hill M. C. Lin Basics of Motion Generation let X i = position,orient. of O i at t k = t 0,  i END = false while (not END) do display O i, 
12/24/2015 A.Aruna/Assistant professor/IT/SNSCE 1.
CSCI480/582 Lecture 8 Chap.2.1 Principles of Key-framing Techniques Feb, 9, 2009.
CS COMPUTER GRAPHICS LABORATORY. LIST OF EXPERIMENTS 1.Implementation of Bresenhams Algorithm – Line, Circle, Ellipse. 2.Implementation of Line,
Navigating in 3D MAX CTEC V part 1. Viewing Objects and/or Scenes Depending upon the software program, the image on the monitor could be a Perspective.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
X-Toon: An Extended Toon Shader Pascal Barla, Joelle Thollot ARTIS GRAVIR/IMAGE INRIA Lee Markosian University of Michigan.
Painterly Rendering for Animation Introduction speaks of focus and detail –Small brush strokes focus and provide detail –Large strokes are abstract and.
Animation Animation is about bringing things to life Technically: –Generate a sequence of images that, when played one after the other, make things move.
Processing Images and Video for An Impressionist Effect Automatic production of “painterly” animations from video clips. Extending existing algorithms.
3D Animation 1. Introduction Dr. Ashraf Y. Maghari Information Technology Islamic University of Gaza Ref. Book: The Art of Maya.
1 INTRODUCTION TO COMPUTER GRAPHICS. Computer Graphics The computer is an information processing machine. It is a tool for storing, manipulating and correlating.
Presented By: V. Jagadeesh (59) Animation The word “animation” is a form of “animate,” which means to bring to life to object. Thus when a multimedia.
Non-photorealistic rendering
- Introduction - Graphics Pipeline
Chapter 4:- Animation Eyad Alshareef Eyad Alshareef.
Computer Animation cgvr.korea.ac.kr.
3D Graphics Rendering PPT By Ricardo Veguilla.
CS451Real-time Rendering Pipeline
Basics of Motion Generation
Computer Animation Displaying animation sequences raster animation
Computer Graphics Lecture 15.
Presentation transcript:

Michael Haller Christian Hanl Jeremiah Diephuis Upper Austria University of Applied Sciences, Media Technology and Design, Hagenberg (ACM Computers in Entertainment, 2004) Non-Photorealistic Rendering Techniques for Motion in Computer Games

Introduction Computer graphics has long been defined as the quest to achieve photorealism Programmable hardware makes rendering photorealistically not only possible, but allows us to produce stylized renderings Users expect realistic behavior in worlds that are rendered photorealistically

Varieties of Realism – Ferwerda[2003] Physical Realism the virtual objects provide the same visual simulation as the real scene Photorealism the image produces the same visual response as the scene Functional Realism the image provides the same visual information as the scene

Functional Realism NP pictures can be more effective at conveying information Is there a way to express motion ? Are there any “rules”, especially for games, that enhance the users’ perceptions ? We don’t usually depict the motion of objects in computer-generated dynamic images - especially in real-time rendered dynamic images Although motion is essential, it is not usually visualized

Related Work Motivation Walt Disney Studio: 12 principles of animation [1930] guide production and creative discussions as well to train young animators better and faster help us to create more believable characters and situations, ex: bouncing ball McCloud [1993] has also analyzed the abstract illustration of motion in comics motion lines multiple images the most important for still image

Motion Lines Techniques Most common one for visualizing motion in comics This Technique can express high degree of movement, and emphasizes the quality of the illustration’s dynamics Its usage in a dynamic environment would enhance the users’ perception as well Fun factor: the attention of the user becomes more focused on motion

Multiple Images Create a “blurred” object on the screen, often seems to be more realistic than the normal movement of the object without the blur effect When objects move very fast, our eyes expect to “see” something (still images, contours), even if the object if off the screen Very complex motions can be emphasized with this technique because users have more time to analyze movement

Squash-and-Stretch [Disney] A combination of the two techniques, together with Disney’s squash-and-stretch technique, will achieve the best results for visualizing motion in real-time The deformation of an object due to its speed is a very important technique in enhancing visual perception The squash-effect exaggerates the object and the stretch-effect anticipates the collision

Our Approach The motion of objects can be classified into the following three groups squash-and stretch multiple images motion lines The three methods can by combined to enhance the graphical behavior of motion

Requirements & Limitations Detailed geometric data for all objects we want to apply the technique to The object’s geometric data has to be modifiable The position of the object has to be available at all times Only past motions can be considered, future motions cannot

Squash-and-Stretch Adjust the style of motion (direction, speed or acceleration of movement as well as the rigidity of the object) Maximum speed, v max Maximum acceleration, a max Maximum speed scale, k v max Maximum acceleration scale, k a max Minimum acceleration scale, k a min User defined and assigned to a specific object The desired results can be achieved easily by varying the parameters maximum stretch minimum squash

Squash-and-Stretch Speed-dependent scaling parameter stretch squash stretch result scaling parameter

Deformation Simulating Cartoon Style Animation [Chenney 2002, University of Wisconsin at Madison] The stylistic choices we made in defining our deformations are: The deformations should be volume preserving Each object has a natural set of deformation axes, including one principle axis These axes define a deformation coordinate system with the x-axis aligned with the “forward” direction for the object

Deformation The deformation is controlled by a single parameter, s, which is the scaling coefficient along the principle axis Scale the other dimensions equally according to our volume preserving requirement * s = k result

Squash-and-Stretch

Multiple Images Snapshots of the moving object are taken for every constant time interval that can be configured The easiest form of multiple images if to draw the whole object several times (real-time) A texture containing all contour replications is drawn in the background Replication rate, n: the amount of contour replications generated per second A common style of multiple images is the continuous decrease in contour replications

Multiple Images

Motion Lines - Requirements Schulz [1999] calls for a couple of requirements for the motion lines in still image The upper and lower motion lines relative to the direction of motion have to be at the same level as the maximum extent of the object Object’s geometrical data (vertices) → starting points of motion lines

Motion Lines - Requirements Motion lines are to be placed on significant region of the object The number of motion lines has to be configurable The space between motion lines must not be too constant

Motion Lines - Requirements Accumulations of motions on certain regions of the object are not allowed Motion lines are to begin after the object and are not allowed to cut the object The length of motion lines has to be configurable

Motion Lines To determine the starting points of the motion lines, the positions of the vertices are transformed into screen coordinates

Motion Lines To get the starting points more easily, the object is rotated to the motion direction Now the limiting vertices can be determined by comparing their coordinates of the y-axis

Motion Lines To get the starting points for the motion lines in between, the object is split into equally large strokes In every stripe, the vertex with the lowest x-coordinate is used as a starting point

Motion Lines A particle system is used to draw the motion lines particle emitters: corresponding to the number of motion lines, each of these emitters releases a defined number of particles life cycle: a particle lasts for a predefined period (properties of the particle are changing) position of the emitter is updated every program cycle

Implementation OpenGL & Cg, Halflife model as file format Squash-and-Stretch: vertex shader //1. Set the position toe the model origin float3 modelOrigin = float3(0, 0, 0); modelOrigin = Vertor Transform ( modelOrigin, boneMatrix); position.xyz -= modelOrigin; //2. Rotate the object based ob the direction of the motion position.xyz = VectorRotate ( position.xyz, motionMatrix ); //3. Apply the scaling position.x *= motionScaleX; //k_result position.y *= motionScaleYZ; //k_norm position.z *= motionScaleYZ; //k_norm //4. Bring the object to its original orientation position.xyz = VectorIRotate ( position.xyz, motionMatrix); //5. Move the object back to the original position position.xyz += modelOrigin;

Implementation Multiple images It is necessary to switch between the two projection modes Orthogonal Projection Mode it is possible to use the two-dimensional screen coordinates update and display the texture containing the contour replications Perspective Projection Mode render the 3D object

Implementation Motion Lines Properties of emitter current position duration of the life cycles of particles length of the motion lines is defined through the duration of the life cycle Every property of the particle (e.g., line width, color) has a start value and an end value

Results

Result

The End