Visualization of Prague Castle

Total Page:16

File Type:pdf, Size:1020Kb

Visualization of Prague Castle Master’s Thesis Czech Technical University in Prague Faculty of Electrical Engineering F3 Department of Computer Graphics and Interaction Visualization of Prague Castle Bc. Antonín Smrček Study Programme: Open Informatics Field of Study: Computer Graphics and Interaction January 2016 Supervisor: prof. Ing. Jiří Žára, CSc. Acknowledgement / Declaration I would like to thank prof. Ing. Jiří I hereby declare that I have completed Žára, CSc., for supervision of my the- this thesis independently and that I have sis. He provided me with invaluable in- listed all the literature and publications sights, feedback on work in progress and used. his guidance was especially important I have no objection to usage of this in finishing stages of the project. My work in compliance with the act §60 thanks are also due to all friends who Zákon č. 121/2000Sb. (copyright law), helped me with the user testing. Finally, and with the rights connected with the I want to particularly thank my mother copyright act including the changes in for her support throughout my studies. the act. In Prague on January 11, 2016 ........................................ v Abstrakt / Abstract Tato diplomová práce se zabývá vý- This thesis describes a development vojem webové aplikace která vizualizuje of the web-based 3D virtual walk ap- prostředí Pražského hradu a umožňuje plication which visualizes the Prague 3D virtuální procházku v rámci jeho Castle and provides the users with an prostor. Důraz je kladen na grafic- information about interesting objects kou kvalitu a výkon aplikace. Obdobné in the area, with focus on graphical systémy pro vizualizaci měst jsou podro- quality and performance of the ap- beny analýze a jsou diskutovány možné plication. Similar city visualization volby technologií pro implementaci. Je applications are analyzed and choice of vysvětlen proces návrhu a implementace technologies used for the implementa- uživatelského rozhraní, stejně tak jako tion is discussed. Process of the user zvolený přístup ohledně modelování, interface design and implementation is začlenění moderních vizuálních efektů explained, as well as the approach taken a dosažení výkonnostních optimalizací. in modeling, incorporating modern vi- Finální aplikace je podrobena uživa- sual effects and achieving performance telskému a výkonnostnímu testování optimizations. We have performed user a je provedeno srovnání s obdobnými testing and also measured the applica- vizualizačními aplikacemi. tion’s performance. Finally, we compare Klíčová slova: Pražský hrad, webová the application to other visualization vizualizační aplikace, virtuální pro- applications. cházka, WebGL, Three.js Keywords: Prague Castle, web-based Překlad titulu: Vizualizace Pražského visualization, virtual walk, WebGL, hradu Three.js vi Contents / 1 Introduction ........................1 4.1 Choice of technology ........... 41 1.1 Thesis structure ..................1 4.2 Application requirements ...... 41 2 Visualization systems analysis.....3 4.2.1 Functional require- 2.1 Goals .............................3 ments ..................... 41 2.2 Map services .....................4 4.2.2 Non-functional re- 2.2.1 Google Maps ...............4 quirements ............... 42 2.2.2 Google Earth...............5 5 Software structure ............... 43 2.2.3 Mapy.cz .................. 10 5.1 Architecture requirements ..... 43 2.2.4 Here ...................... 11 5.2 Components .................... 45 2.2.5 Comparison of map 6 Virtual content creation ......... 48 services ................... 12 6.1 Goals ........................... 48 2.3 Standalone presentations ...... 15 6.2 Choosing the content cre- 2.3.1 Virtual Old Prague ...... 16 ation programs ................. 50 2.3.2 Saint Jean Cathedral .... 18 6.3 Extent of the content creation . 50 2.3.3 Interactive demos by 6.4 References for the content Bitmanagement Soft- creation......................... 51 ware ...................... 20 6.5 Textures creation .............. 51 2.3.4 3D tours by Internet 6.5.1 Hardware limitations .... 51 Dominion ................. 24 6.5.2 Acquiring photographs 2.3.5 3D Ancient Wonders..... 27 for textures ............... 52 2.3.6 Timewalk................. 28 6.5.3 Creating textures from 2.3.7 Comparison of stan- photographs .............. 53 dalone applications ...... 29 6.5.4 Retouching textures in 2.4 Conclusion of similar sys- GIMP .................... 54 tems analysis ................... 30 6.5.5 Tileable textures ......... 55 3 Technology analysis .............. 32 6.5.6 Approximating com- 3.1 Goals ........................... 32 plex objects by textures . 58 3.2 VRML .......................... 33 6.6 Models creation ................ 60 3.3 X3D (X3DOM) ................ 33 6.6.1 Modeling process out- 3.4 Adobe Flash.................... 34 line ....................... 60 3.5 Google Native Client .......... 34 6.6.2 Creating details .......... 60 3.6 WebGL + JavaScript com- 6.6.3 Handling two-sided pilable language ................ 35 faces ...................... 61 3.6.1 TypeScript ............... 35 6.6.4 Productivity tips ......... 61 3.6.2 Dart ...................... 36 6.6.5 Environment modeling .. 62 3.6.3 Google Web Toolkit ..... 36 6.7 Exporting from SketchUp ..... 64 3.6.4 Emscripten ............... 36 6.7.1 Issues with exporting .... 65 3.7 Comparison of technologies.... 37 6.8 Statistics ....................... 66 3.7.1 Choosing JavaScript- 7 User interface .................... 67 compilable program- 7.1 Goals ........................... 67 ming language............ 38 7.2 UI functionality ................ 68 3.7.2 Middleware above We- 7.3 Implementation, design and bGL ...................... 38 UI behavior .................... 70 3.8 Conclusion of technology 7.3.1 Technologies and li- analysis ......................... 40 braries .................... 70 4 Project specification ............. 41 vii 7.3.2 Left part of HUD and 11.2.2 Results .................. 126 virtual keyboard ......... 73 11.2.3 Conclusion .............. 128 7.3.3 Viewpoint change ........ 73 11.3 Performance testing........... 129 7.3.4 Map ...................... 74 11.3.1 Conclusion .............. 130 7.3.5 Minimap.................. 76 12 Conclusion ....................... 131 7.3.6 Interaction with ob- 12.1 Future work ................... 132 jects of interest........... 77 References ....................... 133 7.3.7 Translation mechanism .. 79 A Abbreviations .................... 139 8 Collision detection ............... 83 B Additional images ............... 140 8.1 Goals ........................... 83 C Screenshots and comparisons .. 143 8.2 Collision detection ap- D Installation manual .............. 150 proaches ........................ 84 D.1 Running the application ...... 150 8.3 Heightmap implementation.... 88 D.1.1 Running the applica- 8.3.1 Creation of the tion locally .............. 150 heightmap ................ 89 D.2 Requirements and trou- 8.3.2 Using the heightmap..... 90 bleshooting .................... 151 8.3.3 Heightmap layers ........ 92 D.2.1 Minimum computer 8.4 Principles of the applica- configuration ............ 151 tion’s collision detection ....... 93 D.2.2 Supported web 8.5 Implementation of collision browsers ................. 151 detection ....................... 95 D.2.3 Graphic card drivers .... 151 9 Performance optimizations ...... 99 E User manual ..................... 152 9.1 Goals and considerations ...... 99 F Contents of the enclosed 9.2 Three.js and meshes ........... 99 DVD-ROM....................... 158 9.3 Rendering approaches ........ 101 9.3.1 Naive rendering ap- proach ................... 101 9.3.2 Improved rendering approach – Mesh merg- ing ....................... 105 9.3.3 Mesh merging – several groups ................... 112 9.4 Possible performance im- provements in the future ..... 114 10 Lighting and visual improve- ment techniques................. 116 10.1 Goals .......................... 116 10.2 Illumination models........... 116 10.3 Shadows ....................... 119 10.4 Lighting and other tech- niques.......................... 122 10.5 Reducing rendering artefacts . 123 11 Testing ........................... 125 11.1 Goals .......................... 125 11.2 User testing ................... 125 11.2.1 Testing scenario ......... 125 viii Tables / Figures 2.1. Comparison of map services ... 12 2.1. Google Maps 3D (bird’s eye) 2.2. Comparison of standalone – Prague Castle ..................6 visualization applications ...... 29 2.2. Google Earth – Prague Castle ...8 3.1. Comparison of technologies .... 37 2.3. Google Earth – virtual walk 3.2. Comparison of JavaScript- in the Prague Castle .............9 compilable languages........... 38 2.5. Mapy.cz – Prague Castle 2 .... 10 3.3. Comparison of middleware 2.4. Mapy.cz – Prague Castle....... 11 above WebGL .................. 39 2.6. Here – Prague Castle .......... 13 6.1. Tileable vs single textures 2.7. Visual comparison of map comparison ..................... 56 services ......................... 14 8.1. Collision events’ properties 2.8. Virtual Old Prague ............ 17 summary........................ 98 2.9. Virtual Old Prague – options.. 18 9.1. Time complexity – naive ren- 2.10. Saint Jean Cathedral........... 19 dering approach ............... 105 2.11. 3D City Visualization .......... 21 9.2. Time complexity – Mesh 2.12. City visualization with night merging ........................ 111 simulation ...................... 22 9.3. Time complexity – Mesh 2.13. Cathedral ....................... 23 merging with groups .......... 112 2.14.
Recommended publications
  • Effects and Opportunities of Native Code Extensions For
    Effects and Opportunities of Native Code Extensions for Computationally Demanding Web Applications DISSERTATION zur Erlangung des akademischen Grades Dr. Phil. im Fach Bibliotheks- und Informationswissenschaft eingereicht an der Philosophischen Fakultät I Humboldt-Universität zu Berlin von Dipl. Inform. Dennis Jarosch Präsident der Humboldt-Universität zu Berlin: Prof. Dr. Jan-Hendrik Olbertz Dekan der Philosophischen Fakultät I: Prof. Michael Seadle, Ph.D. Gutachter: 1. Prof. Dr. Robert Funk 2. Prof. Michael Seadle, Ph.D. eingereicht am: 28.10.2011 Tag der mündlichen Prüfung: 16.12.2011 Abstract The World Wide Web is amidst a transition from interactive websites to web applications. An increasing number of users perform their daily computing tasks entirely within the web browser — turning the Web into an important platform for application development. The Web as a platform, however, lacks the computational performance of native applications. This problem has motivated the inception of Microsoft Xax and Google Native Client (NaCl), two independent projects that fa- cilitate the development of native web applications. Native web applications allow the extension of conventional web applications with compiled native code, while maintaining operating system portability. This dissertation determines the bene- fits and drawbacks of native web applications. It also addresses the question how the performance of JavaScript web applications compares to that of native appli- cations and native web applications. Four application benchmarks are introduced that focus on different performance aspects: number crunching (serial and parallel), 3D graphics performance, and data processing. A performance analysis is under- taken in order to determine and compare the performance characteristics of native C applications, JavaScript web applications, and NaCl native web applications.
    [Show full text]
  • The Uch Enmek Example(Altai Republic,Siberia)
    Faculty of Environmental Sciences Institute for Cartography Master Thesis Concept and Implementation of a Contextualized Navigable 3D Landscape Model: The Uch Enmek Example(Altai Republic,Siberia). Mussab Mohamed Abuelhassan Abdalla Born on: 7th December 1983 in Khartoum Matriculation number: 4118733 Matriculation year: 2014 to achieve the academic degree Master of Science (M.Sc.) Supervisors Dr.Nikolas Prechtel Dr.Sander Münster Submitted on: 18th September 2017 Faculty of Environmental Sciences Institute for Cartography Task for the preparation of a Master Thesis Name: Mussab Mohamed Abuelhassan Abdalla Matriculation number: 4118733 Matriculation year: 2014 Title: Concept and Implementation of a Contextualized Navigable 3D Landscape Model: The Uch Enmek Example(Altai Republic,Siberia). Objectives of work Scope/Previous Results:Virtual Globes can attract and inform websites visitors on natural and cultural objects and sceneries.Geo-centered information transfer is suitable for majority of sites and artifacts. Virtual Globes have been tested with an involvement of TUD institutes: e.g. the GEPAM project (Weller,2013), and an archaeological excavation site in the Altai Mountains ("Uch enmek", c.f. Schmid 2012, Schubert 2014).Virtual Globes technology should be flexible in terms of the desired geo-data configuration. Research data should be controlled by the authors. Modes of linking geo-objects to different types of meta-information seems evenly important for a successful deployment. Motivation: For an archaeological conservation site ("Uch Enmek") effort has already been directed into data collection, model development and an initial web-based presentation.The present "Open Web Globe" technology is not developed any further, what calls for a migra- tion into a different web environment.
    [Show full text]
  • A Streamable Format for Generalized Web-Based 3D Data Transmission
    SRC - A Streamable Format for Generalized Web-based 3D Data Transmission Max Limper1;2 Maik Thoner¨ 1 Johannes Behr1 Dieter W. Fellner1;2 ∗ 1 Fraunhofer IGD 2 TU Darmstadt (a) 17% triangles, (b) 86% triangles, (c) 86% triangles, (d) 100% triangles, low-resolution texture low-resolution texture high-resolution texture high-resolution texture Figure 1: Streaming of mesh data, progressively encoded with the POP Buffer method, using our proposed SRC container format. We minimize the number of HTTP requests, and at the same time allow for a progressive transmission of geometry and texture information, using interleaved data chunks. Our proposed format is highly flexible, well-aligned with GPU structures, and can easily be integrated into X3D. Abstract 1 Introduction A problem that still remains with today’s technologies for 3D as- Recently, various efforts have been made in order to design file set transmission is the lack of progressive streaming of all relevant formats for transmission of 3D geometry, for the use with high- mesh and texture data, with a minimal number of HTTP requests. performance 3D applications on the Web. The ultimate goal is to Existing solutions, like glTF or X3DOM’s geometry formats, either design a solution that scales well with large data sets, enables a pro- send all data within a single batch, or they introduce an unnecessary gressive transmission of mesh data, eliminates decode time through large number of requests. Furthermore, there is still no established direct GPU uploads, and minimizes the number of HTTP requests. format for a joined, interleaved transmission of geometry data and Notable results include the WebGL-Loader library [Chun 2012], texture data.
    [Show full text]
  • Web3d-X3D-SIGGRAPH 2018 Xr Futures.Pdf
    All browsers All platforms Geospatial Simulation Medical Humanoid Animation Design VR Technologies 3D Printing Augmented Reality &Scanning X3D: Your backbone for new dimensions of 3D • • … • • • • • • Implementations on multiple platforms: desktop, mobile, Web • • www.web3d.org/what-x3d X-ite Key Factors of durable X3D • Long Term Stability • Visualization • Performance • Integration • Data Management • Real-time Interactivity • Security • Ease of Use X3D Capabilities High Poly, Oculus Drilling Rig Progressive Loading Support Animation, interaction, Happy Buddha Classroom shadows, details Web3D… VR++ … Online Evolution ... SIGGRAPH 2018 BOF Nicholas Polys Johannes Behr MitchWilliams Anita Havele 2017-2018 News ● X_ITE library updated ● Deployed in X3D examples archive ● X3DOM support for Gltf and WebVR ● New Castle3D X3D Game Engine release ● H-ANIM 2.0 under ISO-IEC ballot ● 3D Print Exchange (NIH, Navy) upgrades to Drupal 8 ● New Scanning initiatives and vendor support 3D on the Web Engines access access worlds by url ● Stand-alone Plug-ins in Web browsers ● Native WebGL in mobile browsers ○ X3DOM ○ X_ITE ○ GearVR ● Gltf 2.0 support (PBR) All HMD platforms! ● WebVR ● X3DOM ● GearVR VR on the Web Engines access worlds by url ● All HMD platforms! ● WebVR ● X3DOM ● GearVR WebVR With X3DOM Javascript library ● Photospheres ● Videospheres ● Volumes ● Heritage ● 3D city models ● ... X3DOM Johannes Behr, Timo Sturm Fraunhofer IGD GearVR Mitch Williams, Samsung Spec Relationships Process for New Capabilities HTML5 Open Web Arch • Harmonization of ID linkages and event models, HTML DOM and X3D • Composition with Cascading Style Sheets (CSS) • Compatibility + usage of Scalable Vector Graphics (SVG) • Accessibility, annotations, internationalization (I18N), etc. • X3D as presentation layer compatible with Semantic Web • Linkage of hybrid model data (MOST) Some aspects are standardization, others simply aligning best practices.
    [Show full text]
  • Gltf Overview Jan21
    glTF Overview Efficient, reliable transmission of 3D Assets Neil Trevett Khronos President VP Developer Ecosystems, NVIDIA [email protected]|@neilt3d January 2021 This work is licensed under a Creative Commons Attribution 4.0 International License © The Khronos® Group Inc. 2021 - Page 1 glTF – The JPEG of 3D! glTF spec development on open GitHub – get involved! https://github.com/KhronosGroup/glTF Compact to Transmit Simple and Fast to Load Describes Full Scenes Runtime Neutral Open and Extensible glTF 2.0 – June 2017 Efficient, reliable glTF 1.0 – December 2015 Native AND Web APIs transmission Primarily for WebGL Physically Based Rendering Bring 3D assets into 1000s of Uses GLSL for materials Metallic-Roughness and Specular-Glossiness apps and engines This work is licensed under a Creative Commons Attribution 4.0 International License © The Khronos® Group Inc. 2021 - Page 2 Core glTF 2.0 Asset Structure .gltf (JSON) Node hierarchy, PBR material textures, cameras .bin .png Geometry: vertices and indices .jpg Animation: key-frames .ktx2 Skins: inverse-bind matrices Textures PBR stands for “Physically-Based Rendering” Mandatory Metallic-Roughness Materials Base Color (Albedo) | Metalness | Roughness Emission | Normal Map | Baked Ambient Occlusion Optional Specular-Glossiness Materials Geometry Diffuse | Specular | Glossiness Texture based PBR materials This work is licensed under a Creative Commons Attribution 4.0 International License © The Khronos® Group Inc. 2021 - Page 3 https://github.khronos.org/glTF-Project-Explorer/ This work
    [Show full text]
  • Lock-In-Pop: Securing Privileged Operating System Kernels By
    Lock-in-Pop: Securing Privileged Operating System Kernels by Keeping on the Beaten Path Yiwen Li, Brendan Dolan-Gavitt, Sam Weber, and Justin Cappos, New York University https://www.usenix.org/conference/atc17/technical-sessions/presentation/li-yiwen This paper is included in the Proceedings of the 2017 USENIX Annual Technical Conference (USENIX ATC ’17). July 12–14, 2017 • Santa Clara, CA, USA ISBN 978-1-931971-38-6 Open access to the Proceedings of the 2017 USENIX Annual Technical Conference is sponsored by USENIX. Lock-in-Pop: Securing Privileged Operating System Kernels by Keeping on the Beaten Path Yiwen Li Brendan Dolan-Gavitt Sam Weber Justin Cappos New York University Abstract code needed to run such a system increases the odds that Virtual machines (VMs) that try to isolate untrusted flaws will be present, and, in turn, that tens of millions code are widely used in practice. However, it is often of user machines could be at risk [25]. Furthermore, iso- possible to trigger zero-day flaws in the host Operating lation will not work if a malicious program can access System (OS) from inside of such virtualized systems. In even a small portion of the host OS’s kernel that contains this paper, we propose a new security metric showing a zero-day flaw [12]. Both of these drawbacks reveal the strong correlation between “popular paths” and kernel key underlying weakness in designing OSVM systems – vulnerabilities. We verify that the OS kernel paths ac- a lack of information as to which parts of the host kernel cessed by popular applications in everyday use contain can be safely exported to user programs.
    [Show full text]
  • Open Benchmark Alignment
    Benchmark Selection Guide, Vol. 1 Doing it Right Art Morgan Performance Engineer, Intel Corporation Spring 2015 Legal Disclaimers Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests, such as SYSmark* and MobileMark*, are measured using specific computer systems, components, software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products. For more information go to http://www.intel.com/performance. Intel is a sponsor and member of the BenchmarkXPRT* Development Community, and was the major developer of the XPRT* family of benchmarks. Principled Technologies* is the publisher of the XPRT family of benchmarks. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases. © 2015 Intel Corporation. Intel, Intel Inside and other logos are trademarks or registered trademarks of Intel Corporation, or its subsidiaries in the United States and other countries. * Other names and brands may be claimed as the property of others. 2 About this Guide This guide uses benchmark comparison tables to help you select the right set of tools for Windows*, Android* and Chrome* platform evaluations. Benchmarks covered in this guide: . General Guidance on Platform Evaluations 3DMark* 1.2.0 ANDEBench* PRO AnTuTu* v5.6.1 . Benchmark Selection for Windows BaseMark* CL BatteryXPRT* 2014 CompuBench* CL 1.5 for OpenCL* . Benchmark Selection for Android CompuBench* RS 2.0 for RenderScript* CrXPRT* 2015 Geekbench* 3.3.1 .
    [Show full text]
  • Nacldroid: Native Code Isolation for Android Applications
    NaClDroid: Native Code Isolation for Android Applications Elias Athanasopoulos1, Vasileios P. Kemerlis2, Georgios Portokalidis3, and Angelos D. Keromytis4 1 Vrije Universiteit Amsterdam, The Netherlands [email protected] 2 Brown University, Providence, RI, USA [email protected] 3 Stevens Institute of Technology, Hoboken, NJ, USA [email protected] 4 Columbia University, New York, NY, USA [email protected] Abstract. Android apps frequently incorporate third-party libraries that contain native code; this not only facilitates rapid application develop- ment and distribution, but also provides new ways to generate revenue. As a matter of fact, one in two apps in Google Play are linked with a library providing ad network services. However, linking applications with third-party code can have severe security implications: malicious libraries written in native code can exfiltrate sensitive information from a running app, or completely modify the execution runtime, since all native code is mapped inside the same address space with the execution environment, namely the Dalvik/ART VM. We propose NaClDroid, a framework that addresses these problems, while still allowing apps to include third-party code. NaClDroid prevents malicious native-code libraries from hijacking Android applications using Software Fault Isolation. More specifically, we place all native code in a Native Client sandbox that prevents uncon- strained reads, or writes, inside the process address space. NaClDroid has little overhead; for native code running inside the NaCl sandbox the slowdown is less than 10% on average. Keywords: SFI, NaCl, Android 1 Introduction Android is undoubtedly the most rapidly growing platform for mobile devices, with estimates predicting one billion Android-based smartphones shipping in 2017 [12].
    [Show full text]
  • 2018 Webist Lnbip (20)
    Client-Side Cornucopia: Comparing the Built-In Application Architecture Models in the Web Browser Antero Taivalsaari1, Tommi Mikkonen2, Cesare Pautasso3, and Kari Syst¨a4, 1Nokia Bell Labs, Tampere, Finland 2University of Helsinki, Helsinki, Finland 3University of Lugano, Lugano, Swizerland 4Tampere University, Tampere, Finland [email protected], [email protected], [email protected], [email protected] Abstract. The programming capabilities of the Web can be viewed as an afterthought, designed originally by non-programmers for relatively simple scripting tasks. This has resulted in cornucopia of partially over- lapping options for building applications. Depending on one's viewpoint, a generic standards-compatible web browser supports three, four or five built-in application rendering and programming models. In this paper, we give an overview and comparison of these built-in client-side web ap- plication architectures in light of the established software engineering principles. We also reflect on our earlier work in this area, and provide an expanded discussion of the current situation. In conclusion, while the dominance of the base HTML/CSS/JS technologies cannot be ignored, we expect Web Components and WebGL to gain more popularity as the world moves towards increasingly complex web applications, including systems supporting virtual and augmented reality. Keywords|Web programming, single page web applications, web com- ponents, web application architectures, rendering engines, web rendering, web browser 1 Introduction The World Wide Web has become such an integral part of our lives that it is often forgotten that the Web has existed only about thirty years. The original design sketches related to the World Wide Web date back to the late 1980s.
    [Show full text]
  • Sound Loop Superoptimization for Google Native Client
    Sound Loop Superoptimization for Google Native Client Berkeley Churchill Rahul Sharma ∗ JF Bastien Stanford University Microsoft Research India Stanford University [email protected] [email protected] [email protected] Alex Aiken Stanford University [email protected] Abstract rules. Specifically, the rules restrict the addresses of memory Software fault isolation (SFI) is an important technique for accesses and indirect jump targets at runtime. the construction of secure operating systems, web browsers, However, performance is a “significant handicap” for and other extensible software. We demonstrate that super- SFI [38]. Currently, there is a performance penalty that all optimization can dramatically improve the performance of users of NaCl and other SFI implementations pay for the se- Google Native Client, a SFI system that ships inside the curity guarantees. Building an optimizing compiler for SFI Google Chrome Browser. Key to our results are new tech- systems is difficult because of a pronounced phase ordering niques for superoptimization of loops: we propose a new ar- problem: Either a compiler can generate well-formed SFI chitecture for superoptimization tools that incorporates both code and then optimize it for performance, or it can generate a fully sound verification technique to ensure correctness and optimized code and adjust it to obey the SFI rules. Both of a bounded verification technique to guide the search to op- these approaches lead to sub-optimal performance. More- timized code. In our evaluation we optimize 13 libc string over, without verification, the optimizations have no formal functions, formally verify the correctness of the optimiza- guarantees of correctness [26, 30]. tions and report a median and average speedup of 25% over In contrast, search-based program optimization tech- the libraries shipped by Google.
    [Show full text]
  • A Survey Full Text Available At
    Full text available at: http://dx.doi.org/10.1561/0600000083 Publishing and Consuming 3D Content on the Web: A Survey Full text available at: http://dx.doi.org/10.1561/0600000083 Other titles in Foundations and Trends R in Computer Graphics and Vision Crowdsourcing in Computer Vision Adriana Kovashka, Olga Russakovsky, Li Fei-Fei and Kristen Grauman ISBN: 978-1-68083-212-9 The Path to Path-Traced Movies Per H. Christensen and Wojciech Jarosz ISBN: 978-1-68083-210-5 (Hyper)-Graphs Inference through Convex Relaxations and Move Making Algorithms Nikos Komodakis, M. Pawan Kumar and Nikos Paragios ISBN: 978-1-68083-138-2 A Survey of Photometric Stereo Techniques Jens Ackermann and Michael Goesele ISBN: 978-1-68083-078-1 Multi-View Stereo: A Tutorial Yasutaka Furukawa and Carlos Hernandez ISBN: 978-1-60198-836-2 Full text available at: http://dx.doi.org/10.1561/0600000083 Publishing and Consuming 3D Content on the Web: A Survey Marco Potenziani Visual Computing Lab, ISTI CNR [email protected] Marco Callieri Visual Computing Lab, ISTI CNR [email protected] Matteo Dellepiane Visual Computing Lab, ISTI CNR [email protected] Roberto Scopigno Visual Computing Lab, ISTI CNR [email protected] Boston — Delft Full text available at: http://dx.doi.org/10.1561/0600000083 Foundations and Trends R in Computer Graphics and Vision Published, sold and distributed by: now Publishers Inc. PO Box 1024 Hanover, MA 02339 United States Tel. +1-781-985-4510 www.nowpublishers.com [email protected] Outside North America: now Publishers Inc.
    [Show full text]
  • Flashdetect: Actionscript 3 Malware Detection
    FlashDetect: ActionScript 3 malware detection Timon Van Overveldt1, Christopher Kruegel23, and Giovanni Vigna23 1 Katholieke Universiteit Leuven, Belgium, [email protected] 2 University of California, Santa Barbara, USA, {chris,vigna}@cs.ucsb.edu 3 Lastline, Inc. Abstract. Adobe Flash is present on nearly every PC, and it is in- creasingly being targeted by malware authors. Despite this, research into methods for detecting malicious Flash files has been limited. Similarly, there is very little documentation available about the techniques com- monly used by Flash malware. Instead, most research has focused on JavaScript malware. This paper discusses common techniques such as heap spraying, JIT spraying, and type confusion exploitation in the context of Flash mal- ware. Where applicable, these techniques are compared to those used in malicious JavaScript. Subsequently, FlashDetect is presented, an off- line Flash file analyzer that uses both dynamic and static analysis, and that can detect malicious Flash files using ActionScript 3. FlashDetect classifies submitted files using a naive Bayesian classifier based on a set of predefined features. Our experiments show that FlashDetect has high classification accuracy, and that its efficacy is comparable with that of commercial anti-virus products. Keywords: Flash exploit analysis, malicious ActionScript 3 detection, Flash type confusion 1 Introduction Adobe Flash is a technology that provides advanced video playback and anima- tion capabilities to developers through an advanced scripting language. The files played by Flash, called SWFs, are often embedded into webpages to be played by a browser plugin, or are embedded into a PDF file to be played by a copy of the Flash Player included in Adobe’s Acrobat Reader.
    [Show full text]