Integration of a 3D Rendering Engine with a Physics Simulator

Total Page:16

File Type:pdf, Size:1020Kb

Integration of a 3D Rendering Engine with a Physics Simulator Universitat de Lleida Escola Politècnica Superior Màster en Enginyeria de Programari Lliure Treball de final de Màster Integration of a 3D rendering engine with a physics simulator Author: Alberto Montañola Lacort Directors: Carlos Ansótegui Gil Juan Manuel Gimeno Illa June 2009 Integration of a 3D rendering engine with a physics simulator Index 1.Introduction.........................................................................................9 1.1.Project Description.......................................................................9 1.2.Project Goals..............................................................................10 1.3.Document structure...................................................................10 2.Definitions, concepts and technology...............................................13 2.1.Definitions..................................................................................13 2.1.1.The scene............................................................................13 2.1.2.Scene Objects......................................................................14 2.2.Technologies...............................................................................18 2.2.1.The rendering engine..........................................................18 2.2.1.1.The rendering process..................................................19 2.2.1.2.Low level programing interfaces...................................20 2.2.1.3.High level programing interfaces..................................21 2.2.2.The input system.................................................................21 2.2.3.The Graphical User Interface...............................................22 2.2.4.The physics simulation subsystem......................................23 2.2.5.The Audio subsystem..........................................................23 2.2.6.The Networking subsystem.................................................23 2.2.7.Application Logic.................................................................24 2.2.8.Linking the services.............................................................24 3.Requirements analysis......................................................................29 3.1.Basic idea of possible client applications...................................29 3.1.1.Educational..........................................................................29 3.1.2.A game................................................................................30 3.1.3.Scientific applications..........................................................32 3.2.Developing a Framework, the Hollywood principle.....................32 3.3.The clients of our framework......................................................33 3.4.Use Cases - Putting it all together..............................................34 Page iii Index Alberto Montañola Lacort 3.4.1.Developer tasks...................................................................35 3.4.1.1.Build..............................................................................35 3.4.1.2.Publish and distribute...................................................36 3.4.1.3.Maintain code...............................................................36 3.4.2.Content creator tasks..........................................................37 3.4.2.1.Material creation and edition........................................37 3.4.2.2.Testing...........................................................................37 3.4.2.3.Material management...................................................37 3.4.3.Application...........................................................................38 3.4.3.1.Configure......................................................................38 3.4.3.2.Provide basic services...................................................38 3.4.3.3.Register module............................................................39 4.State of the art..................................................................................41 4.1.Complete engines......................................................................42 4.1.1.Crystal Space.......................................................................42 4.1.2.Unreal Engine......................................................................43 4.1.3.id Tech.................................................................................44 4.1.4.Shark 3d..............................................................................45 4.2.Graphics.....................................................................................46 4.2.1.Ogre3d.................................................................................46 4.2.2.Irrlicht..................................................................................47 4.3.Physics.......................................................................................49 4.3.1.ODE.....................................................................................49 4.3.2.PhysX...................................................................................50 4.3.3.Bullet...................................................................................51 4.4.Sound.........................................................................................52 4.4.1.OpenAL................................................................................52 4.5.Summary of technologies...........................................................53 4.5.1.Complete engines................................................................53 4.5.2.Graphics engines.................................................................53 Page iv Integration of a 3D rendering engine with a physics simulator 4.5.3.Physics engines...................................................................53 5.Project infrastructures and community.............................................55 5.1.Source code repository...............................................................55 5.2.Bug reporting and patches.........................................................55 5.3.Documentation...........................................................................56 5.4.Message boards..........................................................................57 5.5.Linking authentication and users with all applications...............57 6.Selected technologies.......................................................................59 6.1.Python as the programing language..........................................59 6.1.1.Python programing architectures........................................61 6.1.2.Python specialized compiler – Psyco....................................62 6.2.Building tools..............................................................................63 6.2.1.SWIG....................................................................................63 6.2.2.Py++...................................................................................64 6.2.2.1.Boost.............................................................................65 6.2.3.Conclusions..........................................................................65 6.3.The graphics rendering library - Ogre 3d...................................66 6.4.The Graphical User Interface – CEGUI........................................68 6.5.The Input System – OIS..............................................................68 6.6.The Physics Simulator – ODE......................................................69 6.7.The Sound Library - OpenAL.......................................................69 6.8.Legal compatibility of library licenses........................................70 7.Engine Design – Assembling everything...........................................75 7.1.BootStrap...................................................................................75 7.1.1.Introduction.........................................................................75 7.1.2.Usage...................................................................................75 7.1.3.Involved classes...................................................................77 7.2.Engine facade.............................................................................78 7.3.World Manager...........................................................................82 7.4.Renderer.....................................................................................84 Page v Index Alberto Montañola Lacort 7.5.Input...........................................................................................85 7.6.GUI.............................................................................................86 7.7.Hook Manager............................................................................86 7.8.Physics.......................................................................................89 7.9.Sound.........................................................................................90 7.10.Network Manager.....................................................................90 8.Conclusions.......................................................................................91 9.Future work and open research lines................................................95 10.Appendix A – Download and build...................................................97 10.1.Minimal Recommenced Hardware requirements......................97 10.1.1.Building Requirements.......................................................97 10.1.2.Running Requirements......................................................97
Recommended publications
  • Audio Middleware the Essential Link from Studio to Game Design
    AUDIONEXT B Y A LEX A N D E R B R A NDON Audio Middleware The Essential Link From Studio to Game Design hen I first played games such as Pac Man and GameCODA. The same is true of Renderware native audio Asteroids in the early ’80s, I was fascinated. tools. One caveat: Criterion is now owned by Electronic W While others saw a cute, beeping box, I saw Arts. The Renderware site was last updated in 2005, and something to be torn open and explored. How could many developers are scrambling to Unreal 3 due to un- these games create sounds I’d never heard before? Back certainty of Renderware’s future. Pity, it’s a pretty good then, it was transistors, followed by simple, solid-state engine. sound generators programmed with individual memory Streaming is supported, though it is not revealed how registers, machine code and dumb terminals. Now, things it is supported on next-gen consoles. What is nice is you are more complex. We’re no longer at the mercy of 8-bit, can specify whether you want a sound streamed or not or handing a sound to a programmer, and saying, “Put within CAGE Producer. GameCODA also provides the it in.” Today, game audio engineers have just as much ability to create ducking/mixing groups within CAGE. In power to create an exciting soundscape as anyone at code, this can also be taken advantage of using virtual Skywalker Ranch. (Well, okay, maybe not Randy Thom, voice channels. but close, right?) Other than SoundMAX (an older audio engine by But just as a single-channel strip on a Neve or SSL once Analog Devices and Staccato), GameCODA was the first baffled me, sound-bank manipulation can baffle your audio engine I’ve seen that uses matrix technology to average recording engineer.
    [Show full text]
  • DXF Reference
    AutoCAD 2012 DXF Reference February 2011 © 2011 Autodesk, Inc. All Rights Reserved. Except as otherwise permitted by Autodesk, Inc., this publication, or parts thereof, may not be reproduced in any form, by any method, for any purpose. Certain materials included in this publication are reprinted with the permission of the copyright holder. Trademarks The following are registered trademarks or trademarks of Autodesk, Inc., and/or its subsidiaries and/or affiliates in the USA and other countries: 3DEC (design/logo), 3December, 3December.com, 3ds Max, Algor, Alias, Alias (swirl design/logo), AliasStudio, Alias|Wavefront (design/logo), ATC, AUGI, AutoCAD, AutoCAD Learning Assistance, AutoCAD LT, AutoCAD Simulator, AutoCAD SQL Extension, AutoCAD SQL Interface, Autodesk, Autodesk Intent, Autodesk Inventor, Autodesk MapGuide, Autodesk Streamline, AutoLISP, AutoSnap, AutoSketch, AutoTrack, Backburner, Backdraft, Beast, Built with ObjectARX (logo), Burn, Buzzsaw, CAiCE, Civil 3D, Cleaner, Cleaner Central, ClearScale, Colour Warper, Combustion, Communication Specification, Constructware, Content Explorer, Dancing Baby (image), DesignCenter, Design Doctor, Designer's Toolkit, DesignKids, DesignProf, DesignServer, DesignStudio, Design Web Format, Discreet, DWF, DWG, DWG (logo), DWG Extreme, DWG TrueConvert, DWG TrueView, DXF, Ecotect, Exposure, Extending the Design Team, Face Robot, FBX, Fempro, Fire, Flame, Flare, Flint, FMDesktop, Freewheel, GDX Driver, Green Building Studio, Heads-up Design, Heidi, HumanIK, IDEA Server, i-drop, Illuminate Labs
    [Show full text]
  • The Uses of Animation 1
    The Uses of Animation 1 1 The Uses of Animation ANIMATION Animation is the process of making the illusion of motion and change by means of the rapid display of a sequence of static images that minimally differ from each other. The illusion—as in motion pictures in general—is thought to rely on the phi phenomenon. Animators are artists who specialize in the creation of animation. Animation can be recorded with either analogue media, a flip book, motion picture film, video tape,digital media, including formats with animated GIF, Flash animation and digital video. To display animation, a digital camera, computer, or projector are used along with new technologies that are produced. Animation creation methods include the traditional animation creation method and those involving stop motion animation of two and three-dimensional objects, paper cutouts, puppets and clay figures. Images are displayed in a rapid succession, usually 24, 25, 30, or 60 frames per second. THE MOST COMMON USES OF ANIMATION Cartoons The most common use of animation, and perhaps the origin of it, is cartoons. Cartoons appear all the time on television and the cinema and can be used for entertainment, advertising, 2 Aspects of Animation: Steps to Learn Animated Cartoons presentations and many more applications that are only limited by the imagination of the designer. The most important factor about making cartoons on a computer is reusability and flexibility. The system that will actually do the animation needs to be such that all the actions that are going to be performed can be repeated easily, without much fuss from the side of the animator.
    [Show full text]
  • Multimodal Behavior Realization for Embodied Conversational Agents
    Multimed Tools Appl DOI 10.1007/s11042-010-0530-2 Multimodal behavior realization for embodied conversational agents Aleksandra Čereković & Igor S. Pandžić # Springer Science+Business Media, LLC 2010 Abstract Applications with intelligent conversational virtual humans, called Embodied Conversational Agents (ECAs), seek to bring human-like abilities into machines and establish natural human-computer interaction. In this paper we discuss realization of ECA multimodal behaviors which include speech and nonverbal behaviors. We devise RealActor, an open-source, multi-platform animation system for real-time multimodal behavior realization for ECAs. The system employs a novel solution for synchronizing gestures and speech using neural networks. It also employs an adaptive face animation model based on Facial Action Coding System (FACS) to synthesize face expressions. Our aim is to provide a generic animation system which can help researchers create believable and expressive ECAs. Keywords Multimodal behavior realization . Virtual characters . Character animation system 1 Introduction The means by which humans can interact with computers is rapidly improving. From simple graphical interfaces Human-Computer interaction (HCI) has expanded to include different technical devices, multimodal interaction, social computing and accessibility for impaired people. Among solutions which aim to establish natural human-computer interaction the subjects of considerable research are Embodied Conversational Agents (ECAs). Embodied Conversation Agents are graphically embodied virtual characters that can engage in meaningful conversation with human users [5]. Their positive impacts in HCI have been proven in various studies [16] and thus they have become an essential element of A. Čereković (*) : I. S. Pandžić Faculty of Electrical Engineering and Computing, University of Zagreb, Zagreb, Croatia e-mail: [email protected] I.
    [Show full text]
  • An Embeddable, High-Performance Scripting Language and Its Applications
    Lua an embeddable, high-performance scripting language and its applications Hisham Muhammad [email protected] PUC-Rio, Rio de Janeiro, Brazil IntroductionsIntroductions ● Hisham Muhammad ● PUC-Rio – University in Rio de Janeiro, Brazil ● LabLua research laboratory – founded by Roberto Ierusalimschy, Lua's chief architect ● lead developer of LuaRocks – Lua's package manager ● other open source projects: – GoboLinux, htop process monitor WhatWhat wewe willwill covercover todaytoday ● The Lua programming language – what's cool about it – how to make good uses of it ● Real-world case study – an M2M gateway and energy analytics system – making a production system highly adaptable ● Other high-profile uses of Lua – from Adobe and Angry Birds to World of Warcraft and Wikipedia Lua?Lua? ● ...is what we tend to call a "scripting language" – dynamically-typed, bytecode-compiled, garbage-collected – like Perl, Python, PHP, Ruby, JavaScript... ● What sets Lua apart? – Extremely portable: pure ANSI C – Very small: embeddable, about 180 kiB – Great for both embedded systems and for embedding into applications LuaLua isis fullyfully featuredfeatured ● All you expect from the core of a modern language – First-class functions (proper closures with lexical scoping) – Coroutines for concurrency management (also called "fibers" elsewhere) – Meta-programming mechanisms ● object-oriented ● functional programming ● procedural, "quick scripts" ToTo getget licensinglicensing outout ofof thethe wayway ● MIT License ● You are free to use it anywhere ● Free software
    [Show full text]
  • WP-MIRROR 0.7.4 Reference Manual
    WP-MIRROR 0.7.4 Reference Manual Dr. Kent L. Miller November 22, 2014 DRAFT 1 DRAFT 2 To Tylery DRAFT i WP-MIRROR 0.7.4 Reference Manual Legal Notices Copyright (C) 2012–2014 Dr. Kent L. Miller. All rights reserved. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”. THIS PUBLICATION AND THE INFORMATION HEREIN ARE FURNISHED AS IS, ARE FURNISHED FOR INFORMATIONAL USE ONLY, ARE SUBJECT TO CHANGE WITH- OUT NOTICE, AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY THE AU- THOR. THE AUTHOR ASSUMES NO RESPONSIBILITY OR LIABILITY FOR ANY ER- RORS OR INACCURACIES THAT MAY APPEAR IN THE INFORMATIONAL CONTENT CONTAINED IN THIS MANUAL, MAKES NO WARRANTY OF ANY KIND (EXPRESS, IMPLIED, OR STATUTORY) WITH RESPECT TO THIS PUBLICATION,AND EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES OF MERCHANTABILITY, FITNESS FOR PAR- TICULAR PURPOSES, AND NONINFRINGEMENT OF THIRD-PARTY RIGHTS. The WP-MIRROR logotype (see margin) was released by the author into the public domain on 2014-Apr-10. See https://www.mediawiki.org/wiki/File:Wp-mirror.png. This logotype fea- tures a sunflower that is derived from 119px-Mediawiki logo sunflower Tournesol 5x rev2.png, which is also in the public domain. See https://en.wikipedia.org/wiki/File:Mediawiki_logo_sunflower_Tournesol_5x.png.
    [Show full text]
  • Staying Without Power a Case Study of the Drupal Content Management System by Qi Zhang
    Staying without Power A Case Study of the Drupal Content Management System By Qi Zhang Bachelor of Science in Engineering, Jiangxi Science and Technology Normal University (1999) Interfaculty initiative in information studies program, University of Tokyo (2006) Master of international studies, University of Tokyo (2008) Submitted to the System Design and Management Program in Partial Fulfillment of the Requirements for the degree of Master of Science In EngIneerIng and Management ARCHNES At the A/SSACHUSETTS INS fW E OF TECHNOLOGY Massachusetts Institute of Technology AUG 20 2013 May 2012 y2012 RRARIES C 2012 Massachusetts Institute of Technology Signature of Author Qi Zhang Certified by -. Michael A. Cusumano SMR Distinguished Professor of Management T( esis Supervisor Certified by_ Patrick Hale Director System Design and Management Program THIS PAGE IS INTENTIONALLY LEFT BLANK Acknowledgements I run the knowledge that I learned from M.I.T the most wisdom school of the world. It works AMAZING! I would also like to thank Michael, Imran and Pat who staying with me when I am without power. Love in M.I.T; Love in USA XlApq, M31 THIS PAGE IS INTENTIONALLY LEFT BLANK Staying without Power By Qi Zhang Submitted to the System Design and Management Program in Partial Fulfillment of the Requirements for the degree of Master of Science In Engineering and Management ABSTRACT This main focus of this thesis is not to describe the inner workings of the Ecosystem or software; it is to help young entrepreneurs with limited resources to not just survive, but thrive in a competitive business environment. Thesis Supervisor: Michael A.
    [Show full text]
  • Opera Acquires Yoyo Games, Launches Opera Gaming
    Opera Acquires YoYo Games, Launches Opera Gaming January 20, 2021 - [Tuck-In] Acquisition forms the basis for Opera Gaming, a new division focused on expanding Opera's capabilities and monetization opportunities in the gaming space - Deal unites Opera GX, world's first gaming browser and popular game development engine, GameMaker - Opera GX hit 7 million MAUs in December 2020, up nearly 350% year-over-year DUNDEE, Scotland and OSLO, Norway, Jan. 20, 2021 /PRNewswire/ -- Opera (NASDAQ: OPRA), the browser developer and consumer internet brand, today announced its acquisition of YoYo Games, creator of the world's leading 2D game engine, GameMaker Studio 2, for approximately $10 million. The tuck-in acquisition represents the second building block in the foundation of Opera Gaming, a new division within Opera with global ambitions and follows the creation and rapid growth of Opera's innovative Opera GX browser, the world's first browser built specifically for gamers. Krystian Kolondra, EVP Browsers at Opera, said: "With Opera GX, Opera had adapted its proven, innovative browser tech platform to dramatically expand its footprint in gaming. We're at the brink of a shift, when more and more people start not only playing, but also creating and publishing games. GameMaker Studio2 is best-in-class game development software, and lowers the barrier to entry for anyone to start making their games and offer them across a wide range of web-supported platforms, from PCs, to, mobile iOS/Android devices, to consoles." Annette De Freitas, Head of Business Development & Strategic Partnerships, Opera Gaming, added: "Gaming is a growth area for Opera and the acquisition of YoYo Games reflects significant, sustained momentum across both of our businesses over the past year.
    [Show full text]
  • Apple IOS Game Development Engines P
    SWE578 2012S 1 Apple IOS Game Development Engines Abstract—iOS(formerly called iPhone OS) is Apple's section we make comparison and draw our conclusion. mobile operating system that is used on the company's mobile device series such as iPhone, iPod Touch and iPad which II. GAME ENGINE ANATOMY have become quite popular since the first iPhone launched. There are more than 100,000 of the titles in the App Store are A common misconception is that a game engine only games. Many of the games in the store are 2D&3D games and draws the graphics that we see on the screen. This is of it can be said that in order to develop a complicated 3D course wrong, for a game engine is a collection of graphical game, using games engines is inevitable. interacting software that together makes a single unit that runs an actual game. The drawing process is one of the I. INTRODUCTION subsystems that could be labeled as the rendering With its unique features such as multitouch screen and engine[3]. accelerometer and graphics capabilities iOS devices has Game engines provide a visual development tools in become one of the most distinctive mobile game addition to software components. These tools are provided platforms. More than 100,000 of the titles in the App Store in an integrated development environment in order to are games. With the low development cost and ease of create games rapidly. Game developers attempt to "pre- publishing all make very strange but new development invent the wheel” elements while creating games such as opportunity for developers.[2]Game production is a quite graphics, sound, physics and AI functions.
    [Show full text]
  • A Survey of Technologies for Building Collaborative Virtual Environments
    The International Journal of Virtual Reality, 2009, 8(1):53-66 53 A Survey of Technologies for Building Collaborative Virtual Environments Timothy E. Wright and Greg Madey Department of Computer Science & Engineering, University of Notre Dame, United States Whereas desktop virtual reality (desktop-VR) typically uses Abstract—What viable technologies exist to enable the nothing more than a keyboard, mouse, and monitor, a Cave development of so-called desktop virtual reality (desktop-VR) Automated Virtual Environment (CAVE) might include several applications? Specifically, which of these are active and capable display walls, video projectors, a haptic input device (e.g., a of helping us to engineer a collaborative, virtual environment “wand” to provide touch capabilities), and multidimensional (CVE)? A review of the literature and numerous project websites indicates an array of both overlapping and disparate approaches sound. The computing platforms to drive these systems also to this problem. In this paper, we review and perform a risk differ: desktop-VR requires a workstation-class computer, assessment of 16 prominent desktop-VR technologies (some mainstream OS, and VR libraries, while a CAVE often runs on building-blocks, some entire platforms) in an effort to determine a multi-node cluster of servers with specialized VR libraries the most efficacious tool or tools for constructing a CVE. and drivers. At first, this may seem reasonable: different levels of immersion require different hardware and software. Index Terms—Collaborative Virtual Environment, Desktop However, the same problems are being solved by both the Virtual Reality, VRML, X3D. desktop-VR and CAVE systems, with specific issues including the management and display of a three dimensional I.
    [Show full text]
  • Development of the Virtual Ela®-House
    DEVELOPMENT OF THE VIRTUAL ELA®-HOUSE Milán Horváth1, Csaba Dániel2, Jacqueline Stark3 and Cecília Sik Lanyi4 1, 2, 4Department of Image Processing and Neurocomputing, University of Pannonia, Veszprém, Hungary 3 Austrian Academy of Sciences, Department of Linguistics and Communication Research, Vienna, Austria Keywords: Virtual reality, aphasia, language therapy. Abstract: In this paper, the rationale for the development and the process of creating the Virtual ELA® (Everyday Life Activities)-House are described. The Virtual ELA®-House is an innovative therapy program designed for use with clients with language and speech disorders and/or with other cognitive neuropsychological disorders, which result from brain damage, e.g. aphasia, apraxia of speech, neglect, etc. The Virtual Reality setting is chosen as a modern and relevant therapy setting which imitates real everyday life scenarios. Computer supported cognitive and language therapy allows for repetitive application in the clinical and home setting which is necessary for learning to take place. The advantages of employing a software program based on a Virtual Environment, in particular the Virtual ELA® -House, are discussed. 1 INTRODUCTION Thus, an important goal in this project was to attain a high degree of correspondence with the analogue Virtual Reality offers a wide range of applications in ELA®-picture stimuli, which is also required for an the field of cognitive neuropsychology, both in authentic virtual world. In a virtual world the diagnosing cognitive deficits and in treating them. designer of a task attempts to capture all aspects Virtual Reality is also a useful tool for skill-building which a particular task requires, but it is very crucial and training by creating a virtual setting, which for it to be true to nature.
    [Show full text]
  • Google Adquiere Motorola Mobility * Las Tablets PC Y Su Alcance * Synergy 1.3.1 * Circuito Impreso Al Instante * Proyecto GIMP-Es
    Google adquiere Motorola Mobility * Las Tablets PC y su alcance * Synergy 1.3.1 * Circuito impreso al instante * Proyecto GIMP-Es El vocero . 5 Premio Concurso 24 Aniversario de Joven Club Editorial Por Ernesto Rodríguez Joven Club, vivió el verano 2011 junto a ti 6 Aniversario 24 de los Joven Club La mirada de TINO . Cumple TINO 4 años de Los usuarios no comprueba los enlaces antes de abrirlos existencia en este septiembre, el sueño que vió 7 Un fallo en Facebook permite apropiarse de páginas creadas la luz en el 2007 es hoy toda una realidad con- Google adquiere Motorola Mobility vertida en proeza. Esfuerzo, tesón y duro bre- gar ha acompañado cada día a esta Revista que El escritorio . ha sabido crecerse en sí misma y superar obs- 8 Las Tablets PC y su alcance táculos y dificultades propias del diario de cur- 11 Propuesta de herramientas libre para el diseño de sitios Web sar. Un colectivo de colaboración joven, entu- 14 Joven Club, Infocomunidad y las TIC siasta y emprendedor –bajo la magistral con- 18 Un vistazo a la Informática forense ducción de Raymond- ha sabido mantener y El laboratorio . desarrollar este proyecto, fruto del trabajo y la profesionalidad de quienes convergen en él. 24 PlayOnLinux TINO acumula innegables resultados en estos 25 KMPlayer 2.9.2.1200 años. Más de 350 000 visitas, un volumen apre- 26 Synergy 1.3.1 ciable de descargas y suscripciones, servicios 27 imgSeek 0.8.6 estos que ha ido incorporando, pero por enci- El entrevistado . ma de todo está el agradecimiento de muchos 28 Hilda Arribas Robaina por su existencia, por sus consejos, su oportu- na información, su diálogo fácil y directo, su uti- El taller .
    [Show full text]