Programming Interface Overview

Slides:



Advertisements
Similar presentations
Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi
Advertisements

Scene Graphs In 3D Graphics programming the structure used is a scene graph which is special tree structure designed to store information about a scene.
BPC: Art and Computation – Spring 2007 Overview of Spring Semester Tools and Technologies Glenn Bresnahan
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Models and Architectures Ed Angel Professor of Computer Science, Electrical and Computer.
Shading Languages By Markus Kummerer. Markus Kummerer 2 / 19 State of the Art Shading.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology 3D Engines and Scene Graphs Spring 2012.
Introduction to Modeling. What is CG Modeling? Combination of Sculpting, Architecture, Drafting, and Painting. The core component of computer animation.
Basic 3D Graphics Chapter 5. Bird’s Eye View  Basic 3D Graphics –Basic concepts of 3D graphics, rendering pipeline, Java 3D programming, scene graph,
Lesson 1: Intro to Animation
Spatial Data Structures Jason Goffeney, 4/26/2006 from Real Time Rendering.
What is ? Open Graphics Library A cross-language, multi-platform API for rendering 2D and 3D computer graphics. The API is used to interact with a Graphics.
Introduction to Maya. Maya’s Layout User Interface Elements In Maya, you can tear off menus to create separate floating boxes that you can place anywhere.
Game Engine Programming. Game Engine Game Engine Rendering Engine (OGRE) Rendering Engine (OGRE) Physics Engine (Bullet) Physics Engine (Bullet) Input/Output.
CGDD 4113 MAYA BASICS. THE INTERFACE
CSC 461: Lecture 3 1 CSC461 Lecture 3: Models and Architectures  Objectives –Learn the basic design of a graphics system –Introduce pipeline architecture.
Web Games Programming An Introduction to Unity 3D.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
1 Extend is a simulation tool to create models quickly, with all the blocks you need and without even having to type an equation. You can use a series.
1 Computer Graphics Week2 –Creating a Picture. Steps for creating a picture Creating a model Perform necessary transformation Lighting and rendering the.
1Computer Graphics Lecture 4 - Models and Architectures John Shearer Culture Lab – space 2
Advanced Computer Graphics Advanced Shaders CO2409 Computer Graphics Week 16.
2008/9/24 Kim, HyungSeok. HyungSeok Kim, Konkuk University Part I: Framework – 1. Windows creation – 2. Renderer – 3. Lights and Objects/Model loading.
Multimedia System and Networking UTD Slide- 1 University of Texas at Dallas B. Prabhakaran Rigging.
Digital Media Lecture 8: Vector Graphics 3D Georgia Gwinnett College School of Science and Technology Dr. Jim Rowan.
Control flow for interactive applications CSE 3541 Matt Boggus.
Yingcai Xiao Game Development with Unity3D. Outline IDE Engine Assets Tutorial Examples Inside.
Introduction to Maya Programming Shuen-Huei Guan CML, CSIE, National Taiwan University 2003/10/7.
© TMC Computer School HC20203 VRML HIGHER DIPLOMA IN COMPUTING Chapter 2 – Basic VRML.
Maya adapted from slides by Hyuck Rea Rho. 2 What is it? Animation making tool 3D rendering tool Around $280 for school work 10 License, Limited function.
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
Subject Name: Computer Graphics Subject Code: Textbook: “Computer Graphics”, C Version By Hearn and Baker Credits: 6 1.
1 Computer Graphics Week1 -Introduction. Computer graphics History Computer graphics generally means creation, storage and manipulation of models and.
Zhang & Liang, Computer Graphics Using Java 2D and 3D (c) 2007 Pearson Education, Inc. All rights reserved. 1 Chapter 5 Basic 3D Graphics.
CS777 Project 1 Developing Maya Plug-ins for motion related projects Kyungsuk David Lee.
UFCFSU-30-13D Technologies for the Web An Introduction to Unity 3D.
1 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Models and Architectures 靜宜大學 資訊工程系 蔡奇偉 副教授 2012.
Computer Graphics Imaging Ying Zhu Georgia State University Lecture 29 Soft Bodies and Rigid Bodies.
CIS682 Maya Internal Structure Overview. CIS682 Programming Interfaces MEL - Maya Embedded Language –Scripting language –Interpreted –Fast prototyping,
Graphics Programming. Graphics Functions We can think of the graphics system as a black box whose inputs are function calls from an application program;
3D Animation 1. Introduction Dr. Ashraf Y. Maghari Information Technology Islamic University of Gaza Ref. Book: The Art of Maya.
Parallel Programming Models EECC 756 David D. McGann 18 May, 1999.
Game Development with Unity3D
Chapter 10: Computer Graphics
Interactive Animation
Game Development with Unity3D Inside/Outside Unity3D
Game and animation control flow
Games Development Practices 3D Modelling
3D Modeling & Animation Software
EEC-693/793 Applied Computer Vision with Depth Cameras
Visualization Shading
Computer Animation Ying Zhu Georgia State University
Image-Based Rendering
CSc 8820 Advanced Graphics Algorithms
Graphics Processing Unit
CH#3 Software Designing (Object Oriented Design)
The Graphics Rendering Pipeline
Real-time Computer Graphics Overview
TerraForm3D Plasma Works 3D Engine & USGS Terrain Modeler
Models and Architectures
Game and animation control flow
Models and Architectures
Models and Architectures
Introduction to Computer Graphics with WebGL
MEL Interface with Maya.
Models and Architectures
Hierarchical Modeling & Constructive Solid Geometry
Models and Architectures
Computer Graphics Introduction to Shaders
Introduction to spagetti and meatballs
Presentation transcript:

