Rapid Prototyping for Virtual Environments
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Rich Internet Applications
Rich Internet Applications (RIAs) A Comparison Between Adobe Flex, JavaFX and Microsoft Silverlight Master of Science Thesis in the Programme Software Engineering and Technology CARL-DAVID GRANBÄCK Department of Computer Science and Engineering CHALMERS UNIVERSITY OF TECHNOLOGY UNIVERSITY OF GOTHENBURG Göteborg, Sweden, October 2009 The Author grants to Chalmers University of Technology and University of Gothenburg the non-exclusive right to publish the Work electronically and in a non-commercial purpose make it accessible on the Internet. The Author warrants that he/she is the author to the Work, and warrants that the Work does not contain text, pictures or other material that violates copyright law. The Author shall, when transferring the rights of the Work to a third party (for example a publisher or a company), acknowledge the third party about this agreement. If the Author has signed a copyright agreement with a third party regarding the Work, the Author warrants hereby that he/she has obtained any necessary permission from this third party to let Chalmers University of Technology and University of Gothenburg store the Work electronically and make it accessible on the Internet. Rich Internet Applications (RIAs) A Comparison Between Adobe Flex, JavaFX and Microsoft Silverlight CARL-DAVID GRANBÄCK © CARL-DAVID GRANBÄCK, October 2009. Examiner: BJÖRN VON SYDOW Department of Computer Science and Engineering Chalmers University of Technology SE-412 96 Göteborg Sweden Telephone + 46 (0)31-772 1000 Department of Computer Science and Engineering Göteborg, Sweden, October 2009 Abstract This Master's thesis report describes and compares the three Rich Internet Application !RIA" frameworks Adobe Flex, JavaFX and Microsoft Silverlight. -
Tessellation and Rendering of Trimmed NURBS Models in Scene Graph Systems
Tessellation and rendering of trimmed NURBS models in scene graph systems Dissertation zur Erlangung des Doktorgrades (Dr. rer. nat.) der Mathematisch-Naturwissenschaftlichen Fakultat¨ der Rheinischen Friedrich-Wilhelms-Universitat¨ Bonn vorgelegt von Dipl.-Inform. Akos´ Balazs´ aus Budapest/Ungarn Munchen,¨ April 2008 Universitat¨ Bonn, Institut fur¨ Informatik II Romerstraße¨ 164, 53117 Bonn Angefertigt mit Genehmigung der Mathematisch-Naturwissenschaftlichen Fakultat¨ der Rheinischen Friedrich-Wilhelms Universitat¨ Bonn. Diese Dissertation ist auf dem Hochschulschriftenserver der ULB Bonn http://hss.ulb.uni-bonn.de/diss online elektronisch publiziert. Dekan: Prof. Dr. Armin B. Cremers 1. Referent: Prof. Dr. Reinhard Klein 2. Referent: Prof. Dr. Andreas Weber Tag der Promotion: 25.09.2008 Erscheinungsjahr: 2008 I To the memory of my father To my parents, for making all of this possible. II III Acknowledgements “Standing on the shoulders of giants” - Isaac Newton once wrote, and this sentence describes how I feel about the support many people have given me during the writing of this thesis. Acknowledging their support here is beyond doubt not enough to express my sincere appreciation for their help, yet, I hope they know what their backing has meant to me. First and foremost, I must thank my advisor Prof. Dr. Reinhard Klein, whose inspi- ration, patience and guidance made writing this thesis possible. His occasional nudges were also necessary to keep me on the right track and for this I cannot be grateful enough. I would like to thank -
Opengl Shading Languag 2Nd Edition (Orange Book)
OpenGL® Shading Language, Second Edition By Randi J. Rost ............................................... Publisher: Addison Wesley Professional Pub Date: January 25, 2006 Print ISBN-10: 0-321-33489-2 Print ISBN-13: 978-0-321-33489-3 Pages: 800 Table of Contents | Index "As the 'Red Book' is known to be the gold standard for OpenGL, the 'Orange Book' is considered to be the gold standard for the OpenGL Shading Language. With Randi's extensive knowledge of OpenGL and GLSL, you can be assured you will be learning from a graphics industry veteran. Within the pages of the second edition you can find topics from beginning shader development to advanced topics such as the spherical harmonic lighting model and more." David Tommeraasen, CEO/Programmer, Plasma Software "This will be the definitive guide for OpenGL shaders; no other book goes into this detail. Rost has done an excellent job at setting the stage for shader development, what the purpose is, how to do it, and how it all fits together. The book includes great examples and details, and good additional coverage of 2.0 changes!" Jeffery Galinovsky, Director of Emerging Market Platform Development, Intel Corporation "The coverage in this new edition of the book is pitched just right to help many new shader- writers get started, but with enough deep information for the 'old hands.'" Marc Olano, Assistant Professor, University of Maryland "This is a really great book on GLSLwell written and organized, very accessible, and with good real-world examples and sample code. The topics flow naturally and easily, explanatory code fragments are inserted in very logical places to illustrate concepts, and all in all, this book makes an excellent tutorial as well as a reference." John Carey, Chief Technology Officer, C.O.R.E. -
Javafx in Action by Simon Morris
Covers JavaFX v1.2 IN ACTION Simon Morris SAMPLE CHAPTER MANNING JavaFX in Action by Simon Morris Chapter 1 Copyright 2010 Manning Publications brief contents 1 ■ Welcome to the future: introducing JavaFX 1 2 ■ JavaFX Script data and variables 15 3 ■ JavaFX Scriptcode and structure 46 4 ■ Swing by numbers 79 5 ■ Behind the scene graph 106 6 ■ Moving pictures 132 7 ■ Controls,charts, and storage 165 8 ■ Web services with style 202 9 ■ From app to applet 230 10 ■ Clever graphics and smart phones 270 11 ■ Best of both worlds: using JavaFX from Java 300 appendix A ■ Getting started 315 appendix B ■ JavaFX Script: a quick reference 323 appendix C ■ Not familiar with Java? 343 appendix D ■ JavaFX and the Java platform 350 vii Welcome to the future: introducing JavaFX This chapter covers ■ Reviewing the history of the internet-based application ■ Asking what promise DSLs hold for UIs ■ Looking at JavaFX Script examples ■ Comparing JavaFX to its main rivals “If the only tool you have is a hammer, you tend to see every problem as a nail,” American psychologist Abraham Maslow once observed. Language advocacy is a popular pastime with many programmers, but what many fail to realize is that programming languages are like tools: each is good at some things and next to useless at others. Java, inspired as it was by prior art like C and Smalltalk, sports a solid general-purpose syntax that gets the job done with the minimum of fuss in the majority of cases. Unfortunately, there will always be those areas that, by their very nature, demand something a little more specialized. -
Java and C I CSE 351 Autumn 2016
L26: JVM CSE351, Spring 2018 Java Virtual Machine CSE 351 Spring 2018 Model of a Computer “Showing the Weather” Pencil and Crayon on Paper Matai Feldacker-Grossman, Age 4 May 22, 2018 L26: JVM CSE351, Spring 2018 Roadmap C: Java: Memory & data Integers & floats car *c = malloc(sizeof(car)); Car c = new Car(); x86 assembly c->miles = 100; c.setMiles(100); c->gals = 17; c.setGals(17); Procedures & stacks float mpg = get_mpg(c); float mpg = Executables free(c); c.getMPG(); Arrays & structs Memory & caches Assembly get_mpg: Processes language: pushq %rbp Virtual memory movq %rsp, %rbp ... Memory allocation popq %rbp Java vs. C ret OS: Machine 0111010000011000 code: 100011010000010000000010 1000100111000010 110000011111101000011111 Computer system: 2 L26: JVM CSE351, Spring 2018 Implementing Programming Languages Many choices in how to implement programming models We’ve talked about compilation, can also interpret Interpreting languages has a long history . Lisp, an early programming language, was interpreted Interpreters are still in common use: . Python, Javascript, Ruby, Matlab, PHP, Perl, … Interpreter Your source code implementation Your source code Binary executable Interpreter binary Hardware Hardware 3 L26: JVM CSE351, Spring 2018 An Interpreter is a Program Execute (something close to) the source code directly Simpler/no compiler – less translation More transparent to debug – less translation Easier to run on different architectures – runs in a simulated environment that exists only inside the interpreter process . Just port the interpreter (program), not the program-intepreted Slower and harder to optimize 4 L26: JVM CSE351, Spring 2018 Interpreter vs. Compiler An aspect of a language implementation . A language can have multiple implementations . Some might be compilers and other interpreters “Compiled languages” vs. -
Comparative Studies of 10 Programming Languages Within 10 Diverse Criteria Revision 1.0
Comparative Studies of 10 Programming Languages within 10 Diverse Criteria Revision 1.0 Rana Naim∗ Mohammad Fahim Nizam† Concordia University Montreal, Concordia University Montreal, Quebec, Canada Quebec, Canada [email protected] [email protected] Sheetal Hanamasagar‡ Jalal Noureddine§ Concordia University Montreal, Concordia University Montreal, Quebec, Canada Quebec, Canada [email protected] [email protected] Marinela Miladinova¶ Concordia University Montreal, Quebec, Canada [email protected] Abstract This is a survey on the programming languages: C++, JavaScript, AspectJ, C#, Haskell, Java, PHP, Scala, Scheme, and BPEL. Our survey work involves a comparative study of these ten programming languages with respect to the following criteria: secure programming practices, web application development, web service composition, OOP-based abstractions, reflection, aspect orientation, functional programming, declarative programming, batch scripting, and UI prototyping. We study these languages in the context of the above mentioned criteria and the level of support they provide for each one of them. Keywords: programming languages, programming paradigms, language features, language design and implementation 1 Introduction Choosing the best language that would satisfy all requirements for the given problem domain can be a difficult task. Some languages are better suited for specific applications than others. In order to select the proper one for the specific problem domain, one has to know what features it provides to support the requirements. Different languages support different paradigms, provide different abstractions, and have different levels of expressive power. Some are better suited to express algorithms and others are targeting the non-technical users. The question is then what is the best tool for a particular problem. -
Java FX and Java SE 6 Update N
Java FX and Java SE 6 Update N Raghavan “Rags” N. Srinivas CTO, Technology Evangelism Sun Microsystems Inc. 1 Agenda • State of Java • Java FX • Java SE 6 update N • Future 2 How Much Java Technology Is Out There? • >91% of all PCs run Java platform* • ~77% of all Java technology-enabled PCs run Sun’s Java Platform, Standard Edition (Java SE platform)** • Distribution through PC OEMs > Nine of the top ten PC OEMs ship the Sun JRE software > Representing >60% of all shipped PCs > 58 white box vendors have signed JRE software redistribution agreements • Download/installs > ~44m installations / month for the last six months on Windows > >50M in Jan, Feb, April, 2007 * Omniture, April 2007 **Mapsolute/Map24.com, April 2007 3 Completed Java SE Platform Downloads Windows numbers only 55,000,000 50,000,000 45,000,000 40,000,000 35,000,000 30,000,000 25,000,000 20,000,000 15,000,000 10,000,000 5,000,000 0 1/2003 1/2004 1/2005 1/2006 1/2007 4 Agenda • State of Java • Java FX • Java SE 6 update N • Future 5 Update N and JavaFX Java Comes Home to the Consumer 6 JavaFX 7 JavaFX Features • Java FX Script • Scene graph • Media • HTML • Multiple Device 8 J a v a F X S c r i p t 9 JavaFX Script • Language > Simple data binding > Fast prototyping > Declarative GUIs and graphics > Easily programmed animations • Compiler > Interpreter (now): okay for demos > Compiler (soon): necessary for real applications 10 The Java GUI Quagmire • Java Swing and 2D APIs are very powerful and yet > Why does it take a long time to write GUI programs? > How can we avoid the -
Desktop Java™ Technology
Desktop Java™ Technology Thorsten Laux Chet Haase Sun Microsystems, Inc. TS-3160 2007 JavaOneSM Conference | Session TS-3160 | Goal Where We Are Where We’re Going 2007 JavaOneSM Conference | Session TS-3160 | 2 Agenda State of the Desktop World Where We Are Going Consumer JRE Release Future Platform Features 2007 JavaOneSM Conference | Session TS-3160 | 3 Agenda State of the Desktop World Where We Are Going Consumer JRE Release Future Platform Features 2007 JavaOneSM Conference | Session TS-3160 | 4 How Much Java Technology Is Out There? ● > 91% of all PCs run Java platform* ● ~ 77% of all Java technology-enabled PCs run Sun’s Java Platform, Standard Edition (Java SE platform)** ● Distribution through PC OEMs ● Nine of the top ten PC OEMs ship the JRE software ● Representing > 60% of all shipped PCs ● 58 white box vendors have signed JRE software redistribution agreements ● Download/installs ● ~ 44m installations/month for the last six months on Windows ● > 50M in January, February, April, 2007 * Omniture, April 2007 **Mapsolute/Map24.com, April 2007 2007 JavaOneSM Conference | Session TS-3160 | 5 Completed Java SE Platform Downloads Windows numbers only 55,000,000 50,000,000 45,000,000 40,000,000 35,000,000 30,000,000 25,000,000 20,000,000 15,000,000 10,000,000 5,000,000 0 1/2003 1/2004 1/2005 1/2006 1/2007 2007 JavaOneSM Conference | Session TS-3160 | 6 Where Does the Time Go? Evans Data Survey: Fall 2006 45 40 35 30 Desktop 25 Server Mobile 20 Others 15 10 5 0 Percentage of Java Development Time Spent Spring 05 Fall 05 Spring 06 Fall -
A Performance Tale
A Performance Tale The evolution of binding in JavaFX Robert Field Brian Goetz Sun Microsystems, Inc. Overview • This talk will chronicle our ongoing work on making JavaFX Script not only powerful and fun but fast > We'll focus specifically on one feature: binding > This is a work in progress... Sun Microsystems, Inc. 2 VM vs Language • The VM provides certain base services > Compiler is free to decide which to expose and which not > Compiler can build additional features atop these – we call these language fictions > Some language fictions have no runtime cost > Checked exceptions > Others are hard to implement efficiently > Dynamic dispatch in JRuby > Data binding in JavaFX Sun Microsystems, Inc. 3 VM vs Language JavaFX language fictions Java language Data binding fictions On-replace Triggers JVM Overloading Overloading features Enums Function values Generics Var init override Exceptions Exceptions+checked Exceptions Constructors Constructors+chaining Constructors Primitive types+ops Primitive types+ops Primitive types+ops Interfaces Interfaces Mixins Access control Access control New access control Object model Object model Object model Memory model Memory model Memory model Dynamic linking Dynamic linking Dynamic linking GC GC GC Sun Microsystems, Inc. 4 Typical implementation evolution • Most languages follow a fairly standard evolution > For simple things like 32-bit arithmetic, let the VM do it > For most language fictions, implement in a runtime library Sun Microsystems, Inc. 5 Language Fictions in Runtime • Implement fictions in a runtime library (usually written in Java) > Have compiler emit calls to the runtime > Fast time-to-implementation > Flexible > Testable • Problem with runtime-centric approach can be performance > People can try out the cool features > And then notice how slow they are > Go from fan mail to hate mail in almost no time.. -
Co-Development, Delivery and Structural Analysis of a Computer Game Course
Otto-von-Guericke-University Magdeburg University of Otago, Dunedin Department of Computer Science Research Report Co-Development, Delivery and Structural Analysis of a Computer Game Course Lennart Nacke Supervisors: Professor Dr Maic Masuch (Otto-von-Guericke-University Magdeburg), Mr Simon McCallum (University of Otago) Nacke, Lennart: Co-Development, Delivery and Structural Analysis of a Computer Game Course Research Report, Otto-von-Guericke-University Magdeburg, June 2004. i Internship Task Computer game design is still a young, growing subject in computer science education. Due to the industry’s need for qualified personnel, who appreciate the complexities of computer game design, many new academic courses are being created. As computer game design is a new topic there is still much research required into ped- agogy and delivery. The focus of this internship is to assist in the development and delivery of an undergraduate course on computer game design. There are three phases to this internship: 1. Development This includes the research on suitable game engines, taking into account the limited budget available for the course. It also includes • the analysis of proposed lecture topics corresponding to the IGDA Curriculum Framework [IGD03] • research and study on software engineering topics, such as version control A systems like CVS and documentation with LTEX 2. Delivery Including assistance in lectures for the course as well as tutoring. To further help the students we also include: • an introduction to interactive fiction using the Inform environment and con- struction of the first assignment • the creation and maintenance of an interactive website accompanying the course, which includes a student feedback system, a forum and a maintenance system for lecture topics and textbook errata 3. -
Deltek Costpoint MES 2.0 LA Browser Installation Guide
Deltek Costpoint® Manufacturing Execution 2.0 Browser Installation Guide December 15, 2017 While Deltek has attempted to verify that the information in this document is accurate and complete, some typographical or technical errors may exist. The recipient of this document is solely responsible for all decisions relating to or use of the information provided herein. The information contained in this publication is effective as of the publication date below and is subject to change without notice. This publication contains proprietary information that is protected by copyright. All rights are reserved. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, or translated into another language, without the prior written consent of Deltek, Inc. This edition published December 2017. © Deltek, Inc. Deltek’s software is also protected by copyright law and constitutes valuable confidential and proprietary information of Deltek, Inc. and its licensors. The Deltek software, and all related documentation, is provided for use only in accordance with the terms of the license agreement. Unauthorized reproduction or distribution of the program or any portion thereof could result in severe civil or criminal penalties. All trademarks are the property of their respective owners. Browser Installation Guide ii Contents About this Manual ............................................................................................................................ 1 Scope ......................................................................................................................................... -
The Λ Abroad a Functional Approach to Software Components
The ¸ Abroad A Functional Approach To Software Components Een functionele benadering van software componenten (met een samenvatting in het Nederlands) Proefschrift ter verkrijging van de graad van doctor aan de Universiteit Utrecht op gezag van de Rector Magni¯cus, Prof. dr W.H. Gispen, ingevolge het besluit van het College voor Promoties in het openbaar te verdedigen op dinsdag 4 november 2003 des middags te 12.45 uur door Daniel Johannes Pieter Leijen geboren op 7 Juli 1973, te Alkmaar promotor: Prof. dr S.D. Swierstra, Universiteit Utrecht. co-promotor: dr H.J.M. Meijer, Microsoft Research. The work in this thesis has been carried out under the auspices of the research school IPA (Institute for Programming research and Algorithmics), and has been ¯nanced by Ordina. Printed by Febodruk 2003. Cover illustration shows the heavily cratered surface of the planet Mercury, photographed by the mariner 10. ISBN 90-9017528-8 Contents Dankwoord ix 1 Overview 1 2 H/Direct: a binary language interface for Haskell 5 2.1 Introduction ................................ 5 2.2 Background ................................ 6 2.2.1 Using the host or foreign language ............... 7 2.2.2 Using an IDL ........................... 8 2.2.3 Overview ............................. 9 2.3 The Foreign Function Interface ..................... 12 2.3.1 Foreign static import and export ................ 12 2.3.2 Variations on the theme ..................... 13 2.3.3 Stable pointers and foreign objects ............... 14 2.3.4 Dynamic import ......................... 15 2.3.5 Dynamic export ......................... 15 2.3.6 Implementing dynamic export .................. 18 2.3.7 Related work ........................... 19 iv Contents 2.4 Translating IDL to Haskell ......................