NVIDIA Scene Graph Leveraging the World's Fastest Scene Graph

Total Page:16

File Type:pdf, Size:1020Kb

NVIDIA Scene Graph Leveraging the World's Fastest Scene Graph NVSG – NVIDIA Scene Graph Leveraging the World's Fastest Scene Graph © 2008 NVIDIA Corporation. Agenda • Overview NVSG • Shader integration • Interactive ray tracing • Multi-GPU support © 2008 NVIDIA Corporation. NVIDIA Scene Graph (NVSG) The first cross-platform scene graph with full hardware shading support through latest visual computing technology to achieve a new level of realism. © 2008 NVIDIA Corporation. Why use NVSG? Performance Support from NVIDIA Reduces amount of data The global leader in Structures data to allow computer graphics culling and sorting Productivity No-cost tool Manages graphics hardware, reducing requirement for License free of charge OpenGL coding Shading Takes full advantage of Scalability Cg/CgFX/MetaSL Works seamlessly with Abstracts low-level shader complex hardware work configurations NVIDIA SLI ready © 2008 NVIDIA Corporation. Markets • Automotive • Training & Visualization • Vis-Sim • Virtual Reality • Broadcasting • Digital Studio • Gaming • Oil&Gas • Misc... © 2008 NVIDIA Corporation. NVSG - „NVIDIA Scene Graph” • C++ scene-graph API • OS Independent • Multi-thread safe • Fast • Shader support • Cluster aware • Latest GPU support • Easy to use • Easy to extend • Future proof • Free to NVIDIA developers © 2008 NVIDIA Corporation. NVSG Software Stack 3D Application Loader & Saver Plug-ins NVSG Cg-Runtime 3D API CUDA GPU © 2008 NVIDIA Corporation. Device-Independent Rendering NVSG OpenGL DirectX Ray Tracing Vendor-Neutral CUDA- Compatible Hardware Hardware © 2008 NVIDIA Corporation. Plug-in Architecture NVSG Plug-In Framework I18N Translation Loader API Saver API DLL / SO I U I U D M S D M S B A E B A E G R G R E E © 2008 NVIDIA Corporation. Interchange Formats DCC • Creator Shader Authoring •Catia •Maya • FXComposer • 3D Studio Max • mental mill COLLADA OpenFlight OBJ VRML PLY nbf/nvsg CgFX MetaSL others... Image Generator • NVSG © 2008 NVIDIA Corporation. Differing Render Targets • Framebuffer • FBO • 2D Overlay • Ray Tracing • Broadcast Graphics Hardware • Transform Feedback • Gelato © 2008 NVIDIA Corporation. Shadows, Effects, Skinning © 2008 NVIDIA Corporation. GUI, Menus, overlays,... © 2008 NVIDIA Corporation. GVO / SDI Broadcast Graphics • Uncompressed 8-, 10-, or 12-bit SDI formats • Enabling a direct connection to broadcast monitors, switchers, tape decks, or SDI projectors. • Source code example GVOWinRenderArea NVAPI © 2008 NVIDIA Corporation. Multipass Rendering • Depth of Field • Order Independent Transparency • FSAA • Stereo (implementation dependent) © 2008 NVIDIA Corporation. Order Independent Transparency Without OIT With OIT © 2008 NVIDIA Corporation. Improved FSAA Quality No FSAA 16x MPAA MPAA: Combine HW FSAA with Software controlled FSAA to get benefits from both worlds: maintain speed and quality © 2008 NVIDIA Corporation. Stereo • Quadbuffered Stereo • Passive stereo with independent outputs © 2008 NVIDIA Corporation. Active Stereo Sequential Projection of both Views left/right Eye flipping -> Active Compute R left/right Eye 3D Modell L Views Screen 3D Effect through Shutter Glasses -> Active © 2008 NVIDIA Corporation. Passive Stereo Permant L Horizontal Projection of both Polarization Views Filter no left/right Eye flipping -> Passive L Compute left/right Eye 3D Modell Screen Views R R Vertical 3D Effect through Polarization Polarized Glasses no Filter Shutter -> Passive © 2008 NVIDIA Corporation. Improved Skinning • Usage of skinning processors • CPU skinning processor • GPU skinning • minimal requirement: Shader Model 4 • Future: CUDA skinning Scene Old Skinning CPU Skinning GPU Skinning Chameleon.nbf 12 66 975 Hatealien.nbf 12 61 760 Seymour.dae na 66 850 © 2008 NVIDIA Corporation. Skinning Implementation Scene Preparation App Traverser Skinning Processor Cull Traverser Cull Traverser Render Traverser CPU GPU CUDA © 2008 NVIDIA Corporation. Skinning Processors - CPU Vertex Attribute INPUT VBO Set R A S T E Influence Data (Sys Mem) R CPU Processor OUTPUT VBO I Z Skin Weights / Indices A v′ = w M v T Xform ∑ j j I Matrices j O N CgFX Effect © 2008 NVIDIA Corporation. Skinning Processors - GPU Vertex Attribute INPUT VBO Set R A S T E Influence Data (Textures) Cg Geometry R Program OUTPUT VBO I Z Skin Weights / Indices A T Transform I Xform Feedback Matrices O N ′ v= ∑ wj M j v j CgFX Effect © 2008 NVIDIA Corporation. Shaders - Cg • GPU Shading language inspired by C • API-independent • OpenGL or Direct3D • Platform-independent • NVIDIA, AMD/ATI, PS3 • Windows, Linux, MacOS X, Solaris • Hardware and API variation managed with “profiles” • Profile = execution environment + compiled program format • Profiles can determine • How types are represented • Available standard library routines • Semantics of execution • Part of 3D content creation tool chains Write your shaders in Cg; deploy them to any API or platform © 2008 NVIDIA Corporation. Cg software stack 3D Application or Game Cg Run-time Cg Compiler API Cg 3D API interface: CgGL or CgD3D 3D API OpenGL or Direct3D Graphics Processing Unit (GPU) © 2008 NVIDIA Corporation. CgFX support Metafile format used for shader description. The CgFX runtime takes care where to put textures and other information for the shader No shader specific C/C++ code needed! Shader Authoring Tool Integration • Shader authoring tools • FXComposer • mental mill Visual programming Drag & Drop Debugging © 2008 NVIDIA Corporation. mental mill® Shader creation for all levels of technical expertise • Shader creation without programming for non-technical users and Artists • Familiar graph editing paradigm • Simple parameter editing © 2008 NVIDIA Corporation. MetaSLTM Easy to use meta language for shader writers • Shaders can be exported for use in: mental ray® FX Composer 2.5 NVSG © 2008 NVIDIA Corporation. Workflow – Shader Integration FXComposer MetaSL MetaSL & Phenomenon Compiler CgFX NVSG API CgFx StateAttribute Cg-runtime & Compiler © 2008 NVIDIA Corporation. Interactive Ray Tracing • CUDA Everywhere • Low Level: SDK • High Level: NVSG Integration © 2008 NVIDIA Corporation. Ray Tracing SDK • C++ SDK • Shader-based (CUDA*) • Dynamic Scenes • Hybrid rasterization/ray tracing • Use the right tools to get maximum performance and quality © 2008 NVIDIA Corporation. RT Scene Traversal in NVSG NVSG Scene App Traverser App Traverser Ray Tracing Traverser Cull Traverser Cull Traverser RT-API CUDA GL Traverser OpenGL OpenGL © 2008 NVIDIA Corporation. Ray Tracing Shaders in NVSG NVSG Scene CgFX MetaSL CgFX CgFX Rasterized MetaSL Compiler Cg Runtime Ray Traced OpenGL / DX iRT SDK Ray Tracing Engine © 2008 NVIDIA Corporation. MGPU SDK - NVScale • Image compositor for sort first and sort last based applications • Screen tiling, alpha and depth based compositing • Platforms: win32/64, linux 64 • Compositor implementation based on latest technologies, no migration effort for applications (next gen hardware will provide faster transport) • Configurable: 1-1, n-1, hierarchical 1 2 1 2 + + 1 2 12 Screen Tiling Alpha compositing + + + + Depth compositing Hierarchical compositing© 2008 NVIDIA Corporation. Distributed rendering with NVSG GLDistributedRenderArea RenderTraverser • Clients must derive from this and integrate with windowing system • Optionally select GPUs to be used DistributedRendGLTraverser • Uses MGPUSDK for image composition GLDistributedTraverser DistributionTraverser RenderArea • Assigns GPUs to handle scene graph objects based on distribution scheme DistributedRenderArea • Distribution scheme assigns objects to optimally balance load on GPUs GLDistributedTraverser GLDistributedRenderArea • Multiple instances (one per GPU) • Instances run in parallel ClientDistributedRenderArea • Each instance only renders objects assigned to its GPU • Triggers image composition when ready © 2008 NVIDIA Corporation. Dinosaurs in the Museum Model characteristics: • Model designed in Maya, AutoDesk • 217 Million Triangles Rendering Hardware: • HP xw8600 with 32 GB System Memory • 2xD2’s with 16GB total video memory Rendering Performance: © 2008 NVIDIA Corporation. Total max. triangle throughput = 1.3 GTri/s Thank You! Feedback & Questions: [email protected] © 2008 NVIDIA Corporation..
Recommended publications
  • Conservation Cores: Reducing the Energy of Mature Computations
    Conservation Cores: Reducing the Energy of Mature Computations Ganesh Venkatesh Jack Sampson Nathan Goulding Saturnino Garcia Vladyslav Bryksin Jose Lugo-Martinez Steven Swanson Michael Bedford Taylor Department of Computer Science & Engineering University of California, San Diego fgvenkatesh,jsampson,ngouldin,sat,vbryksin,jlugomar,swanson,[email protected] Abstract power. Consequently, the rate at which we can switch transistors Growing transistor counts, limited power budgets, and the break- is far outpacing our ability to dissipate the heat created by those down of voltage scaling are currently conspiring to create a utiliza- transistors. tion wall that limits the fraction of a chip that can run at full speed The result is a technology-imposed utilization wall that limits at one time. In this regime, specialized, energy-efficient processors the fraction of the chip we can use at full speed at one time. Our experiments with a 45 nm TSMC process show that we can can increase parallelism by reducing the per-computation power re- 2 quirements and allowing more computations to execute under the switch less than 7% of a 300mm die at full frequency within an same power budget. To pursue this goal, this paper introduces con- 80W power budget. ITRS roadmap projections and CMOS scaling servation cores. Conservation cores, or c-cores, are specialized pro- theory suggests that this percentage will decrease to less than 3.5% cessors that focus on reducing energy and energy-delay instead of in 32 nm, and will continue to decrease by almost half with each increasing performance. This focus on energy makes c-cores an ex- process generation—and even further with 3-D integration.
    [Show full text]
  • Nvidia® Gelato™ 1.0 Hardware
    NVIDIA GELATO PRODUCT OVERVIEW APRIL04v01 NVIDIA® GELATO™ 1.0 HARDWARE- Key to this doctrine of no compromises is Gelato’s new shading language incorporates a ACCELERATED FINAL-FRAME RENDERER Gelato’s use of NVIDIA graphics hardware. simple and streamlined syntax based on C, Gelato is breakthrough, rendering software Gelato uses the NVIDIA Quadro FX as a second making it familiar and easy for most from NVIDIA, designed with a new architecture floating-point processor, taking advantage of programmers to learn and allowing for state- that leverages advances in mainstream graphics the 3D engine in ways far beyond gameplay. of-the-art shader-specific types and hardware to accelerate film-quality rendering. Gelato is one of the first in a wave of software functions. Gelato ships with an extensive This software renderer takes advantage of the applications that use the graphics hardware as set of shader libraries and examples. programmability, precision, performance, and an off-line processor, a “floating-point Gelato is available with a world-class quality of NVIDIA Quadro® FX professional supercomputer on a chip,” and not simply to support package, backed by NVIDIA, graphics solutions to render imagery of manage the display. the global leader in 3D graphics. uncompromising quality at unheard-of speeds. FAST AND GETTING FASTER The annual support package includes Gelato offers all the features film and television all product updates and upgrades. customers demand today and is flexible and Gelato unleashes the processing power of the extensible enough to satisfy their future graphics hardware that currently sits idle on LOOKING TO THE FUTURE requirements.
    [Show full text]
  • Opengl 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 there were reasons you might want to modify these: e.g. procedural textures for bump maps. É Ideally the illumination calculations would be entirely programmable. É OpenGL shaders facilitate high performance programmability. É They have been available as extensions since OpenGL 1.5 (2003), but core within OpenGL 2.0 (2004). É We will focus on vertex and fragment shaders, but there are other types: e.g. geometry shaders, and more recent shaders for tessellation and general computing. COSC342 OpenGL shaders and programming models that provide object persistence 2 GL Shading Language|GLSL É C-like syntax. (No surprises given the OpenGL lineage . ) É However, compared to `real' use of C, GLSL programmers are further away from the actual hardware. É Usually the GLSL code will be passed as a string into the OpenGL library you are using. É Only supports limited number of data types: e.g. float, double,... É Adds some special types of its own: e.g. vector types vec2, vec4. É Unlike most software, GLSL is typically compiled every time you load your functions|there isn't (yet...) a standardised GL machine code. COSC342 OpenGL shaders and programming models that provide object persistence 3 GLSL on the hardware É The GLSL syntax just provides a standard way to specify functions. É Different vendors may use vastly different hardware implementations. É (Or indeed the CPU may be doing the GLSL work, e.g.
    [Show full text]
  • FCM 61 Italiano
    Full Circle LA RIVISTA INDIPENDENTE PER LA COMUNITÀ LINUX UBUNTU Numero #61 - Maggio 2012 AUDIO FLUX NUOVA SEZIONE MUSICA GRATIS IN CC foto: downhilldom1984 (Flickr.com) CCOOPPIIAA EE CCOODDIIFFIICCAA DDII DDVVDD QQUUAATTTTRROO SSIISSTTEEMMII CCRROONNOOMMEETTRRAATTII EE PPRROOVVAATTII full circle magazine n.61 1 Full Circle magazine non è affiliata né sostenuta da Canonical Ltd. indice ^ HowTo Full Circle Opinioni LA RIVISTA INDIPENDENTE PER LA COMUNITÀ LINUX UBUNTU Python-Parte33 p.07 Rubriche LaMiaStoria p.38 UsareilcomandoTOP p.10 NotizieLinux p.04 AudioFlux p.52 LaMiaOpinione p.42 VirtualBoxNetworking p.15 Comanda&Conquista p.05 GiochiUbuntu p.53 IoPensoChe... p.43 GIMP-BeanstalkParte 2 p.21 LinuxLabs p.29 D&R p.50 RecensioneLibro p.45 Torna Prossimo Mese Inkscape-Parte1 p.24 DonneUbuntu p.XX Chiuderele«Finestre» p.32 Lettere p.46 Grafica Gli articoli contenuti in questa rivista sono stati rilasciati sotto la licenza Creative Commons Attribuzione - Non commerciale - Condividi allo stesso modo 3.0. Ciò significa che potete adattare, copiare, distribuire e inviare gli articoli ma solo sotto le seguenti condizioni: dovete attribuire il lavoro all'autore originale in una qualche forma (almeno un nome, un'email o un indirizzo Internet) e a questa rivista col suo nome ("Full Circle Magazine") e con il suo indirizzo Internet www.fullcirclemagazine.org (ma non attribuire il/gli articolo/i in alcun modo che lasci intendere che gli autori e la rivista abbiano esplicitamente autorizzato voi o l'uso che fate dell'opera). Se alterate, trasformate o create un'opera su questo lavoro dovete distribuire il lavoro risultante con la stessa licenza o una simile o compatibile.
    [Show full text]
  • Lecture 08: Hierarchical Modeling with Scene Graphs
    Lecture 08: Hierarchical Modeling with Scene Graphs CSE 40166 Computer Graphics Peter Bui University of Notre Dame, IN, USA November 2, 2010 Symbols and Instances Objects as Symbols Model world as a collection of object symbols. Instance Transformation Place instances of each symbol in model using M = TRS. 1 glTranslatef (dx, dy, dz); 2 g l R o t a t e f (angle, rx, ry, rz); 3 g l S c a l e f (sx, sy, sz); 4 gluCylinder (quadric, base, top, height, slices, stacks); Problem: No Relationship Among Objects Symbols and instances modeling technique contains no information about relationships among objects. I Cannot separate movement of Wall-E from individual parts. I Hard to take advantage of the re-usable objects. Solution: Use Graph to Model Objects Represent the visual and abstract relationships among the parts of the models with a graph. I Graph consists of a set of nodes and a set of edges. I In directed graph, edges have a particular direction. Example: Robot Arm 1 display () 2 { 3 g l R o t a t e f (theta, 0.0, 1.0, 0.0); 4 base (); 5 glTranslatef (0.0, h1, 0.0); 6 g l R o t a t e f (phi, 0.0, 0.0, 1.0); 7 lower_arm(); 8 glTranslatef (0.0, h2, 0.0); 9 g l R o t a t e f (psi, 0.0, 0.0, 1.0); 10 upper_arm(); 11 } Example: Robot Arm (Graph) 1 ConstructRobotArm(Root) 2 { 3 Create Base; 4 Create LowerArm; 5 Create UpperArm; 6 7 Connect Base to Root; 8 Connect LowerArm to Base; 9 Connect UpperArm to LowerArm; 10 } 11 12 RenderNode(Node) 13 { 14 Store Environment; 15 16 Node.Render(); 17 18 For Each child in Node.children: 19 RenderNode(child); 20 21 Restore Environment; 22 } Scene Graph: Node Node in a scene graph requires the following components: I Render: A pointer to a function that draws the object represented by the node.
    [Show full text]
  • Using Graph-Based Data Structures to Organize and Manage Scene
    d07wals.x.g2db Page 1 of 7 Thursday, April 4, 2002 8:47:50 AM HEAD: Understanding Scene Graphs DEK Using graph-based Bio data structures to Aaron is chairman of Mantis Development, and teaches computer graphics and In- organize and manage ternet/Web application development at Boston College. He can be contacted at scene contents [email protected]. Byline NOTE TO AUTHORS: PLEASE CHECK ALL URLs AND SPELLINGS OF NAMES CAREFULLY. Aaron E. Walsh THANK YOU. Pullquotes Before scene-graph programming Scene-graph models, we usually nodes represent represented scene objects in a scene data and behavior procedurally d07wals.x.g2db Page 2 of 7 Thursday, April 4, 2002 8:47:50 AM 2.1 cene graphs are data structures used 2.68 At the scene level, you concern your- – to organize and manage the contents – self with what’s in the scene and any as- – of hierarchically oriented scene data. – sociated behavior or interaction among – Traditionally considered a high-level – objects therein. Underlying implementa- 2.5 S – data management facility for 3D content, tion and rendering details are abstracted – scene graphs are becoming popular as – out of the scene-graph programming mod- – general-purpose mechanisms for manag- – el. In this case, you can assume that your – ing a variety of media types. MPEG-4, for 2.75 VRML browser plug-in handles low-level – instance, uses the Virtual Reality Model- – concerns. 2.10 ing Language (VRML) scene-graph pro- – – gramming model for multimedia scene – Nodes and Arcs – composition, regardless of whether 3D – As Figure 2 depicts, scene graphs consist – data is part of such content.
    [Show full text]
  • Transformations Rotation and Scaling
    Fall 2015 Transformations In OpenGL, transformation are performed in the opposite order they are called 4 translate(1.0, 1.0, 0.0); 3 rotateZ(45.0); 2 scale(2.0, 2.0, 0.0); 1 DrawSquare(0.0, 0.0, 1.0); 4 scale(2.0, 2.0, 0.0); 3 rotateZ(45.0); translate(1.0, 1.0, 0.0); 2 1 DrawSquare(0.0, 0.0, 1.0); Rotation and Scaling Rotation and Scaling is done about origin You always get what you expect Correct on all parts of model 4 rotateZ(45.0); 3 scale(2.0, 2.0, 0.0); 2 translate(-0.5, -0.5, 0.0); 1 DrawSquare(0.0, 0.0, 1.0); CS 4600 1 Fall 2015 Load and Mult Matrices in MV.js Mat4(m) Mat4(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16) Sets the sixteen values of the current matrix to those specified by m. CTM = mult(CTM, xformMatrix); Multiplies the matrix,CTM, by xformMatrix and stores the result as the current matrix, CTM. OpenGL uses column instead of row vectors However, MV.js treats things in row-major order Flatten does the transpose Matrices are defined like this (use float m[16]); CS 4600 2 Fall 2015 Object Coordinate System Used to place objects in scene Draw at origin of WCS Scale and Rotate Translate to final position Use the MODELVIEW matrix as the CTM scale(x, y, z) rotate[XYZ](angle) translate(x, y, z) lookAt(eyeX, eyeY, eyeZ, atX, atY, atZ, upX, upY, upZ) lookAt LookAt(eye, at, up) Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015 CS 4600 3 Fall 2015 The lookAt Function The GLU library contained the function gluLookAt to form the required modelview matrix through a simple interface Note
    [Show full text]
  • The Utilization Wall
    UC San Diego UC San Diego Electronic Theses and Dissertations Title Configurable energy-efficient co-processors to scale the utilization wall Permalink https://escholarship.org/uc/item/3g99v4qd Author Venkatesh, Ganesh Publication Date 2011 Peer reviewed|Thesis/dissertation eScholarship.org Powered by the California Digital Library University of California UNIVERSITY OF CALIFORNIA, SAN DIEGO Configurable Energy-efficient Co-processors to Scale the Utilization Wall A dissertation submitted in partial satisfaction of the requirements for the degree Doctor of Philosophy in Computer Science by Ganesh Venkatesh Committee in charge: Professor Steven Swanson, Co-Chair Professor Michael Taylor, Co-Chair Professor Pamela Cosman Professor Rajesh Gupta Professor Dean Tullsen 2011 Copyright Ganesh Venkatesh, 2011 All rights reserved. The dissertation of Ganesh Venkatesh is approved, and it is acceptable in quality and form for publication on microfilm and electronically: Co-Chair Co-Chair University of California, San Diego 2011 iii DEDICATION To my dear parents and my loving wife. iv EPIGRAPH The lurking suspicion that something could be simplified is the world's richest source of rewarding challenges. |Edsger Dijkstra v TABLE OF CONTENTS Signature Page.................................. iii Dedication..................................... iv Epigraph.....................................v Table of Contents................................. vi List of Figures.................................. ix List of Tables................................... xi Acknowledgements...............................
    [Show full text]
  • Computation of Potentially Visible Set for Occluded Three-Dimensional Environments
    Computation of Potentially Visible Set for Occluded Three-Dimensional Environments Derek Carr Advisor: Prof. William Ames Boston College Computer Science Department May 2004 Page 1 Abstract This thesis deals with the problem of visibility culling in interactive three- dimensional environments. Included in this thesis is a discussion surrounding the issues involved in both constructing and rendering three-dimensional environments. A renderer must sort the objects in a three-dimensional scene in order to draw the scene correctly. The Binary Space Partitioning (BSP) algorithm can sort objects in three- dimensional space using a tree based data structure. This thesis introduces the BSP algorithm in its original context before discussing its other uses in three-dimensional rendering algorithms. Constructive Solid Geometry (CSG) is an efficient interactive modeling technique that enables an artist to create complex three-dimensional environments by performing Boolean set operations on convex volumes. After providing a general overview of CSG, this thesis describes an efficient algorithm for computing CSG exp ression trees via the use of a BSP tree. When rendering a three-dimensional environment, only a subset of objects in the environment is visible to the user. We refer to this subset of objects as the Potentially Visible Set (PVS). This thesis presents an algorithm that divides an environment into a network of convex cellular volumes connected by invisible portal regions. A renderer can then utilize this network of cells and portals to compute a PVS via a depth first traversal of the scene graph in real-time. Finally, this thesis discusses how a simulation engine might exploit this data structure to provide dynamic collision detection against the scene graph.
    [Show full text]
  • Open Scene Graph ODE - Open Dynamics Engine
    Universidade do Vale do Rio dos Sinos Virtual Reality Tools OSG - Open Scene Graph ODE - Open Dynamics Engine M.Sc . Milton Roberto Heinen - Unisinos / UFRGS E-mail: [email protected] Dr. Fernando S. Osório - Unisinos E-mail: [email protected] Artificial Intelligence Group - GIA Virtual Reality Tools OSG (Open Scene Graph) + ODE (Open Dynamics Engine) Open Scene Graph Programa de Pós-Graduação em Computação Aplicada PIPCA Grupo de Inteligência Artificial - GIA 1 Virtual Reality Tools OSG (Open Scene Graph) + ODE (Open Dynamics Engine) Open Scene Graph - OSG http://www.openscenegraph.org/ • OSG: Open and Free Software Object Oriented (C++) Software Library (API) • The OSG Library is an abstraction layer over the OpenGL, allowing to easily create complex visual scenes • With OSG you do not need to use other APIs like MFC, GTK or Glut (windows and device libs) • With OSG you can read/show several 3D file formats as for example VRML, OBJ, DirectX (.X), OSG using textures, lights, particles and other visual effects • OSG works in Windows and Linux Environments creating portable graphical applications Programa de Pós-Graduação em Computação Aplicada PIPCA Grupo de Inteligência Artificial - GIA Virtual Reality Tools OSG (Open Scene Graph) + ODE (Open Dynamics Engine) OSG – Primitive Objects Programa de Pós-Graduação em Computação Aplicada PIPCA Grupo de Inteligência Artificial - GIA 2 Virtual Reality Tools OSG (Open Scene Graph) + ODE (Open Dynamics Engine) OSG – Textures Programa de Pós-Graduação em Computação Aplicada PIPCA Grupo de Inteligência
    [Show full text]
  • 3D Computer Graphics Compiled By: H
    animation Charge-coupled device Charts on SO(3) chemistry chirality chromatic aberration chrominance Cinema 4D cinematography CinePaint Circle circumference ClanLib Class of the Titans clean room design Clifford algebra Clip Mapping Clipping (computer graphics) Clipping_(computer_graphics) Cocoa (API) CODE V collinear collision detection color color buffer comic book Comm. ACM Command & Conquer: Tiberian series Commutative operation Compact disc Comparison of Direct3D and OpenGL compiler Compiz complement (set theory) complex analysis complex number complex polygon Component Object Model composite pattern compositing Compression artifacts computationReverse computational Catmull-Clark fluid dynamics computational geometry subdivision Computational_geometry computed surface axial tomography Cel-shaded Computed tomography computer animation Computer Aided Design computerCg andprogramming video games Computer animation computer cluster computer display computer file computer game computer games computer generated image computer graphics Computer hardware Computer History Museum Computer keyboard Computer mouse computer program Computer programming computer science computer software computer storage Computer-aided design Computer-aided design#Capabilities computer-aided manufacturing computer-generated imagery concave cone (solid)language Cone tracing Conjugacy_class#Conjugacy_as_group_action Clipmap COLLADA consortium constraints Comparison Constructive solid geometry of continuous Direct3D function contrast ratioand conversion OpenGL between
    [Show full text]
  • Hierarchical Modeling and Scene Graphs
    Hierarchical Modeling and Scene Graphs Adapted from material prepared by Ed Angel University of Texas at Austin CS354 - Computer Graphics Spring 2009 Don Fussell Objectives Examine the limitations of linear modeling Symbols and instances Introduce hierarchical models Articulated models Robots Introduce Tree and DAG models Examine various traversal strategies Generalize the notion of objects to include lights, cameras, attributes Introduce scene graphs University of Texas at Austin CS354 - Computer Graphics Don Fussell Instance Transformation Start with a prototype object (a symbol) Each appearance of the object in the model is an instance Must scale, orient, position Defines instance transformation University of Texas at Austin CS354 - Computer Graphics Don Fussell Relationships in Car Model Symbol-instance table does not show relationships between parts of model Consider model of car Chassis + 4 identical wheels Two symbols Rate of forward motion determined by rotational speed of wheels University of Texas at Austin CS354 - Computer Graphics Don Fussell Structure Through Function Calls car(speed){ chassis() wheel(right_front); wheel(left_front); wheel(right_rear); wheel(left_rear); } • Fails to show relationships well • Look at problem using a graph University of Texas at Austin CS354 - Computer Graphics Don Fussell Graphs Set of nodes and edges (links) Edge connects a pair of nodes Directed or undirected Cycle: directed path that is a loop loop University of Texas at Austin CS354 - Computer Graphics Don Fussell Tree Graph in which each
    [Show full text]