Content. Building Geometry Appearance Lights Model Loaders
|
|
- Ira Gordon
- 6 years ago
- Views:
Transcription
1 Content Building Geometry Appearance Lights Model Loaders
2 Building Geometry A Geometry represents a 3D object: Mesh: The form or structure of a shape Material: The color, transparency, and shading of a shape.
3 Geometry class methods Methods on Geometry set mesh and material attributes!!geometry(string name)!!geometry(string name, Mesh mesh)!!public void setmesh(mesh mesh)!!public void setmaterial(material material)!
4 Defining Mesh for Geometry Three choices when creating mesh for geometry: 1. Built in shapes (Box, Sphere, etc.) 2. Load 3D models (created in 3ds max, blender, etc.) 3. Create mesh programatically
5 Coordinate System 3D coordinates are given in a right-handed coordinate system X = left-to-right Y = bottom-to-top Z = back-to-front
6 Coordinate Order Polygons have a front and back: By default, only the front side of a polygon is rendered A polygon's winding order determines which side is the front Most polygons only need one side rendered You can turn on double-sided rendering, at a performance cost
7 Using Coordinate Order jme is uses a right-handed coordinate system The front of the polygon is determined by the ordering of the vertices Counterclockwise
8 Defining Vertices A vertex describes a polygon and contains: A 3D coordinate A color A texture coordinate A lighting normal vector Only the 3D coordinate in a vertex is required, the rest are optional
9 Defining Vertices A vertex normal defines surface information for lighting But the coordinate winding order defines the polygon's front and back If you want to light your geometry, you must specify vertex lighting normals Lighting normals must be unit length
10 Building Meshes jme supports three types of geometric primitives: Points Lines Triangles The Mesh class have several derived subclasses that create specific shapes: Boxes, cylinders, spheres Domes, pyramid, torus Surfaces or curves
11 Defining vertices Non-Indexed Define vertices in singles, pairs or triples to build points, lines, and triangles one at a time. Redundant coordinates, lighting normals, colors, and texture coordinates Indexed Indices are used along with the lists of coordinates, lighting normals, color and texture coordinates Indices select which coordinates to use from each list Indices are also used for lighting normals, colors, and texture coordinates For surfaces, the same vertices are reused for adjacent lines and triangles, providing an efficient use of vertex information No redundant coordinates in indexed geometry
12 Building Meshes Non-indexed: Vector3f[] vertices = new Vector3f[]{!!new Vector3f(0, 1, 0), // red triangle!!new Vector3f(0, 0, 0),!!new Vector3f(1, 0, 0),! };! Indexed:!new Vector3f(1, 0, 0), // green triangle!!new Vector3f(1, 1, 0),!!new Vector3f(0, 1, 0),! Vector3f[] vertices = new Vector3f[]{!!int[] indices = new int[]{!!new Vector3f(0, 0, 0),!!!2, 0, 1, //red tri!!new Vector3f(1, 0, 0),!!!1, 3, 2, //green tri!!new Vector3f(0, 1, 0),!!};! };!!new Vector3f(1, 1, 0),!
13 Building different types of meshes There are 8 different ways to represent the vertex data in the mesh: - Points! - Lines! - LineStrip! - LineLoop! - Triangles! - TriangleStrip! - TriangleFan! - (Hybrid)!
14 Setting mesh data Mesh data is set through native buffers void setbuffer(vertexbuffer.type type, int components, java.nio.bytebuffer buf);! void setbuffer(vertexbuffer.type type, int components, java.nio.floatbuffer buf);! void setbuffer(vertexbuffer.type type, int components, java.nio.intbuffer buf);! VertexBuffer types: - Position! - Normal! - Index! - Color! - TexCoord! - +++!
15 Mesh Example MeshExample.java
16 Dynamic Mesh Example MeshExample.java
17 Render Modes Example BoxRenderModes.java
18 Appearance
19 Appearance How to control how jme renders an object? No Fixed Function Pipeline (FFP) jme is fully shader based Features built in shaders that "mimics" FFP You can do almost anything you want
20 Fixed Function Pipeline Source: krhonos.org
21 Shaders What is a shader? Vertex Shader Tesselation Shader Geometry Shader Fragment Shader GLSL Other formats HLSL, CG
22 Programmable Pipeline Sources: krhonos.org and opengl.org
23 jme and Shaders Shaders are encapsulated into Material Definitions.j3md files You don t need to master shaders, a discipline in itself
24 Materials Materials control how jme renders geometry. Materials are created/loaded from a Material Definition file (.j3md). This means you have to load Material Definitions! Rendering specifications are set on the Material object. The rendering specifications available in the material depends on the Material Definition. All geometry must have a material set!
25 Material Attributes We will focus on two Material Definitons that mimic FFP, in the jme3-core. jme3-core.jar/common/matdefs/misc/unshaded.j3md!! jme3-core.jar/common/matdefs/light/lighting.j3md!! More on these shortly!!
26 Material Attributes Lighting Material controls: Ambient, diffuse and specular colour Shininess Textures +++
27 Material example code Create material for setting shape colours Material mat = new Material(assetManager, "Common/MatDefs/Light/ Lighting.j3md");! mat.setboolean("usematerialcolors", true);! mat.setcolor("ambient", new ColorRGBA(0.3f, 0.3f, 0.3f, 1.0f));! mat.setcolor("diffuse", new ColorRGBA (0.5f, 0.5f, 0.5f, 1.0f));! mat.setcolor("glowcolor", new ColorRGBA (0.0f, 0.0f, 0.0f, 0.0f));! mat.setcolor("specular", new ColorRGBA (0.8f, 0.8f, 0.8f, 1.0f));! mat.setfloat("shininess", 64.0f); Set the material to the Geometry. geom.setmaterial(mat);!
28 Material Attributes Material definitions are located in jme3-core.jar!!"common/matdefs/*"! Material editor in the jme SDK Overview over the Material Definition Properties on the wiki: jme3:advanced:materials_overview
29 Unshaded and Lighting material example MaterialDifference.java
30 Transparency Transparency controls The amount of transparency depends on alpha value Alpa value [0.0f, 1.0f] Transparency modes
31 Transparency (blend) Modes source = value from fragment shader destination = value from framebuffer Opaque (no blend mode) Alpha (Result = Source Alpha * Source Color + (1 - Source Alpha) * Dest Color) Additive (Result = Source Color + Destination Color) Alpha additive (Result = (Source Alpha * Source Color) + Dest Color) Modulate (Result = Source Color * Dest Color) ModulateX2 (Result = 2 * Source Color * Dest Color) PremultAlpha (Result = Source Color + (Dest Color * (1 - Source Alpha) ) ) Color (Result = Source Color + (1 - Source Color) * Dest Color)
32 Transparency example TransparencyExample.java
33 Different Materials Example MaterialExample.java
34 Lights Setting lights in a scene
35 Lights in jme jme offers 4 different light types for lighting the scene. Ambient light Directional light Point light Spot light Or you can write your own equation in a shader
36 Light methods There are some methods that are common for all light-types setenable(boolean OnOff), turn lights on off Color, setcolor Volume and scope which controls which shapes that will be lit up.
37 Ambient Light General brightness/color of the objects! AmbientLight al = new AmbientLight(); al.setcolor(colorrgba.white.mult(0.3f)); rootnode.addlight(al);!
38 Directional Light Light in a direction, infinitely far away (the sun) DirectionalLight sun = new DirectionalLight(); sun.setcolor(colorrgba.white);! sun.setdirection(new Vector3f(-0.5f, -0.5f, -0.5f).normalizeLocal());! rootnode.addlight(sun);!
39 Point Light All directions, decreasing intensity (almost like a "light bulb")! PointLight lamp_light = new PointLight(); lamp_light.setcolor(colorrgba.yellow); lamp_light.setradius(4f);! lamp_light.setposition(new Vector3f(0, 1, 0)); rootnode.addlight(lamp_light);!
40 Spot Light Direction, position, and two angles (flashlight) SpotLight spot = new SpotLight(); spot.setspotrange(100f);! spot.setspotinnerangle(15f * FastMath.DEG_TO_RAD! spot.setspotouterangle(35f * FastMath.DEG_TO_RAD); spot.setcolor(colorrgba.white);! spot.setposition(cam.getlocation());! spot.setdirection(cam.getdirection()); rootnode.addlight(spot);!
41 Lights and Scope Every Spatial has a list of lights The influence of lights are limited to the subgraph of the Spatial Add lights that should influence whole scene directly to the root Add lights that only influence parts at the topmost Spatial
42 Light example LightExample.java
43 Model Loaders Use of loaders
44 Loaders Oficially there only exists loaders for some file formats Ogre DotScene (animated objects, scenes) Ogre Mesh XML Wavefront OBJ (static objects, scenes) Other unofficial loaders exist (might not be up to date) COLLADA MD5 jme want to focus officially supported loaders to only a few We will use Ogre DotScene
45 Ogre DotScene Standardized XML file format Describes a scene Meshes Materials Lights Level of detail Animation
46 Ogre DotScene Meshes are exported as.mesh.xml! Materials as.material! Animations as.skeleton.xml! Scenes as.scene! The.scene file "binds things together" For example: Mesh <-> Material!
47 Converting models to Ogre DotScene Blender 2.62 (free) or Maya Import model, any format the editor supports Export model as Ogre DotScene See guide for installing and setting up Blender with export script correctly Why doesn t the loaded model work?
48 Using the Ogre DotScene Loader Extracts jme spatials from the scene file Geometry Lights Skeleton Animations Traverse the loaded graph to access named objects and manipulate them Add to scene graph Topmost node in loaded subgraph is usually a node
49 Debugging loaded models Spatial model = assetmanager.loadmodel("models/standing_man.scene");!! model.depthfirsttraversal(new SceneGraphVisitor() public void visit(spatial spatial) {! if (spatial instanceof Geometry) {! // turn off face culling.! ((Geometry)spatial).getMaterial().getAdditionalRenderState().! setfacecullmode(renderstate.facecullmode.off);! }! }! });!! rootnode.attachchild(model);!
50 jme3 specific formats Binary 3D model or scene (.j3o) Optimized format Convert them using the jme SDK (you don t have to do this) Use this for release builds Load models during development
51 Loader Example LoaderExample.java
Content. Building Geometry Appearance Lights Model Loaders
Content Building Geometry Appearance Lights Model Loaders Building Geometry A Geometry represents a 3D object: Mesh: The form or structure of a shape (What to draw) Material: The color, transparency, and
More informationPrinciples of Computer Game Design and Implementation. Lecture 5
Principles of Computer Game Design and Implementation Lecture 5 We already knew Introduction to this module History of video High-level information of a game Designing information for a game Execution
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 informationDeferred Rendering Due: Wednesday November 15 at 10pm
CMSC 23700 Autumn 2017 Introduction to Computer Graphics Project 4 November 2, 2017 Deferred Rendering Due: Wednesday November 15 at 10pm 1 Summary This assignment uses the same application architecture
More informationLecture 17: Shading in OpenGL. CITS3003 Graphics & Animation
Lecture 17: Shading in OpenGL CITS3003 Graphics & Animation E. Angel and D. Shreiner: Interactive Computer Graphics 6E Addison-Wesley 2012 Objectives Introduce the OpenGL shading methods - per vertex shading
More informationGeneral Light Methods
Java 3D Lighting Java 3D supports the following types of light sources Ambient Directional Point Spot Java 3D also supports mechanisms for defining the volumes which lights can affect General Light Methods
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 informationEECE 478. Learning Objectives. Learning Objectives. Rasterization & Scenes. Rasterization. Compositing
EECE 478 Rasterization & Scenes Rasterization Learning Objectives Be able to describe the complete graphics pipeline. Describe the process of rasterization for triangles and lines. Compositing Manipulate
More informationSEOUL NATIONAL UNIVERSITY
Fashion Technology 5. 3D Garment CAD-1 Sungmin Kim SEOUL NATIONAL UNIVERSITY Overview Design Process Concept Design Scalable vector graphics Feature-based design Pattern Design 2D Parametric design 3D
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 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 informationUnderstanding M3G 2.0 and its Effect on Producing Exceptional 3D Java-Based Graphics. Sean Ellis Consultant Graphics Engineer ARM, Maidenhead
Understanding M3G 2.0 and its Effect on Producing Exceptional 3D Java-Based Graphics Sean Ellis Consultant Graphics Engineer ARM, Maidenhead Introduction M3G 1.x Recap ARM M3G Integration M3G 2.0 Update
More informationIntroduction to Shaders.
Introduction to Shaders Marco Benvegnù hiforce@gmx.it www.benve.org Summer 2005 Overview Rendering pipeline Shaders concepts Shading Languages Shading Tools Effects showcase Setup of a Shader in OpenGL
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 informationModule Contact: Dr Stephen Laycock, CMP Copyright of the University of East Anglia Version 1
UNIVERSITY OF EAST ANGLIA School of Computing Sciences Main Series PG Examination 2013-14 COMPUTER GAMES DEVELOPMENT CMPSME27 Time allowed: 2 hours Answer any THREE questions. (40 marks each) Notes are
More informationOpenGl Pipeline. triangles, lines, points, images. Per-vertex ops. Primitive assembly. Texturing. Rasterization. Per-fragment ops.
OpenGl Pipeline Individual Vertices Transformed Vertices Commands Processor Per-vertex ops Primitive assembly triangles, lines, points, images Primitives Fragments Rasterization Texturing Per-fragment
More informationContent Loader Introduction
Content Loader Introduction by G.Paskaleva Vienna University of Technology Model Formats Quake II / III (md2 / md3, md4) Doom 3 (md5) FBX Ogre XML Collada (dae) Wavefront (obj) 1 Must-Have Geometry Information
More informationObjectives Shading in OpenGL. Front and Back Faces. OpenGL shading. Introduce the OpenGL shading methods. Discuss polygonal shading
Objectives Shading in OpenGL Introduce the OpenGL shading methods - per vertex shading vs per fragment shading - Where to carry out Discuss polygonal shading - Flat - Smooth - Gouraud CITS3003 Graphics
More informationChapter 5 - The Scene Graph
Chapter 5 - The Scene Graph Why a scene graph? What is stored in the scene graph? objects appearance camera lights Rendering with a scene graph Practical example 1 The 3D Rendering Pipeline (our version
More informationCSE 167: Lecture #8: GLSL. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012
CSE 167: Introduction to Computer Graphics Lecture #8: GLSL Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 Announcements Homework project #4 due Friday, November 2 nd Introduction:
More informationCSE 167: Introduction to Computer Graphics Lecture #7: Lights. Jürgen P. Schulze, Ph.D. University of California, San Diego Spring Quarter 2015
CSE 167: Introduction to Computer Graphics Lecture #7: Lights Jürgen P. Schulze, Ph.D. University of California, San Diego Spring Quarter 2015 Announcements Thursday in-class: Midterm Can include material
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 informationOrthogonal Projection Matrices. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015
Orthogonal Projection Matrices 1 Objectives Derive the projection matrices used for standard orthogonal projections Introduce oblique projections Introduce projection normalization 2 Normalization Rather
More information3ds Max certification prep
3ds Max certification prep Study online at quizlet.com/_25oorz 1. 24 Frames per second 2. 25 Frames per second, Europe 3. 30 Frames per second, Americas and Japan 4. Absolute mode, off set mode 5. How
More informationGraphics and Interaction Rendering pipeline & object modelling
433-324 Graphics and Interaction Rendering pipeline & object modelling Department of Computer Science and Software Engineering The Lecture outline Introduction to Modelling Polygonal geometry The rendering
More informationCSE 167: Introduction to Computer Graphics Lecture #6: Lights. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2014
CSE 167: Introduction to Computer Graphics Lecture #6: Lights Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2014 Announcements Project 2 due Friday, Oct. 24 th Midterm Exam
More informationCGDD 4113 Final Review. Chapter 7: Maya Shading and Texturing
CGDD 4113 Final Review Chapter 7: Maya Shading and Texturing Maya topics covered in this chapter include the following: Shader Types Shader Attributes Texturing the Axe Life, Love, Textures and Surfaces
More informationDEFERRED RENDERING STEFAN MÜLLER ARISONA, ETH ZURICH SMA/
DEFERRED RENDERING STEFAN MÜLLER ARISONA, ETH ZURICH SMA/2013-11-04 DEFERRED RENDERING? CONTENTS 1. The traditional approach: Forward rendering 2. Deferred rendering (DR) overview 3. Example uses of DR:
More informationShaders : the sky is the limit Sébastien Dominé NVIDIA Richard Stenson SCEA
Shaders : the sky is the limit Sébastien Dominé NVIDIA Richard Stenson SCEA Agenda FX Composer 2.0 Introductions Cross-Platform Shader Authoring FX Composer 2.0 and Production Pipelines PLAYSTATION 3 Production
More informationECS 175 COMPUTER GRAPHICS. Ken Joy.! Winter 2014
ECS 175 COMPUTER GRAPHICS Ken Joy Winter 2014 Shading To be able to model shading, we simplify Uniform Media no scattering of light Opaque Objects No Interreflection Point Light Sources RGB Color (eliminating
More informationShaders. Slide credit to Prof. Zwicker
Shaders Slide credit to Prof. Zwicker 2 Today Shader programming 3 Complete model Blinn model with several light sources i diffuse specular ambient How is this implemented on the graphics processor (GPU)?
More informationPipeline Operations. CS 4620 Lecture 10
Pipeline Operations CS 4620 Lecture 10 2008 Steve Marschner 1 Hidden surface elimination Goal is to figure out which color to make the pixels based on what s in front of what. Hidden surface elimination
More informationFrom Art to Engine with Model I/O
Session Graphics and Games #WWDC17 From Art to Engine with Model I/O 610 Nick Porcino, Game Technologies Engineer Nicholas Blasingame, Game Technologies Engineer 2017 Apple Inc. All rights reserved. Redistribution
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 informationOpen Game Engine Exchange Specification
Open Game Engine Exchange Specification Version 1.0.1 by Eric Lengyel Terathon Software LLC Roseville, CA Open Game Engine Exchange Specification ISBN-13: 978-0-9858117-2-3 Copyright 2014, by Eric Lengyel
More informationPROFESSIONAL. WebGL Programming DEVELOPING 3D GRAPHICS FOR THE WEB. Andreas Anyuru WILEY. John Wiley & Sons, Ltd.
PROFESSIONAL WebGL Programming DEVELOPING 3D GRAPHICS FOR THE WEB Andreas Anyuru WILEY John Wiley & Sons, Ltd. INTRODUCTION xxl CHAPTER 1: INTRODUCING WEBGL 1 The Basics of WebGL 1 So Why Is WebGL So Great?
More informationToday s Agenda. Basic design of a graphics system. Introduction to OpenGL
Today s Agenda Basic design of a graphics system Introduction to OpenGL Image Compositing Compositing one image over another is most common choice can think of each image drawn on a transparent plastic
More informationChapter Answers. Appendix A. Chapter 1. This appendix provides answers to all of the book s chapter review questions.
Appendix A Chapter Answers This appendix provides answers to all of the book s chapter review questions. Chapter 1 1. What was the original name for the first version of DirectX? B. Games SDK 2. Which
More informationShading I Computer Graphics I, Fall 2008
Shading I 1 Objectives Learn to shade objects ==> images appear threedimensional Introduce types of light-material interactions Build simple reflection model Phong model Can be used with real time graphics
More informationOutline. Introduction Surface of Revolution Hierarchical Modeling Blinn-Phong Shader Custom Shader(s)
Modeler Help Outline Introduction Surface of Revolution Hierarchical Modeling Blinn-Phong Shader Custom Shader(s) Objects in the Scene Controls of the object selected in the Scene. Currently the Scene
More informationRasterization Overview
Rendering Overview The process of generating an image given a virtual camera objects light sources Various techniques rasterization (topic of this course) raytracing (topic of the course Advanced Computer
More informationShaders (some slides taken from David M. course)
Shaders (some slides taken from David M. course) Doron Nussbaum Doron Nussbaum COMP 3501 - Shaders 1 Traditional Rendering Pipeline Traditional pipeline (older graphics cards) restricts developer to texture
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 informationCOMP30019 Graphics and Interaction Rendering pipeline & object modelling
COMP30019 Graphics and Interaction Rendering pipeline & object modelling Department of Computer Science and Software Engineering The Lecture outline Introduction to Modelling Polygonal geometry The rendering
More informationLecture outline. COMP30019 Graphics and Interaction Rendering pipeline & object modelling. Introduction to modelling
Lecture outline COMP30019 Graphics and Interaction Rendering pipeline & object modelling Department of Computer Science and Software Engineering The Introduction to Modelling Polygonal geometry The rendering
More informationCS 418: Interactive Computer Graphics. Basic Shading in WebGL. Eric Shaffer
CS 48: Interactive Computer Graphics Basic Shading in WebGL Eric Shaffer Some slides adapted from Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 205 Phong Reflectance Model Blinn-Phong
More informationCSE 167: Lecture #8: Lighting. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011
CSE 167: Introduction to Computer Graphics Lecture #8: Lighting Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011 Announcements Homework project #4 due Friday, October 28 Introduction:
More informationMODELING AND HIERARCHY
MODELING AND HIERARCHY Introduction Models are abstractions of the world both of the real world in which we live and of virtual worlds that we create with computers. We are all familiar with mathematical
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 informationCMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker
CMSC427 Advanced shading getting global illumination by local methods Credit: slides Prof. Zwicker Topics Shadows Environment maps Reflection mapping Irradiance environment maps Ambient occlusion Reflection
More informationChapter 7 - Light, Materials, Appearance
Chapter 7 - Light, Materials, Appearance Types of light in nature and in CG Shadows Using lights in CG Illumination models Textures and maps Procedural surface descriptions Literature: E. Angel/D. Shreiner,
More informationReal - Time Rendering. Graphics pipeline. Michal Červeňanský Juraj Starinský
Real - Time Rendering Graphics pipeline Michal Červeňanský Juraj Starinský Overview History of Graphics HW Rendering pipeline Shaders Debugging 2 History of Graphics HW First generation Second generation
More informationModels and Architectures
Models and Architectures Objectives Learn the basic design of a graphics system Introduce graphics pipeline architecture Examine software components for an interactive graphics system 1 Image Formation
More informationEDAF80 Introduction to Computer Graphics. Seminar 3. Shaders. Michael Doggett. Slides by Carl Johan Gribel,
EDAF80 Introduction to Computer Graphics Seminar 3 Shaders Michael Doggett 2017 Slides by Carl Johan Gribel, 2010-13 Today OpenGL Shader Language (GLSL) Shading theory Assignment 3: (you guessed it) writing
More informationmove object resize object create a sphere create light source camera left view camera view animation tracks
Computer Graphics & Animation: CS Day @ SIUC This session explores computer graphics and animation using software that will let you create, display and animate 3D Objects. Basically we will create a 3
More informationTeaching a Modern Graphics Pipeline Using a Shader-based Software Renderer
Teaching a Modern Graphics Pipeline Using a Shader-based Software Renderer Heinrich Fink 1 Thomas Weber 1 Michael Wimmer 1 1 Institute of Computer Graphics and Algorithms, Vienna University of Technology
More informationObjectives. Introduce the OpenGL shading Methods 1) Light and material functions on MV.js 2) per vertex vs per fragment shading 3) Where to carry out
Objectives Introduce the OpenGL shading Methods 1) Light and material functions on MV.js 2) per vertex vs per fragment shading 3) Where to carry out 1 Steps in OpenGL shading Enable shading and select
More informationTutorial: Accessing Maya tools
Tutorial: Accessing Maya tools This tutorial walks you through the steps needed to access the Maya Lumberyard Tools for exporting art assets from Maya to Lumberyard. At the end of the tutorial, you will
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 informationLecture 2. Shaders, GLSL and GPGPU
Lecture 2 Shaders, GLSL and GPGPU Is it interesting to do GPU computing with graphics APIs today? Lecture overview Why care about shaders for computing? Shaders for graphics GLSL Computing with shaders
More informationComputer Graphics. Shadows
Computer Graphics Lecture 10 Shadows Taku Komura Today Shadows Overview Projective shadows Shadow texture Shadow volume Shadow map Soft shadows Why Shadows? Shadows tell us about the relative locations
More informationComputer Graphics (CS 543) Lecture 10: Soft Shadows (Maps and Volumes), Normal and Bump Mapping
Computer Graphics (CS 543) Lecture 10: Soft Shadows (Maps and Volumes), Normal and Bump Mapping Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Shadow Buffer Theory Observation:
More informationJohn Hsu Nate Koenig ROSCon 2012
John Hsu Nate Koenig ROSCon 2012 Outline What is Gazebo, and why should you use it Overview and architecture Environment modeling Robot modeling Interfaces Getting Help Simulation for Robots Towards accurate
More informationX. GPU Programming. Jacobs University Visualization and Computer Graphics Lab : Advanced Graphics - Chapter X 1
X. GPU Programming 320491: Advanced Graphics - Chapter X 1 X.1 GPU Architecture 320491: Advanced Graphics - Chapter X 2 GPU Graphics Processing Unit Parallelized SIMD Architecture 112 processing cores
More informationOpenGL shaders and programming models that provide object persistence
OpenGL shaders and programming models that provide object persistence COSC342 Lecture 22 19 May 2016 OpenGL shaders We discussed forms of local illumination in the ray tracing lectures. We also saw that
More informationhttps://ilearn.marist.edu/xsl-portal/tool/d4e4fd3a-a3...
Assessment Preview - This is an example student view of this assessment done Exam 2 Part 1 of 5 - Modern Graphics Pipeline Question 1 of 27 Match each stage in the graphics pipeline with a description
More informationCOMP371 COMPUTER GRAPHICS
COMP371 COMPUTER GRAPHICS SESSION 12 PROGRAMMABLE SHADERS Announcement Programming Assignment #2 deadline next week: Session #7 Review of project proposals 2 Lecture Overview GPU programming 3 GPU Pipeline
More informationShadows. Prof. George Wolberg Dept. of Computer Science City College of New York
Shadows Prof. George Wolberg Dept. of Computer Science City College of New York Objectives Introduce Shadow Algorithms Expand to projective textures 2 Flashlight in the Eye Graphics When do we not see
More informationJava2D/Java3D Graphics
Java2D/Java3D Graphics Sandro Spina Computer Graphics and Simulation Group Computer Science Department University of Malta 1 Abstraction in Software Engineering We shall be looking at how abstraction is
More informationModule 13C: Using The 3D Graphics APIs OpenGL ES
Module 13C: Using The 3D Graphics APIs OpenGL ES BREW TM Developer Training Module Objectives See the steps involved in 3D rendering View the 3D graphics capabilities 2 1 3D Overview The 3D graphics library
More informationCS452/552; EE465/505. Lighting & Shading
CS452/552; EE465/505 Lighting & Shading 2-17 15 Outline! More on Lighting and Shading Read: Angel Chapter 6 Lab2: due tonight use ASDW to move a 2D shape around; 1 to center Local Illumination! Approximate
More informationReal-Time Rendering (Echtzeitgraphik) Michael Wimmer
Real-Time Rendering (Echtzeitgraphik) Michael Wimmer wimmer@cg.tuwien.ac.at Walking down the graphics pipeline Application Geometry Rasterizer What for? Understanding the rendering pipeline is the key
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 informationThe Rasterizer Stage. Texturing, Lighting, Testing and Blending
1 The Rasterizer Stage Texturing, Lighting, Testing and Blending 2 Triangle Setup, Triangle Traversal and Back Face Culling From Primitives To Fragments Post Clipping 3 In the last stages of the geometry
More informationTexture Mapping and Special Effects
Texture Mapping and Special Effects February 23 rd 26 th 2007 MAE 410-574, Virtual Reality Applications and Research Instructor: Govindarajan Srimathveeravalli HW#5 Due March 2 nd Implement the complete
More informationMach band effect. The Mach band effect increases the visual unpleasant representation of curved surface using flat shading.
Mach band effect The Mach band effect increases the visual unpleasant representation of curved surface using flat shading. A B 320322: Graphics and Visualization 456 Mach band effect The Mach band effect
More informationMore 3D - Overview. Alpha Blending (Transparency)
More 3D - Overview Sample4 adds: Depth Buffer (Z Buffer) Lighting Alpha Blending (Transparency) Depth Buffers A depth buffer is memory matching the dimensions of the backbuffer Used to determine whether
More informationLecture 10: Shading Languages. Kayvon Fatahalian CMU : Graphics and Imaging Architectures (Fall 2011)
Lecture 10: Shading Languages Kayvon Fatahalian CMU 15-869: Graphics and Imaging Architectures (Fall 2011) Review: role of shading languages Renderer handles surface visibility tasks - Examples: clip,
More informationTopic 9: Lighting & Reflection models 9/10/2016. Spot the differences. Terminology. Two Components of Illumination. Ambient Light Source
Topic 9: Lighting & Reflection models Lighting & reflection The Phong reflection model diffuse component ambient component specular component Spot the differences Terminology Illumination The transport
More informationRendering Grass with Instancing in DirectX* 10
Rendering Grass with Instancing in DirectX* 10 By Anu Kalra Because of the geometric complexity, rendering realistic grass in real-time is difficult, especially on consumer graphics hardware. This article
More informationTopic 9: Lighting & Reflection models. Lighting & reflection The Phong reflection model diffuse component ambient component specular component
Topic 9: Lighting & Reflection models Lighting & reflection The Phong reflection model diffuse component ambient component specular component Spot the differences Terminology Illumination The transport
More information6.837 Introduction to Computer Graphics Final Exam Tuesday, December 20, :05-12pm Two hand-written sheet of notes (4 pages) allowed 1 SSD [ /17]
6.837 Introduction to Computer Graphics Final Exam Tuesday, December 20, 2011 9:05-12pm Two hand-written sheet of notes (4 pages) allowed NAME: 1 / 17 2 / 12 3 / 35 4 / 8 5 / 18 Total / 90 1 SSD [ /17]
More informationCS 464 Review. Review of Computer Graphics for Final Exam
CS 464 Review Review of Computer Graphics for Final Exam Goal: Draw 3D Scenes on Display Device 3D Scene Abstract Model Framebuffer Matrix of Screen Pixels In Computer Graphics: If it looks right then
More informationReal-Time Rendering of a Scene With Many Pedestrians
2015 http://excel.fit.vutbr.cz Real-Time Rendering of a Scene With Many Pedestrians Va clav Pfudl Abstract The aim of this text was to describe implementation of software that would be able to simulate
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 informationPerformance OpenGL Programming (for whatever reason)
Performance OpenGL Programming (for whatever reason) Mike Bailey Oregon State University Performance Bottlenecks In general there are four places a graphics system can become bottlenecked: 1. The computer
More informationParametric description
Examples: surface of revolution Vase Torus Parametric description Parameterization for a subdivision curve Modeling Polygonal meshes Graphics I Faces Face based objects: Polygonal meshes OpenGL is based
More informationTDA362/DIT223 Computer Graphics EXAM (Same exam for both CTH- and GU students)
TDA362/DIT223 Computer Graphics EXAM (Same exam for both CTH- and GU students) Saturday, January 13 th, 2018, 08:30-12:30 Examiner Ulf Assarsson, tel. 031-772 1775 Permitted Technical Aids None, except
More informationCS230 : Computer Graphics Lecture 4. Tamar Shinar Computer Science & Engineering UC Riverside
CS230 : Computer Graphics Lecture 4 Tamar Shinar Computer Science & Engineering UC Riverside Shadows Shadows for each pixel do compute viewing ray if ( ray hits an object with t in [0, inf] ) then compute
More informationCS451Real-time Rendering Pipeline
1 CS451Real-time Rendering Pipeline JYH-MING LIEN DEPARTMENT OF COMPUTER SCIENCE GEORGE MASON UNIVERSITY Based on Tomas Akenine-Möller s lecture note You say that you render a 3D 2 scene, but what does
More informationMali Developer Resources. Kevin Ho ARM Taiwan FAE
Mali Developer Resources Kevin Ho ARM Taiwan FAE ARM Mali Developer Tools Software Development SDKs for OpenGL ES & OpenCL OpenGL ES Emulators Shader Development Studio Shader Library Asset Creation Texture
More informationComputer Graphics. Illumination and Shading
Rendering Pipeline modelling of geometry transformation into world coordinates placement of cameras and light sources transformation into camera coordinates backface culling projection clipping w.r.t.
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 informationCGS 3220 Lecture 4 Shaders, Textures, and Light
CGS 3220 Lecture 4 Shaders, Textures, and Light Introduction to Computer Aided Modeling Instructor: Brent Rossen Overview Working with the menu-less UI Working with the Hypershade Creating shading groups
More informationViewport 2.0 API Porting Guide for Locators
Viewport 2.0 API Porting Guide for Locators Introduction This document analyzes the choices for porting plug-in locators (MPxLocatorNode) to Viewport 2.0 mostly based on the following factors. Portability:
More informationTextures. Texture coordinates. Introduce one more component to geometry
Texturing & Blending Prof. Aaron Lanterman (Based on slides by Prof. Hsien-Hsin Sean Lee) School of Electrical and Computer Engineering Georgia Institute of Technology Textures Rendering tiny triangles
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 informationAdvanced Lighting casting shadows where the sun never shines!
Advanced Lighting casting shadows where the sun never shines! Overview Shadows in real life are normally considered to be an integral part of scene a natural outcome of the interplay of light and objects.
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 informationAmbien Occlusion. Lighting: Ambient Light Sources. Lighting: Ambient Light Sources. Summary
Summary Ambien Occlusion Kadi Bouatouch IRISA Email: kadi@irisa.fr 1. Lighting 2. Definition 3. Computing the ambient occlusion 4. Ambient occlusion fields 5. Dynamic ambient occlusion 1 2 Lighting: Ambient
More information