3d gaming
Download
Skip this Video
Download Presentation
3D Gaming

Loading in 2 Seconds...

play fullscreen
1 / 29

Chapter 3 Slides - PowerPoint PPT Presentation


  • 278 Views
  • Uploaded on

3D Gaming Chapter 3 3D Concepts A computer screen is two dimensional Width and height Need to find a way to represent three dimensions in a two dimension world Need to add “depth” through visual characteristics Shading, shadows, textures Rendering

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Chapter 3 Slides' - adamdaniel


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
3d gaming

3D Gaming

Chapter 3

3d concepts
3D Concepts
  • A computer screen is two dimensional
    • Width and height
  • Need to find a way to represent three dimensions in a two dimension world
  • Need to add “depth” through visual characteristics
    • Shading, shadows, textures
rendering
Rendering
  • Process of converting a 3D model to a 2D model
  • Converts an entity to be drawn in a 2D screen or image
  • Includes many processes and calculations
    • Rasterization, clipping, etc
coordinates
Coordinates
  • Math we learned X, Y
  • Z is the third dimension
  • Represented as a triplet in a vector (3 integer array) [x, y, z]
define a coordinate system
Define a coordinate System
  • Must assign a base (origin) point
  • Assign each dimension a positive and negative direction
  • Object space and Global space
    • Reference points
assigning positive direction
Assigning Positive Direction
  • Left Handed
    • X left (+)/right
    • Y up (+)/down
    • Z near(-)/far
  • Right Handed
    • X left (-)/right
    • Y up (+)/down
    • Z near(-)/far
torque direction
Torque Direction
  • Our direction
    • X left (-)/right
    • Y up (+)/down
    • Z near(-)/far
    • Uses Topgraphic/overhead view
3d shapes
3D Shapes
  • A coordinate is a vertex
  • Connect 2 vertices for an edge
  • Connect 3 or more vertices that is closed for a polygon
    • Simplest shape is a polygon
    • Decomposing a complex polygon into triangles is a mesh
surfaces
Surfaces
  • The area enclosed by a triangle (polygon) is called facet (or face)
  • Each surface has two sides, but only one is visible
    • Side that is visible has a Normal
  • Hidden Lines – Lines that other polygons cover up
    • Culling is used to determine which lines are hidden and which are not
transformations
Transformations
  • Must move the object from object space to world (global) space
  • Done through scaling, rotation, and translation
  • Uses matrix operations in a pipeline
scaling
Scaling
  • A set of triplet factors held as quantifiers for X, Y, and Z
  • A scale of 1 does not move the object
  • A scale > 1 increases the size
  • A scale <1 decreases the size
  • [1,1,1] is the default
rotation
Rotation
  • A set of triplet values quantifying the amount of rotation per access.
  • Can be represented by degrees, radians, or gradians.
  • Roll-pitch-yaw used by aviators are commonly refered to in gaming
    • Roll is longitudinal Z, pitch is lateral X, yaw is vertical Y
translation
Translation
  • A set of triplet factors for moving the positional coordinates
  • Done last in the pipeline to finally convert into world coordinates
  • XYZ triplet describes the number of units to shift ALL coordinates of the object (Applied in world space, not object space)
rendering techniques
Rendering techniques
  • Flat Shading – each face gets a different shade to differintiate between polygons
    • Z-flat shading decreases the color as the polygons get further away from the camera
  • Lambert Shading – A special form of Flat Shading that uses a brighter color and slowly changes the color to adjacent triangles to give the illusion of light effects
rendering cont
Rendering (cont.)
  • Uses normals to determine color through averaging
  • Normals are calculated per vertex
  • Distance between to vertices is used to calculate the normal that affects the color per pixel
  • Commonly used for a more natural appearance
rendering cont16
Rendering (cont.)
  • Phong Shading – A more intense form of gouraud shading that determines normals per pixel to determine color
    • Very costly and computer intensive
  • Fake Phong Shading – a technique that speeds up Phong Shading by using bitmaps
rendering cont17
Rendering (cont.)
  • Texture Mapping – Uses an image to “wallpaper” an object. Usually combined with a shading technique
    • Most common
shaders
Shaders
  • Vertex Shaders – Uses vertex data to manipulate values for color, texture, fog, point size, and spatial orientation
  • Pixel Shaders – Inputs vertex shader output to determine values at a specified pixel. Usually done in the Video Card
bump mapping
Bump Mapping
  • Enhances the shape detail of the object
  • Modifies the shape of the object through the map without adding complexion to the object
  • Can be used in conjunction with a texture map when more detail is required
more mapping
More Mapping
  • Environmental Mapping – uses texture mapping on environmental factors such as representing chrome, window reflects, and other shiny objects
  • Mipmapping – uses multiple maps to represent the same pattern at different distances
    • Reduces computer work
mapping again
Mapping Again
  • Parallax Mapping – a further step to bump mapping that creates the illusion of holes and protrusions without adding polygons
    • Used for computations like a water ripple
    • Calculates where pixels would be based on perspective
scene graphs
Scene Graphs
  • See example on page 128
  • Used to determine what is rendered at what time during the game
  • Uses a tree based structure, usually a directed graph
audio considerations
Audio Considerations
  • Using sounds based on distance
  • Done by the 3d engine
  • Some engines give audio levels at the closest and furthest
  • Deals with fade and drop-off
coding movement
Coding Movement
  • Given two variables, the shape and distance, add in the distance.
  • %xform = %shape.getTransform();
  • %lx = getword(%xform, 0) + %dist;
  • %ly = getword(%xform, 1);
  • %lz = getword(%xform, 2);
  • %shape.setTransform(%lx SPC %ly SPC %lz SPC “0 0 1 0”);
coding rotation
Coding Rotation
  • Similar to Movement, but the second triplet are the rotation of x, y, z
  • The last parameter is the rotation angle to rotate direction
scaling26
Scaling
  • Similar to the previous examples, except that setScale is used
  • %shape.setScale(%scale SPC %scale SPC %scale);
simple animation
Simple animation
  • Using the previous techniques, a simple animation can be made using one or more of these techniques
  • Used “schedule” function to call a function at a specified number of seconds later
sound
Sound
  • Uses special descriptor called “datablock” to define an audio sound.

datablock AudioProfile(Sound){

filename = “path”;

description = “reference name”;

preload = true;

}

slide29
Fish
  • Perform the fish tutorial, by 8:20 on February 15th. Show to me.
  • Programming Assignment due by February 22.
    • Write a script that uses at least two functions to find the area of a triangle based on being given the length of all three sides and one that finds the standard deviation of 10 random numbers.
    • Standard deviation is the square root of ((the sum of the difference between the number and the median)) divided by the total number of variables)
ad