CS 4621 PPA3: Animation
|
|
- Annabella Hudson
- 6 years ago
- Views:
Transcription
1 CS 4621 PPA3: Animation out: Saturday 19 November 2011 due: Friday 2 December Introduction There are two parts to this assignment. In the first part, you will complete the implementation of key frame animation, by implementing interpolation for rotations, translations and scaling. The second part of the assignment is more open-ended; you will create time-varying ( animated ) shaders for fire, clouds, and a third shader of your choice. 2 Key frame animation In this first part of the assignment we have implemented a key frame animation framework (as described below). You will need to build on that framework and implement a few main features that enable correct interpolation of animations between keyframes. 2.1 The interface We have added a new panel Animation panel, which contains different controls for animation, briefly described here: Jump to frame: this lets you drag the slider to the frame you want, or enter the number of the frame directly in the textbox. Add a keyframe: jump to the frame where you want to make a keyframe, then click the button Keyframe it. Remove a keyframe: select a keyframe and right click on it, choose Remove Keyframe from the popup menu. Frame 0 cannot be removed. Play the animation: click the button Play! to start animating from the current frame. Click it again to stop the animation. Interpolate with cubic splines: select the checkbox Cubic spline interpolation. Capture frames to file: check Capture to file and click Play!, all the subsequent frames being animated will be exported to file. 1
2 CS 4621 PPA3 Animation 2 Figure 1: Interface Change shader: click some mesh from the tree hierarchy, then select one of the shaders below. Open/Save all keyframes as a file: click File->Open/Save As, then select the file to Open/Save. Warning: all keyframes should have the same scene hierarchy. 2.2 Functionality to implement You will fully implement all the functionality needed to make the animation work in the framework described above. There are two possible interpolation options: linear and cubic. Both of these interpolations are possible for translation and scaling. For rotations you will only implement spherical linear interpolation (not cubic) Implementing interpolation Interpolation is done in AnimationController. Keyframes are stored in TreeMap<Integer, Scene> keyframes. You will need to implement: Scene getlinearlyinterpolatedscene(int frame) and Scene getcatmullrominterpolatedscene(int frame). to return the interpolated scene for a given frame number. getlinearlyinterpolatedscene should return a linearly interpolated Scene. Similarly, getcatmullrominterpolatedscene should return a Scene interpolated using the Catmull- Rom cubic spline for translation and scaling. You will always interpolate rotation using spherical linear interpolation, slerp. While vecmath does implement the slerp functionality, you will write your own code to implement it.
3 CS 4621 PPA3 Animation 3 For getlinearlyinterpolatedscene, you need to: 1. If the current frame is at some keyframe, we can return that keyframe and don t need to interpolate. 2. Otherwise, find the two Scenes which have the nearest bigger and smaller frame numbers than the current frame. 3. Create a new Scene with the same structure as them. To duplicate the Scene structure, one needs to use DuplicateVisitor. 4. Flatten the three Scenes to an array. Use FlattenVisitor to achieve this. 5. Traverse the arrays and interpolate the translation, rotation and scaling components of each TransformationNode from the two keyframed Scenes. For getcatmullrominterpolatedscene the technique is the same, except you will use cubic, instead of linear interpolation Catmull-Rom spline interpolation The Catmull-Rom spline is a cubic interpolating spline that goes through all its control points P i 2 P (t) = 1 [ 1 t t 2 t 3] P i P i P i+1 where P i s are control points. In addition, it has the property that: 1. P (t = 0) = P i 1, P (t = 1) = P i 2. Further the tangents at each point are defined by the next and previous point as follows: v i 1 = 0.5(P i P i 2 ) v i = 0.5(P i+1 P i 1 ) Finding control points To interpolate frame x using the Catmull-Rom spline, we need to find four frames to define four control points. We call them x 0, x 1, x 2 and x 3, so that x 0 < x 1 < x < x 2 < x 3. These frames are: x 1 is the nearest keyframe smaller than x x 0 is the nearest keyframe smaller than x 1 x 2 is the nearest keyframe bigger than x x 3 is the nearest keyframe bigger than x 2
4 CS 4621 PPA3 Animation 4 There will also be some corner cases. When x is larger than the last keyframe, we can duplicate the state of the last keyframe. When less than four control points can be found, we will use some of them twice (e.g., assuming we have three keyframes P 0, P 1 and P 2, and we want to interpolate frame x, P 0 < x < P 1, then the four control points will be P 0, P 0, P 1, P 2 ). In this case the spline will still go through the keyframes. The convention described here to process corner cases for cubic interpolation also applies to linear interpolation Conversion between Euler angles and Quaternions Because we are going to implement slerp, which uses quaternions, while the rotation manipulator uses Euler angles, we need to convert between these two representations. From Euler angles to Quaternions The euler angle (a, b, c) is the product of three axis-angles given us: < (1, 0, 0), a > < (0, 1, 0), b > < (0, 0, 1), c > So they represent the product of three quaternions: q x =< s, v >=< cos(a/2), sin(a/2)(1, 0, 0) > q y =< s, v >=< cos(b/2), sin(b/2)(0, 1, 0) > q z =< s, v >=< cos(c/2), sin(c/2)(0, 0, 1) > q = q z q y q x From Quaternions to Euler angles To convert from quaternion < w, x, y, z > to Euler angle (a, b, c) we need the following equation a atan2(2(wx + yz), 1 2(x 2 + y 2 )) b = c arcsin(2(wy zx)) atan2(2(wz + xy), 1 2(y 2 + z 2 )) (Reference: Wiki page Conversion between quaternions and Euler angles ) 2.3 End product Once you have implemented these components you will be able to set up key frame animation, interpolate to create the inbetween frames, and save animations away. We would like you to use your engine to create a couple of interesting examples (e.g., link and joint structures) to show off your engine. Turn the animations in as well. Also include a README describing what you created.
5 CS 4621 PPA3 Animation 5 3 Shaders You will implement 3 time varying shaders in the assignment: a fire shader, a cloudy sky shader, and one other animated shader of your choice. This portion of the assignment has a lot of freedom; we broadly describe the first two shaders here, and encourage you to play around and make something fun for the third. 3.1 Procedural Noise Figure 2: Some examples of procedural textures based on Perlin noise. You will use this type of noise in your animated shaders to provide unpredictable movement (flickering of a fire, etc.). Image from a 1999 talk by Ken Perlin, available online at talk1/. To simulate the unpredictable flickering of a fire or the evolution of clouds, we need a source of randomness. Truly random numbers (from rand()) aren t appropriate because fire does not move in a completely random way; it moves unpredictably, but the motion is smooth and continuous. Of course, people have thought about this problem before. Perlin noise, invented in 1984 by Ken Perlin for exactly this task, is a robust and commonly used method for generating smooth randomness. Fig. 2 shows some examples of the kinds of textures which can be created using Perlin noise. Generating Perlin noise is not difficult, but it s not the point of this assignment, so we have provided a texture of pre-generated noise for you to sample from in your shaders. Each component of the texture (RGBA) contains an independent noise distribution. Each successive channel has twice the frequency and
6 CS 4621 PPA3 Animation 6 Figure 3: Red, green, blue, and alpha channels (left to right) of a single slice of the provided noise texture. You can see that each channel varies more quickly than the previous channel, but is half as bright. half the amplitude of the previous channel, i.e. noise.g varies twice as fast as noise.r but is half as bright, and so forth. Fig. 3 shows each channel from a single slice of the 3D noise texture to illustrate this. 3.2 Fire Shader The fire shader takes as input the noise texture we created for you, and animates a fire-like effect. Since we need a different noise value at every point in space, the Perlin noise texture we provide is a 3D texture. 3D textures are directly analogous to regular 2D textures: they are 3-dimensional blocks of pixels (sometimes called voxels for 3D textures), and you need 3 texture coordinates to sample from them. For this shader, you ll use the fragment s position in object space to sample from the noise volume. This gives a random vec4 associated with that fragment, but it will be the same random value every frame; so far, this does not animate. The simplest way to animate is to add a time-dependent offset to one of the sample coordinates, i.e. sample noise(pos + vec3(0.0, time, 0.0)). However, this produces a boring scrolling effect which doesn t look much like flame. You can create a more turbulent effect by recursively sampling from the noise volume, something like sample noise(pos + sample noise(pos)). Once you have a sample of noise with suitable motion over time, you need to turn it into the color and texture of fire. This involves a lot of playing around to see what looks good, but here are some tips to get started: The provided shader has two constant colors, FireColor1 and FireColor2. You should use the noise texture to come up with some intensity value, and then interpolate between these two colors (GLSL has a mix(value0, value1, t) function) to get the final output color. You can sum different frequencies of noise with different amplitudes to create more visually complex images. For example, the lower left square of Fig. 2 has at least two contributions: the low-frequency high-amplitude noise which creates the overall light and dark areas, and the high-frequency but low-amplitude speckles. If you think about how fire looks, it has largescale, smooth changes between lots of fire and no fire, but intricate detail in the areas of lots of fire. You can sum different channels from the noise texture (containing different frequencies, see Fig. 3) to simulate this. Since the noise values are sampled from a color texture, they are all in the range [0, 1].
7 CS 4621 PPA3 Animation 7 Something like 2.0 * abs(noise - 0.5) causes the derivative of the noise to change abrupty whenever the original noise crossed 0.5, creating creases at such points (think about the graph of abs(x) it has a tip at 0). You can play with the crease location (0.5 in this example) and amplitude (1.0 in this example) to create different effects. The fire effect should fade out in the -y direction, so that the object is black at y = -1 and the effect is fully visible at y = 1. Since all the meshes generated in this assignment fit in a bounding box, you can just use the limits [-1, 1] in model space without having to tell the shader which object is being shaded. 3.3 Cloud Shader The cloud shader also uses the noise texture, but creates the effect of clouds moving or fading in and out. This shader will be quite similar to the fire shader. Clouds are less turbulent than fire, so you probably won t use recursive sampling of the noise texture in this shader, but the other tips from the fire shader still apply. The cloud shader should implement basic diffuse lighting as well, using the light position queried from OpenGL and the generated cloud pattern as the object s diffuse color. 3.4 Open-Ended/Fun Shader Anything you want! You will create a third shader of your choice. The only requirement is that it use Perlin noise to create an interesting animated effect. Perlin noise is used for everything and has been around for a long time, so there are tons of resources and ideas available online. You should also look up the list of GLSL built-in functions and just play around. In the README file give us detailed descriptions of what your shader does/tries to do so that we can understand it. If you used online resources, or talked to your friends, make sure you tell us about your source. 4 Extra credit For extra credit, go crazy creating interesting animated shaders!
Animation Essentially a question of flipping between many still images, fast enough
33(70) Information Coding / Computer Graphics, ISY, LiTH Animation Essentially a question of flipping between many still images, fast enough 33(70) Animation as a topic Page flipping, double-buffering
More informationCS 4620 Program 3: Pipeline
CS 4620 Program 3: Pipeline out: Wednesday 14 October 2009 due: Friday 30 October 2009 1 Introduction In this assignment, you will implement several types of shading in a simple software graphics pipeline.
More informationCS 248 Assignment 2 Polygon Scan Conversion. CS248 Presented by Michael Green Stanford University October 20, 2004
CS 248 Assignment 2 Polygon Scan Conversion CS248 Presented by Michael Green Stanford University October 20, 2004 Announcements First thing: read README.animgui.. It should tell you everything you need
More informationInterpolation and Basis Fns
CS148: Introduction to Computer Graphics and Imaging Interpolation and Basis Fns Topics Today Interpolation Linear and bilinear interpolation Barycentric interpolation Basis functions Square, triangle,,
More informationInterpolation and Basis Fns
CS148: Introduction to Computer Graphics and Imaging Interpolation and Basis Fns Topics Today Interpolation Linear and bilinear interpolation Barycentric interpolation Basis functions Square, triangle,,
More information3D Programming. 3D Programming Concepts. Outline. 3D Concepts. 3D Concepts -- Coordinate Systems. 3D Concepts Displaying 3D Models
3D Programming Concepts Outline 3D Concepts Displaying 3D Models 3D Programming CS 4390 3D Computer 1 2 3D Concepts 3D Model is a 3D simulation of an object. Coordinate Systems 3D Models 3D Shapes 3D Concepts
More informationFundamentals of Computer Animation
Fundamentals of Computer Animation Quaternions as Orientations () page 1 Multiplying Quaternions q1 = (w1, x1, y1, z1); q = (w, x, y, z); q1 * q = ( w1.w - v1.v, w1.v + w.v1 + v1 X v) where v1 = (x1, y1,
More informationSliding and Rotating Objects. Appendix 1: Author s Notes
AnimationWorks User Guide AnimationWORKS Introduction Camera Paths Cameras Moving Objects Moving Object Paths Sliding and Rotating Objects Light Objects Class Visibility Objects Transparency Objects Appendix
More informationTSBK03 Screen-Space Ambient Occlusion
TSBK03 Screen-Space Ambient Occlusion Joakim Gebart, Jimmy Liikala December 15, 2013 Contents 1 Abstract 1 2 History 2 2.1 Crysis method..................................... 2 3 Chosen method 2 3.1 Algorithm
More informationCS 248 Assignment 2 Polygon Scan Converter. CS248 Presented by Abe Davis Stanford University October 17, 2008
CS 248 Assignment 2 Polygon Scan Converter CS248 Presented by Abe Davis Stanford University October 17, 2008 Announcements First thing: read README.animgui. It should tell you everything you need to know
More informationPart II: OUTLINE. Visualizing Quaternions. Part II: Visualizing Quaternion Geometry. The Spherical Projection Trick: Visualizing unit vectors.
Visualizing Quaternions Part II: Visualizing Quaternion Geometry Andrew J. Hanson Indiana University Part II: OUTLINE The Spherical Projection Trick: Visualizing unit vectors. Quaternion Frames Quaternion
More informationSpring 2012 Final. CS184 - Foundations of Computer Graphics. University of California at Berkeley
Spring 2012 Final CS184 - Foundations of Computer Graphics University of California at Berkeley Write your name HERE: Write your login HERE: Closed book. You may not use any notes or printed/electronic
More informationChapter 9- Animation Basics
Timing, Moving, Rotating and Scaling Now that we know how to make stuff and make it look good, it s time to figure out how to move it around in your scene. Another name for an animation is Interpolation
More informationFlames in Particle Flow
Flames in Particle Flow In this tutorial we are going to take a look at creating some licking flames in Particle Flow. I warn you however, is that this method of fire creation is very processor intensive.
More informationO Hailey: Chapter 3 Bonus Materials
O Hailey: Chapter 3 Bonus Materials Maya s Toon Line For those familiar with toon lines in Maya, you may skip ahead past this section. Those not familiar might find it useful to understand the basics of
More informationCS 465 Program 5: Ray II
CS 465 Program 5: Ray II out: Friday 2 November 2007 due: Saturday 1 December 2007 Sunday 2 December 2007 midnight 1 Introduction In the first ray tracing assignment you built a simple ray tracer that
More informationThis lesson introduces Blender, covering the tools and concepts necessary to set up a minimal scene in virtual 3D space.
3D Modeling with Blender: 01. Blender Basics Overview This lesson introduces Blender, covering the tools and concepts necessary to set up a minimal scene in virtual 3D space. Concepts Covered Blender s
More informationCom S 336 Final Project Ideas
Com S 336 Final Project Ideas Deadlines These projects are to be done in groups of two. I strongly encourage everyone to start as soon as possible. Presentations begin four weeks from now (Tuesday, December
More informationThe Illusion of Motion Making magic with textures in the vertex shader. Mario Palmero Lead Programmer at Tequila Works
The Illusion of Motion Making magic with textures in the vertex shader Mario Palmero Lead Programmer at Tequila Works Dark Ages before Textures in the Vertex Shader What is the Vertex Shader? A programmable
More information8K Earth, Moon and Mars Shaders Asset V Documentation
8K Earth, Moon and Mars Shaders Asset V0.3.3 Documentation Charles Pérois - 2015 Introduction 2 Table des matières 1. Introduction...3 2. Release Note...4 3. How to Use...5 1. Set the scene...5 1. Set
More information1 Overview. EPFL 14 th Apr, /6. Michaël Defferrard Pierre Fechting Vu Hiep Doan
1/6 1 Overview This report presents our advancement on the rst part of the project : terrain generation using procedural methods. Figure 1 shows an example of what our actual code base is able to generate.
More informationAnimation. Keyframe animation. CS4620/5620: Lecture 30. Rigid motion: the simplest deformation. Controlling shape for animation
Keyframe animation CS4620/5620: Lecture 30 Animation Keyframing is the technique used for pose-to-pose animation User creates key poses just enough to indicate what the motion is supposed to be Interpolate
More informationIMAGE-BASED RENDERING AND ANIMATION
DH2323 DGI17 INTRODUCTION TO COMPUTER GRAPHICS AND INTERACTION IMAGE-BASED RENDERING AND ANIMATION Christopher Peters CST, KTH Royal Institute of Technology, Sweden chpeters@kth.se http://kth.academia.edu/christopheredwardpeters
More information1 Tutorials About the Tutorial Exercises
1 Tutorials About the Tutorial Exercises..............................................2 Getting Started........................................................3 Exercise 1: Animating a 3D Model Using Keyframes............................3
More informationAn Approach to Content Creation for Trainz
An Approach to Content Creation for Trainz Paul Hobbs Part 6 GMax Basics (Updates and sample files available from http://www.44090digitalmodels.de) Page 1 of 18 Version 3 Index Foreward... 3 The Interface...
More informationBCC Rays Ripply Filter
BCC Rays Ripply Filter The BCC Rays Ripply filter combines a light rays effect with a rippled light effect. The resulting light is generated from a selected channel in the source image and spreads from
More informationCS 130 Final. Fall 2015
CS 130 Final Fall 2015 Name Student ID Signature You may not ask any questions during the test. If you believe that there is something wrong with a question, write down what you think the question is trying
More informationMODELING EYES ESTIMATED TIME REQUIRED
MODELING EYES This tutorial will teach you how to model a pair of realistic-looking eyes and insert them into the head of a character. ESTIMATED TIME REQUIRED 30 Minutes LEARNING GOALS In this tutorial,
More informationAnimation Basics. Learning Objectives
Animation Basics Learning Objectives After completing this chapter, you will be able to: Work with the time slider Understand animation playback controls Understand animation and time controls Morph compound
More informationlecture 18 - ray tracing - environment mapping - refraction
lecture 18 - ray tracing - environment mapping - refraction Recall Ray Casting (lectures 7, 8) for each pixel (x,y) { cast a ray through that pixel into the scene, and find the closest surface along the
More informationCS 465 Program 4: Modeller
CS 465 Program 4: Modeller out: 30 October 2004 due: 16 November 2004 1 Introduction In this assignment you will work on a simple 3D modelling system that uses simple primitives and curved surfaces organized
More informationAnimation. CS 4620 Lecture 32. Cornell CS4620 Fall Kavita Bala
Animation CS 4620 Lecture 32 Cornell CS4620 Fall 2015 1 What is animation? Modeling = specifying shape using all the tools we ve seen: hierarchies, meshes, curved surfaces Animation = specifying shape
More informationDesigning the look and feel for Smoke and Neon powers The creation of a new toolset and pipeline for I:SS Pros and cons from our new workflow and
Designing the look and feel for Smoke and Neon powers The creation of a new toolset and pipeline for I:SS Pros and cons from our new workflow and lessons learned attempting to make something new Defining
More information3D Rotation: more than just a hobby
3D Rotation: more than just a hobby Eric Yang s special talent is the mental rotation of threedimensional objects. Mental rotation is Yang s hobby. I can see textures and imperfections and the play of
More informationZeyang Li Carnegie Mellon University
Zeyang Li Carnegie Mellon University Recap: Texture Mapping Programmable Graphics Pipeline Bump Mapping Displacement Mapping Environment Mapping GLSL Overview Perlin Noise GPGPU Map reflectance over a
More informationAnimation Curves and Splines 2
Animation Curves and Splines 2 Animation Homework Set up Thursday a simple avatar E.g. cube/sphere (or square/circle if 2D) Specify some key frames (positions/orientations) Associate Animation a time with
More informationCHAPTER 1 Graphics Systems and Models 3
?????? 1 CHAPTER 1 Graphics Systems and Models 3 1.1 Applications of Computer Graphics 4 1.1.1 Display of Information............. 4 1.1.2 Design.................... 5 1.1.3 Simulation and Animation...........
More informationSign up for crits! Announcments
Sign up for crits! Announcments Reading for Next Week FvD 16.1-16.3 local lighting models GL 5 lighting GL 9 (skim) texture mapping Modern Game Techniques CS248 Lecture Nov 13 Andrew Adams Overview The
More informationPipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11
Pipeline Operations CS 4620 Lecture 11 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives to pixels RASTERIZATION
More informationTopics and things to know about them:
Practice Final CMSC 427 Distributed Tuesday, December 11, 2007 Review Session, Monday, December 17, 5:00pm, 4424 AV Williams Final: 10:30 AM Wednesday, December 19, 2007 General Guidelines: The final will
More informationNoise Course Overview Jim Whitehead. UC Santa Cruz School of Engineering courses.soe.ucsc.edu/courses/cmps265/spring14/01
Noise Course Overview Jim Whitehead UC Santa Cruz School of Engineering courses.soe.ucsc.edu/courses/cmps265/spring14/01 ejw@cs.ucsc.edu 31 Mar 2014 Computer generation Assume that there exists: One or
More informationBONE CONTROLLER ASSET VERSION 0.1 REV 1
Foreword Thank you for purchasing the Bone Controller! I m an independent developer and your feedback and support really means a lot to me. Please don t ever hesitate to contact me if you have a question,
More informationLet s start with occluding contours (or interior and exterior silhouettes), and look at image-space algorithms. A very simple technique is to render
1 There are two major classes of algorithms for extracting most kinds of lines from 3D meshes. First, there are image-space algorithms that render something (such as a depth map or cosine-shaded model),
More informationAdobe Flash CS3 Reference Flash CS3 Application Window
Adobe Flash CS3 Reference Flash CS3 Application Window When you load up Flash CS3 and choose to create a new Flash document, the application window should look something like the screenshot below. Layers
More informationAnimation. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 4/23/07 1
Animation Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 4/23/07 1 Today s Topics Interpolation Forward and inverse kinematics Rigid body simulation Fluids Particle systems Behavioral
More informationFull Screen Layout. Main Menu Property-specific Options. Object Tools ( t ) Outliner. Object Properties ( n ) Properties Buttons
Object Tools ( t ) Full Screen Layout Main Menu Property-specific Options Object Properties ( n ) Properties Buttons Outliner 1 Animation Controls The Create and Add Menus 2 The Coordinate and Viewing
More informationFACULTY AND STAFF COMPUTER FOOTHILL-DE ANZA. Office Graphics
FACULTY AND STAFF COMPUTER TRAINING @ FOOTHILL-DE ANZA Office 2001 Graphics Microsoft Clip Art Introduction Office 2001 wants to be the application that does everything, including Windows! When it comes
More informationLab 2A Finding Position and Interpolation with Quaternions
Lab 2A Finding Position and Interpolation with Quaternions In this Lab we will learn how to use the RVIZ Robot Simulator, Python Programming Interpreter and ROS tf library to study Quaternion math. There
More informationCS 381 Computer Graphics, Fall 2008 Midterm Exam Solutions. The Midterm Exam was given in class on Thursday, October 23, 2008.
CS 381 Computer Graphics, Fall 2008 Midterm Exam Solutions The Midterm Exam was given in class on Thursday, October 23, 2008. 1. [4 pts] Drawing Where? Your instructor says that objects should always be
More informationGraphics for VEs. Ruth Aylett
Graphics for VEs Ruth Aylett Overview VE Software Graphics for VEs The graphics pipeline Projections Lighting Shading VR software Two main types of software used: off-line authoring or modelling packages
More informationCMSC 425: Lecture 10 Skeletal Animation and Skinning
CMSC 425: Lecture 10 Skeletal Animation and Skinning Reading: Chapt 11 of Gregory, Game Engine Architecture. Recap: Last time we introduced the principal elements of skeletal models and discussed forward
More informationParametric curves. Reading. Curves before computers. Mathematical curve representation. CSE 457 Winter Required:
Reading Required: Angel 10.1-10.3, 10.5.2, 10.6-10.7, 10.9 Parametric curves CSE 457 Winter 2014 Optional Bartels, Beatty, and Barsky. An Introduction to Splines for use in Computer Graphics and Geometric
More informationWhat is the Deal with Color?
What is the Deal with Color? What is the Deal with Color? Beginning from the beginning Our First Moves Diffuse Object Colors Specular Lighting Transparency Paint on Image Those sliders and things Diffuse
More informationPipeline Operations. CS 4620 Lecture 14
Pipeline Operations CS 4620 Lecture 14 2014 Steve Marschner 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives
More informationCS 354R: Computer Game Technology
CS 354R: Computer Game Technology Texture and Environment Maps Fall 2018 Texture Mapping Problem: colors, normals, etc. are only specified at vertices How do we add detail between vertices without incurring
More informationAdvanced Real- Time Cel Shading Techniques in OpenGL Adam Hutchins Sean Kim
Advanced Real- Time Cel Shading Techniques in OpenGL Adam Hutchins Sean Kim Cel shading, also known as toon shading, is a non- photorealistic rending technique that has been used in many animations and
More informationMethodology for Lecture. Importance of Lighting. Outline. Shading Models. Brief primer on Color. Foundations of Computer Graphics (Spring 2010)
Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 11: OpenGL 3 http://inst.eecs.berkeley.edu/~cs184 Methodology for Lecture Lecture deals with lighting (teapot shaded as in HW1) Some Nate
More informationFlash offers a way to simplify your work, using symbols. A symbol can be
Chapter 7 Heavy Symbolism In This Chapter Exploring types of symbols Making symbols Creating instances Flash offers a way to simplify your work, using symbols. A symbol can be any object or combination
More informationIntroduction to Digital Modelling and Animation in Design week 4 Textures
Introduction to Digital Modelling and Animation in Design week 4 Textures Thaleia Deniozou - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
More informationCS 4620 Program 4: Ray II
CS 4620 Program 4: Ray II out: Tuesday 11 November 2008 due: Tuesday 25 November 2008 1 Introduction In the first ray tracing assignment you built a simple ray tracer that handled just the basics. In this
More informationChapter IV Fragment Processing and Output Merging. 3D Graphics for Game Programming
Chapter IV Fragment Processing and Output Merging Fragment Processing The per-fragment attributes may include a normal vector, a set of texture coordinates, a set of color values, a depth, etc. Using these
More informationQuaternions and Exponentials
Quaternions and Exponentials Michael Kazhdan (601.457/657) HB A.6 FvDFH 21.1.3 Announcements OpenGL review II: Today at 9:00pm, Malone 228 This week's graphics reading seminar: Today 2:00-3:00pm, my office
More informationComputer Animation Fundamentals. Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics
Computer Animation Fundamentals Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics Lecture 21 6.837 Fall 2001 Conventional Animation Draw each frame of the animation great control
More information3D Modelling: Animation Fundamentals & Unit Quaternions
3D Modelling: Animation Fundamentals & Unit Quaternions CITS3003 Graphics & Animation Thanks to both Richard McKenna and Marco Gillies for permission to use their slides as a base. Static objects are boring
More informationPlatformer Tutorial 8 - Adding Mr.Green and Character Animation. Last month. Character FX
Last month Things became a lot more dangerous as traps and deadly particles were added. It just wouldn t be the same without Mr.Green so he s making his debut this month. As this has always been the plan,
More information3D Rotations and Complex Representations. Computer Graphics CMU /15-662, Fall 2017
3D Rotations and Complex Representations Computer Graphics CMU 15-462/15-662, Fall 2017 Rotations in 3D What is a rotation, intuitively? How do you know a rotation when you see it? - length/distance is
More informationCMSC427: Computer Graphics Lecture Notes Last update: November 21, 2014
CMSC427: Computer Graphics Lecture Notes Last update: November 21, 2014 TA: Josh Bradley 1 Linear Algebra Review 1.1 Vector Multiplication Suppose we have a vector a = [ x a y a ] T z a. Then for some
More information3D Space is one of the most rewarding areas
Lesson 8 206 3D Space Add a new dimension to your animations. In This Lesson 207 enabling layers for 3D 208 moving and rotating layers in 3D space 210 multiplaning effects 212 3D motion paths 213 multiple
More information(Refer Slide Time: 00:01:27 min)
Computer Aided Design Prof. Dr. Anoop Chawla Department of Mechanical engineering Indian Institute of Technology, Delhi Lecture No. # 01 An Introduction to CAD Today we are basically going to introduce
More informationUsing Microsoft Excel
Using Microsoft Excel Introduction This handout briefly outlines most of the basic uses and functions of Excel that we will be using in this course. Although Excel may be used for performing statistical
More informationAnimations. Hakan Bilen University of Edinburgh. Computer Graphics Fall Some slides are courtesy of Steve Marschner and Kavita Bala
Animations Hakan Bilen University of Edinburgh Computer Graphics Fall 2017 Some slides are courtesy of Steve Marschner and Kavita Bala Animation Artistic process What are animators trying to do? What tools
More informationGraphics for VEs. Ruth Aylett
Graphics for VEs Ruth Aylett Overview VE Software Graphics for VEs The graphics pipeline Projections Lighting Shading Runtime VR systems Two major parts: initialisation and update loop. Initialisation
More informationCOMP environment mapping Mar. 12, r = 2n(n v) v
Rendering mirror surfaces The next texture mapping method assumes we have a mirror surface, or at least a reflectance function that contains a mirror component. Examples might be a car window or hood,
More informationSoft shadows. Steve Marschner Cornell University CS 569 Spring 2008, 21 February
Soft shadows Steve Marschner Cornell University CS 569 Spring 2008, 21 February Soft shadows are what we normally see in the real world. If you are near a bare halogen bulb, a stage spotlight, or other
More informationOPENGL RENDERING PIPELINE
CPSC 314 03 SHADERS, OPENGL, & JS UGRAD.CS.UBC.CA/~CS314 Textbook: Appendix A* (helpful, but different version of OpenGL) Alla Sheffer Sep 2016 OPENGL RENDERING PIPELINE 1 OPENGL RENDERING PIPELINE Javascript
More informationPlanets Earth, Mars and Moon Shaders Asset V Documentation (Unity 5 version)
Planets Earth, Mars and Moon Shaders Asset V0.4.4 Documentation (Unity 5 version) Charles Pérois - 2015 Introduction 2 Table des matières 1. Introduction...3 2. Release Notes...4 3. How to Use...6 1. Set
More informationLets assume each object has a defined colour. Hence our illumination model is looks unrealistic.
Shading Models There are two main types of rendering that we cover, polygon rendering ray tracing Polygon rendering is used to apply illumination models to polygons, whereas ray tracing applies to arbitrary
More informationIn this course we will need a set of techniques to represent curves and surfaces in 2-d and 3-d. Some reasons for this include
Parametric Curves and Surfaces In this course we will need a set of techniques to represent curves and surfaces in 2-d and 3-d. Some reasons for this include Describing curves in space that objects move
More informationHere are some of the more basic curves that we ll need to know how to do as well as limits on the parameter if they are required.
1 of 10 23/07/2016 05:15 Paul's Online Math Notes Calculus III (Notes) / Line Integrals / Line Integrals - Part I Problems] [Notes] [Practice Problems] [Assignment Calculus III - Notes Line Integrals Part
More informationWorking with the Dope Sheet Editor to speed up animation and reverse time.
Bouncing a Ball Page 1 of 2 Tutorial Bouncing a Ball A bouncing ball is a common first project for new animators. This classic example is an excellent tool for explaining basic animation processes in 3ds
More informationAR-media TUTORIALS IMPROVING REALISM AMBIENT OCCLUSION. (June, 2011)
AR-media TUTORIALS IMPROVING REALISM AMBIENT OCCLUSION (June, 2011) Copyright Copyright 2008/2011 Inglobe Technologies S.r.l. All rights reserved. No part of this publication may be reproduced, transmitted,
More informationWhite Paper. Perlin Fire. February 2007 WP _v01
White Paper Perlin Fire February 2007 WP-03012-001_v01 Document Change History Version Date Responsible Reason for Change 01 AT, CK Initial release Go to sdkfeedback@nvidia.com to provide feedback on Perlin
More informationIntro to Animation. Introduction: Frames and Keyframes. Blender Lesson: Grade Level: Lesson Description: Goals/Objectives: Materials/Tools: 4th and up
Blender Lesson: Intro to Animation Grade Level: 4th and up Lesson Description: This lesson serves as an introduction to animation with Blender. The lesson begins by talking about some core concepts of
More informationAnimations involving numbers
136 Chapter 8 Animations involving numbers 8.1 Model and view The examples of Chapter 6 all compute the next picture in the animation from the previous picture. This turns out to be a rather restrictive
More informationVisualization Insider A Little Background Information
Visualization Insider A Little Background Information Visualization Insider 2 Creating Backgrounds for 3D Scenes Backgrounds are a critical part of just about every type of 3D scene. Although they are
More informationAGDC Per-Pixel Shading. Sim Dietrich
AGDC Per-Pixel Shading Sim Dietrich Goal Of This Talk The new features of Dx8 and the next generation of HW make huge strides in the area of Per-Pixel Shading Most developers have yet to adopt Per-Pixel
More informationCS354 Computer Graphics Rotations and Quaternions
Slide Credit: Don Fussell CS354 Computer Graphics Rotations and Quaternions Qixing Huang April 4th 2018 Orientation Position and Orientation The position of an object can be represented as a translation
More informationUV Mapping to avoid texture flaws and enable proper shading
UV Mapping to avoid texture flaws and enable proper shading Foreword: Throughout this tutorial I am going to be using Maya s built in UV Mapping utility, which I am going to base my projections on individual
More informationAssignment 6: Ray Tracing
Assignment 6: Ray Tracing Programming Lab Due: Monday, April 20 (midnight) 1 Introduction Throughout this semester you have written code that manipulated shapes and cameras to prepare a scene for rendering.
More informationTextures and UV Mapping in Blender
Textures and UV Mapping in Blender Categories : Uncategorised Date : 21st November 2017 1 / 25 (See below for an introduction to UV maps and unwrapping) Jim s Notes regarding Blender objects, the UV Editor
More informationC P S C 314 S H A D E R S, O P E N G L, & J S RENDERING PIPELINE. Mikhail Bessmeltsev
C P S C 314 S H A D E R S, O P E N G L, & J S RENDERING PIPELINE UGRAD.CS.UBC.C A/~CS314 Mikhail Bessmeltsev 1 WHAT IS RENDERING? Generating image from a 3D scene 2 WHAT IS RENDERING? Generating image
More informationIntroduction to 3D Graphics
Graphics Without Polygons Volume Rendering May 11, 2010 So Far Volumetric Rendering Techniques Misc. So Far Extended the Fixed Function Pipeline with a Programmable Pipeline Programming the pipeline is
More informationCS 559 Computer Graphics Midterm Exam March 22, :30-3:45 pm
CS 559 Computer Graphics Midterm Exam March 22, 2010 2:30-3:45 pm This exam is closed book and closed notes. Please write your name and CS login on every page! (we may unstaple the exams for grading) Please
More informationNotes on Computer Graphics and OpenGL. Thomas Strathmann
Notes on Computer Graphics and OpenGL Thomas Strathmann February 2, 2011 Preface The purpose of this document is to server as a sort of logbook in which I put down all the interesting math and assorted
More informationCS770/870 Spring 2017 Animation Basics
Preview CS770/870 Spring 2017 Animation Basics Related material Angel 6e: 1.1.3, 8.6 Thalman, N and D. Thalman, Computer Animation, Encyclopedia of Computer Science, CRC Press. Lasseter, J. Principles
More informationCS770/870 Spring 2017 Animation Basics
CS770/870 Spring 2017 Animation Basics Related material Angel 6e: 1.1.3, 8.6 Thalman, N and D. Thalman, Computer Animation, Encyclopedia of Computer Science, CRC Press. Lasseter, J. Principles of traditional
More informationCS4495 Fall 2014 Computer Vision Problem Set 5: Optic Flow
CS4495 Fall 2014 Computer Vision Problem Set 5: Optic Flow DUE: Wednesday November 12-11:55pm In class we discussed optic flow as the problem of computing a dense flow field where a flow field is a vector
More informationGUERRILLA DEVELOP CONFERENCE JULY 07 BRIGHTON
Deferred Rendering in Killzone 2 Michal Valient Senior Programmer, Guerrilla Talk Outline Forward & Deferred Rendering Overview G-Buffer Layout Shader Creation Deferred Rendering in Detail Rendering Passes
More informationTangents. In this tutorial we are going to take a look at how tangents can affect an animation.
Tangents In this tutorial we are going to take a look at how tangents can affect an animation. One of the 12 Principles of Animation is called Slow In and Slow Out. This refers to the spacing of the in
More informationPoint based global illumination is now a standard tool for film quality renderers. Since it started out as a real time technique it is only natural
1 Point based global illumination is now a standard tool for film quality renderers. Since it started out as a real time technique it is only natural to consider using it in video games too. 2 I hope that
More information