Programming Interface Overview Maya Programming Interface Overview CIS682

Programming Interfaces MEL - Maya Embedded Language Scripting language Interpreted Fast prototyping, slow execuation C++ Powerful, fast Class libraries CIS682

Maya Architecture CIS682

Dependency Graph (DG) Data flow model DG - heart of Maya Data manipulated by series of operations Pipeline Push-pull model DG - heart of Maya Data and operations represented as nodes Network of nodes to perform task Add functionality by defining new node CIS682

The Scene Entire 3D graphics state - the DG Models Animations Textures Lights cameras Programming interfaces hide much of DG complexity CIS682

Data Flow Nodes Attributes - properties of a node Input/output Compute function time nurbsSphere1 NurbsSphere1_translateX CIS682

NODE node input output Compute() CIS682

Node attributes node pointA (compound) node x (float) size(float) y (float) z (float) CIS682

Node node points (array) [0] point compound x (float) y (float) z (float) [1] point compound x (float) y (float) z (float) […] point compound CIS682

Compute Function Output = compute(input0, …, inputN) Input and output attributes are LOCAL Black box Interface: input and output attributes CIS682

Dependent Attributes Volume = compute(sphereSize) attributeAffects( sphereSize, volume) sphereVolume sphereSize (float) volume (float) CIS682

Time Example of node that only holds data Current time in time node named time1 Moving frame slider or click on Play sets time time outTime (time) CIS682

Connecting Nodes Connect nodes by connecting node attributes Attribute can only connect to attribute of same type Maya handles flow of data; node not ‘aware’ of connections Connections: one-to-many mappings When connections broken, node retains value CIS682

DAG nodes Directed Acyclic Graph DAG nodes form Shape-Transform hierarchy DAG nodes are in DG - they are DG nodes Some DAG nodes connect to non-DAG DG nodes Some DAG nodes may not be connected to any non-DAG nodes Maya shows either DAG hierarchy or connected DG nodes, not both simultaneously CIS682

DAG and DG nodes transform time animCurve transform shape CIS682

Shape Nodes Meshes NURBS curves and surfaces Springs Camera Lights Particles Etc. CIS682

Transform Nodes Shape node can’t exist without a transform node Shape node holds the data Transform node transforms from objects space to world space nurbsSphere2 nurbsSphereShape2 CIS682

Dependent Attributes attributeAffects( width, areaOfTop) attributeAffects( depth, areaOfTop) attributeAffects( areaOfTop, volume) attributeAffects( height, volume) boxMetrics width (float) depth (float) height (float) volume (float) areaOfTop (float) dependent CIS682

Transform Hierarchy CIS682

Node Hierarchy head headShape torso torsoShape leftArm leftArmShape rightArm rightArmShape leftArm leftArmShape rightArm CIS682 rightArmShape