Scenegit: a Practical System for Diffing and Merging 3D Environments

Total Page:16

File Type:pdf, Size:1020Kb

Scenegit: a Practical System for Diffing and Merging 3D Environments SceneGit: A Practical System for Diffing and Merging 3D Environments EDOARDO CARRA, Sapienza University of Rome FABIO PELLACINI, Sapienza University of Rome Ancestor Versions Merged delete/change from 1 delete/change from 2 add/change from 1 add/change from 2 concurrent change conflict Fig. 1. Two scene versions (middle top and middle bottom) are created concurrently by editing a common ancestor (top left). Our system detects changes between each version and the ancestor, then merges the changes automatically (top right). We highlight added and changed elements on the merged scene (bottom right), and deleted and changed elements on the ancestor (bottom left). The color of the edits, shown in the legend below the figure, indicates their provenance: green/yellow for version one, blue/red for version two, cyan/orange if the same element was edited in both versions, purple for conflicts. Version control systems are the foundation of collaborative workflows for 1 INTRODUCTION text documents. For 3D environments though, version control is still an Distributed version control [Chacon 2009; O’Sullivan 2009] and col- open problem due to the heterogeneous data of 3D scenes and their size. laborative editors [Clara.io 2014; Google 2016] are the two most In this paper, we present a practical version control system for 3D scenes used tools in modern collaborative workflows. In 3D graphics, ver- comprised of shapes, materials, textures, and animations, combined together in scene graphs. We version objects at their finest granularity, to make sion control is the most widely adopted in practice since it explicitly repositories smaller and to allow artists to work concurrently on the same maintains version histories and allows for branching workflows object. Since, for some scene data, computing an optimal set of changes between multiple artists. However, it is performed solely by version- between versions is not computationally feasible, version control systems ing each asset as a whole, which means that no concurrent edits can use heuristics. Compared to prior work, we propose heuristics that are be made by multiple users on the same asset. Recently, collaborative efficient, robust, and independent of the application. We test oursystem editors have been proposed that use version control as the under- on a variety of large scenes edited with different workflows, and show that lying implementation mechanism [Calabrese et al. 2016; Onshape our approach can handle all cases well while remaining efficient as scene 2014; Salvati et al. 2015; Santoni et al. 2018]. To this day though, size increases. Compared to prior work, we are significantly faster and more version control for 3D environments is still an open problem. While robust. A user study confirms that our system aids collaboration. many systems have been proposed [Denning and Pellacini 2013; ACM Reference format: Doboš et al. 2018, 2014, 2013; Doboš and Steed 2012a,b], there is still Edoardo Carra and Fabio Pellacini. 2019. SceneGit: A Practical System for no comprehensive solution that supports all scene data versioned Diffing and Merging 3D Environments. ACM Trans. Graph. 38, 6, Article 1 at its finest granularity. (November 2019), 15 pages. In this paper, we discuss a practical solution for versioning 3D https://doi.org/10.1145/3355089.3356550 environments. We consider versioning of shapes, materials, anima- Permission to make digital or hard copies of all or part of this work for personal or tions and scene layouts in a comprehensive framework. For each of classroom use is granted without fee provided that copies are not made or distributed these different entities, we support versioning at their finest granu- for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM larity, e.g., individual vertices and faces for shapes, keyframes for must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, animations, texels for textures and single properties for generic to post on servers or to redistribute to lists, requires prior specific permission and/or a scene objects. By using a fine granularity, we ensure that edits are fee. Request permissions from [email protected]. © 2019 Association for Computing Machinery. captured precisely, so that they can be efficiently stored, correctly 0730-0301/2019/11-ART1 $15.00 merged and informatively displayed. https://doi.org/10.1145/3355089.3356550 ACM Transactions on Graphics, Vol. 38, No. 6, Article 1. Publication date: November 2019. 1:2 • Edoardo Carra and Fabio Pellacini Version control systems are often built in layers from the most We tested our system by diffing and merging a variety of scenes basic operations, all the way to the command-line and graphical stored in two different file formats, Wavefront OBJ [WavefrontTech- interfaces shown to users. In this paper, we focus on the lowest nologies 1980] and Khronos glTF [KhronosGroup 2016]. This shows level operations needed to build a version control system. To define that our system is generic with respect to the scene format itself. them, let us introduce some simplified nomenclature that we will The tested scenes differ substantially in the type, size and number of use throughout the paper. We call ancestor a scene that will be edited objects. We perform a variety of edits to shapes, materials, textures, and a version a scene edited starting from the ancestor. A change animations and scene nodes. For each of these edits we used differ- is the unordered collections of modifications that we apply to the ent tools and editing techniques, including addition and deletion ancestor to obtain the version. of elements, parameter adjustments, painting, sculpting, low-poly We investigate four different operations. The most basic oper- modeling, scene layout and instancing. In all these edits, we found ation is diffing an ancestor and a version to compute the change our system to be efficient, capable of correctly merging all edits or between them. The inverse operation is patching an ancestor with determining conflicts precisely. a change to reconstruct the edited version. Patching is used quite We further validate our system by comparing to prior work as often for example when changes are sent over a network and recon- well as commercial products. In both cases, we are significantly structed locally. For collaboration, we support merging two versions more efficient and robust. In fact, this comparison shows thatour created independently using a three-way merge operation where system is the only one that can reliably support concurrent edits to the changes of both versions with respect to a common ancestor are large scenes. We further validate our work by running a user study merged together into a scene that combines both edits. We consider where we ask users to rate how well our system highlights the edits, only three-way merging since it has better reliability compared to how reliably it merges versions, and how helpful it is in supporting two-way merging [Chacon 2009]. Finally, we support efficient encod- collaboration. All subjects rated our system high in all questions. ing and decoding of changes for storage or transmission. Fig. 1 shows In conclusion, we present a comprehensive solution for versioning a three-way merge between two edited scenes and their common 3D environments that improves upon the state of the art with the ancestor, with changes highlighted. following technical contributions: Distributed version control systems are designed to handle large (1) we present, motivate and analyze an overall design for version collections of small text documents where each document is diffed control systems for 3D scenes; to the best of knowledge this is and merged independently. Diffing and merging 3D environments the first work that presents such comprehensive discussion; has significant challenges compared to text. Scenes are madeof (2) we introduce a sparse scene representation that tracks scene heterogeneous data, e.g., shapes, textures, animations, scene layouts. elements uniquely and at their finest granularity across all Furthermore, scenes elements have relationships between them that versions in a repository; need to be maintained during diffing and merging, e.g., relationships (3) based on this data structure, we introduce a definition of the between vertices and faces in meshes, transforms and keyframe merge operation that is formally well-defined, leading to a times in animations, references to nodes in scene trees. Finally, 3D robust merge algorithm; scenes are large, both in terms of file size and number of elements, (4) we extract a sparse representation efficiently from edited compared to standard text documents. scenes by deriving diff algorithms that adapt to the heteroge- In our system, we handle all these concerns guided by four main nous data in 3D scenes; insights. First, 3D scenes need to be versioned as wholes rather (5) compared to prior work, we are significantly faster, scale than as single components to maintain relationships. Second, dur- better and remains robust for large edits; ing diffing, we assign unique identifiers to all scenes elements at (6) with a user study, we validate that our system is helpful in the finest possible granularity, e.g., objects, vertices, faces, texels, supporting collaboration. keyframes have unique identifiers computed by our systems. These identifiers are unique in the scene and across versions so thatthey 2 RELATED WORK can be tracked by the version control system. This allows us to easily Authoring 3D environments requires considerable effort for all but implement patching and merging, robustly detect conflicting edits, the simplest cases. For this reason, many artists work on the same store changes concisely in a sparse representation, view changes scene. A common practice in industry is to split scenes into a large informatively and handle heterogeneous data with ease. To assign collection of small files so that each file can be edited independently.
Recommended publications
  • Jenkins Declarative Pipeline Checkout Scm Example
    Jenkins Declarative Pipeline Checkout Scm Example Thor confab improbably. Permissible Augie usually damnify some corolla or name-drops unalike. Nicholas remains scenic: she depressurize her chessels doctors too straight? How they evaluate Git branch name itself a Jenkins pipeline using. 'checkout scm' is a great single line to add maybe your script that checks out the commute the Jenkinsfile is crisp from. Confirmed that were very similar to us to other useful by jenkins declarative pipeline checkout scm example, and seeing that. Jenkins Pipeline Checkout Scm Example abound on Jenkins comjavahometechmywebblobmasterJenkins-Declarative-GitFor OnlineClassroom trainings and. BRANCHNAME JENKINS-4565 Declarative Pipeline Example. Jenkins Stash Example. I've key a jenkins pipeline and bow is pulling the pipeline script from scm. If necessary files in the example pipeline code. Feature Request Parallel Stage name for Declarative. Pipeline Pipeline stage Pipeline Declarative Checkout SCM Pipeline checkout. Jenkins Beginner Tutorial 14 How to setup DELIVERY PIPELINE in Jenkins Step by. In turkey first step 1 we checkout project from GitHub and then build it with Maven 2. How to Use the Jenkins Scripted Pipeline BlazeMeter. In simple words Jenkins Pipeline is a combination of plugins that block the integration and implementation of continuous delivery pipelines using Jenkins A pipeline has an extensible automation server for creating simple less complex delivery pipelines as code via pipeline DSL Domain-specific Language. The Declarative Pipeline example above contains the minimum necessary. That is why science would awake to steam a border more with Jenkins Pipelines to present. How do I of environment variables in Jenkins pipeline? Nodelabel def myRepo checkout scm def gitCommit myRepo.
    [Show full text]
  • Automatic 2.5D Cartoon Modelling
    Automatic 2.5D Cartoon Modelling Fengqi An School of Computer Science and Engineering University of New South Wales A dissertation submitted for the degree of Master of Science 2012 PLEASE TYPE THE UNIVERSITY OF NEW SOUTH WALES T hesis!Dissertation Sheet Surname or Family name. AN First namEY. Fengqi Orner namels: Zane Abbreviatlo(1 for degree as given in the University calendar: MSc School: Computer Science & Engineering Faculty: Engineering Title; Automatic 2.50 Cartoon Modelling Abstract 350 words maximum: (PLEASE TYPE) Declarat ion relating to disposition of project thesis/dissertation I hereby grant to the University of New South Wales or its agents the right to archive and to make available my thesis or dissertation in whole orin part in the University libraries in all forms of media, now or here after known, subject to the provisions of the Copyright Act 1968. I retain all property rights, such as patent rights. I also retain the right to use in future works (such as articles or books) all or part of thts thesis or dissertation. I also authorise University Microfilms to use the 350 word abstract of my thesis in Dissertation· Abstracts International (this is applicable to-doctoral theses only) .. ... .............. ~..... ............... 24 I 09 I 2012 Signature · · ·· ·· ·· ···· · ··· ·· ~ ··· · ·· ··· ···· Date The University recognises that there may be exceptional circumstances requiring restrictions on copying or conditions on use. Requests for restriction for a period of up to 2 years must be made in writi'ng. Requests for
    [Show full text]
  • Codice Plastic
    Francisco Monteverde “The Cadillac of the SCMs” - eWeek CEO Codice Software www.plasticscm.com [email protected] @plasticscm @plasticscm www.plasticscm.com © 2014 Codice Software Computers, Mobile Phones, Tablets, Internet Services, Video Games, Consoles, Financial Services, Telecommunications, Automobiles, Transportation, Healthcare, Commerce, Distribution, Industrial Manufacturing… … TODAY SOFTWARE IS ALMOST EVERYWHERE….AND INCREASING © 2014 Codice Software VERSION CONTROL IS AN ESSENTIAL FUNCTION WITHIN SOFTWARE DEVELOPMENT © 2014 Codice Software The Problem with Software Development: Limited Productivity, Low Quality Code 1. Development in serial mode (not parallel) creates many dependencies and continuous broken builds 2. Developers need to be connected to central server to use the Version Control tool Distributed Version Control Systems (DVCS) © 2014 Codice Software Introducing Plastic SCM Branching and Merging is GOOD! The Only Commercial Enterprise Distributed Version Control Systems (DVCS) for Teams of Any Size, Enabling Parallel and Distributed Development that works Integrated with Polarion ALM: Closing the GAP between Requirements & Code © 2014 Codice Software Polarion ALM & Plastic SCM Working Together • Plastic SCM integrates with Polarion using “branch per task” and “task per cset” • Branches can be created listing the assigned and open tasks • Alternatively, individual changesets can be linked to Polarion tasks • Quick access from Plastic SCM GUI to Polarion info © 2014 Codice Software Codice Software Company Background Some Global Customers: Funded 2005 Products Plastic SCM & Semantic Merge Investors Bullnet Capital (VC): Valladolid (Spain) & Silicon Valley HQ’s Office Distribution US/Canda, EU, Israel, South Korea © 2014 Codice Software Codice Software in US Developer’s Press Jeff Cogswell Adrian Bridgwater Eric Caoili Heavy Refactoring In Parallel? Plastic SCM 4.0 solution for Plastic SCM is the Cadillac No Problem.
    [Show full text]
  • Altova Umodel 2012 User & Reference Manual
    User and Reference Manual Altova UModel 2012 User & Reference Manual All rights reserved. No parts of this work may be reproduced in any form or by any means - graphic, electronic, or mechanical, including photocopying, recording, taping, or information storage and retrieval systems - without the written permission of the publisher. Products that are referred to in this document may be either trademarks and/or registered trademarks of the respective owners. The publisher and the author make no claim to these trademarks. While every precaution has been taken in the preparation of this document, the publisher and the author assume no responsibility for errors or omissions, or for damages resulting from the use of information contained in this document or from the use of programs and source code that may accompany it. In no event shall the publisher and the author be liable for any loss of profit or any other commercial damage caused or alleged to have been caused directly or indirectly by this document. Published: 2012 © 2012 Altova GmbH UML®, OMG™, Object Management Group™, and Unified Modeling Language™ are either registered trademarks or trademarks of Object Management Group, Inc. in the United States and/or other countries. Table of Contents 1 UModel 3 2 Introducing UModel 6 3 What's new in UModel 8 4 UModel tutorial 14 4.1 Starting UModel................................................................................................................. 16 4.2 Use cases ................................................................................................................
    [Show full text]
  • Visual Build Help
    Visual Build Professional User's Manual Copyright © 1999-2021 Kinook Software, Inc. Contents I Table of Contents Part I Introduction 1 1 Overview ................................................................................................................................... 1 2 Why Visual................................................................................................................................... Build? 1 3 New Features................................................................................................................................... 2 Version 4 .......................................................................................................................................................... 2 Version 5 .......................................................................................................................................................... 3 Version 6 .......................................................................................................................................................... 4 Version 7 .......................................................................................................................................................... 7 Version 8 .......................................................................................................................................................... 9 Version 9 .........................................................................................................................................................
    [Show full text]
  • Analiza in Prenova Sistema Upravljanja Z Dokumentacijo V Podjetju
    UNIVERZA V LJUBLJANI FAKULTETA ZA RA ČUNALNIŠTVO IN INFORMATIKO Aleksander Pahor ANALIZA IN PRENOVA SISTEMA UPRAVLJANJA Z DOKUMENTACIJO V PODJETJU Diplomsko delo na visokošolskem strokovnem študiju Mentor: dr. Mojca Ciglari č Ljubljana, 2009 I Z J A V A O A V T O R S T V U diplomskega dela Spodaj podpisani/-a ____________________________________, z vpisno številko ____________________________________, sem avtor/-ica diplomskega dela z naslovom: _________________________________________________________________________ _________________________________________________________________________ S svojim podpisom zagotavljam, da: • sem diplomsko delo izdelal/-a samostojno pod mentorstvom (naziv, ime in priimek) ___________________________________________________________________ in somentorstvom (naziv, ime in priimek) ___________________________________________________________________ • so elektronska oblika diplomskega dela, naslov (slov., angl.), povzetek (slov., angl.) ter klju čne besede (slov., angl.) identi čni s tiskano obliko diplomskega dela • soglašam z javno objavo elektronske oblike diplomskega dela v zbirki »Dela FRI«. V Ljubljani, dne ______________ Podpis avtorja/-ice:______________________ Zahvala V prvi vrsti se zahvaljujem svoji mentorici dr. Mojci Ciglari č za potrpljenje, ki ga je izkazala z menoj. Predvsem cenim to, da je bila pripravljena z nekaterimi izdelki po čakati, kar je bilo pogojeno z mojim delom, ki velikokrat ne dopuš ča, da bi se svojim ostalim obveznostim posvetil toliko, kolikor bi si zaslužile. Zahvaljujem se vsem v podjetju Hermes Softlab d.d., ki so mi vedno stali ob strani in mi pomagali odrasti strokovno, poslovno in osebno. Davorju Hvali, ki me je vzel v službo in vsem mojim nadrejenim: Alešu Pestotniku, Primožu Svetku, Mihi Urbaniji in Alešu Koširju, ki so mi zaupali vedno bolj odgovorne naloge, ki so mi omogo čile videti svet in delati na mnogih projektih in podjetjih.
    [Show full text]
  • Opinnäytetyö Ohjeet
    Lappeenrannan–Lahden teknillinen yliopisto LUT School of Engineering Science Tietotekniikan koulutusohjelma Kandidaatintyö Mikko Mustonen PARHAITEN OPETUSKÄYTTÖÖN SOVELTUVAN VERSIONHALLINTAJÄRJESTELMÄN LÖYTÄMINEN Työn tarkastaja: Tutkijaopettaja Uolevi Nikula Työn ohjaaja: Tutkijaopettaja Uolevi Nikula TIIVISTELMÄ LUT-yliopisto School of Engineering Science Tietotekniikan koulutusohjelma Mikko Mustonen Parhaiten opetuskäyttöön soveltuvan versionhallintajärjestelmän löytäminen Kandidaatintyö 2019 31 sivua, 8 kuvaa, 2 taulukkoa Työn tarkastajat: Tutkijaopettaja Uolevi Nikula Hakusanat: versionhallinta, versionhallintajärjestelmä, Git, GitLab, SVN, Subversion, oppimateriaali Keywords: version control, version control system, Git, GitLab, SVN, Subversion, learning material LUT-yliopistossa on tietotekniikan opetuksessa käytetty Apache Subversionia versionhallintaan. Subversionin käyttö kuitenkin johtaa ylimääräisiin ylläpitotoimiin LUTin tietohallinnolle. Lisäksi Subversionin julkaisun jälkeen on tullut uusia versionhallintajärjestelmiä ja tässä työssä tutkitaankin, olisiko Subversion syytä vaihtaa johonkin toiseen versionhallintajärjestelmään opetuskäytössä. Työn tavoitteena on löytää opetuskäyttöön parhaiten soveltuva versionhallintajärjestelmä ja tuottaa sille opetusmateriaalia. Työssä havaittiin, että Git on suosituin versionhallintajärjestelmä ja se on myös suhteellisen helppo käyttää. Lisäksi GitLab on tutkimuksen mukaan Suomen yliopistoissa käytetyin ja ominaisuuksiltaan ja hinnaltaan sopivin Gitin web-käyttöliittymä. Näille tehtiin
    [Show full text]
  • Polygonal Modeling: the Process of Building a 3D Object by Specifying the Polygons That Make up That Object
    Modeling 3D objects with polygons 1 Why polygons? Simple mathematical description Standard 3D graphics primitive All graphics packages optimized for polygon throughput Most 3D graphics algorithms assume a polygon-based scene Common polygon algorithms implemented in hardware In the end, everything (well, almost everything) is a polygon (C) Doug Bowman, Virginia Tech, 2008 2 2 Terminology Polygon soup: a general set of unstructured polygons used to define a scene Polygonal mesh: a set of connected polygons that together form a surface (C) Doug Bowman, Virginia Tech, 2008 3 3 More terminology 3D polygonal model: a 3D object made up entirely of polygons 3D polygonal modeling: the process of building a 3D object by specifying the polygons that make up that object NOTE: you can build a 3D polygonal model without using 3D polygonal modeling! (C) Doug Bowman, Virginia Tech, 2008 4 4 Methods of creating polygonal meshes Build mesh by hand (C) Doug Bowman, Virginia Tech, 2008 5 5 Methods of creating polygonal meshes Tesselate a theoretical smooth surface Tesselation: the process of creating a polygonal approximation from a smooth surface (C) Doug Bowman, Virginia Tech, 2008 6 6 Methods of creating polygonal meshes Extrude a 2D polygon, curve, etc. Extrusion: the process of moving a 2D cross-section through space to create a 3D solid (C) Doug Bowman, Virginia Tech, 2008 7 7 Methods of creating polygonal meshes Revolve/sweep a 2D polygon or curve Revolution: the process of rotating a 2D cross-section about an axis to create a 3D
    [Show full text]
  • SCM Fernando Berzal, [email protected]
    SCM Fernando Berzal, [email protected] SCM SCM [Software Configuration Management] Terminología Control de cambios Control de versiones Check-in & check-out Herramientas de control de versiones El proceso de gestión de la configuración El plan de gestión de la configuración 1 SCM No matter where you are in the system life cycle, the system will change, and the desire to change it will persist throughout the life cycle. Edward H. Bersoff, Vilas D. Henderson & Stanley G. Siegel: Software Configuration Management: An Investment in Product Integrity 1980 2 SCM Software Configuration Management SCM no es sólo disponer de una herramienta que registre quién hizo qué cambio al código o a la documentación y cuándo lo hizo. SCM también incluye la creación de convenciones sobre el código, políticas y procedimientos que aseguren que todos los “stakeholders” relevantes están involucrados en la realización de cambios sobre el software: Conjunto de actividades realizadas para gestionar los cambios a lo largo del ciclo de vida del software. 3 SCM Cómo informar de un problema con el software. Cómo solicitar la incorporación de un nuevo requisito. Cómo informar de los cambios solicitados y pedir sus opiniones a los “stakeholders” involucrados. Cómo priorizar y planificar las solicitudes de cambios. Cómo mantener bajo control las distintas versiones de los productos (i.e. impedir que puedan cambiarse sin seguir los procedimientos apropiados). 4 SCM Área de proceso clave [KPA] en el nivel 2 del modelo SW-CMM [SEI Capability Maturity Model for Software]. 5 SCM Propósito Mantener la integridad de los productos de un proyecto de desarrollo de software a lo largo de su ciclo de vida.
    [Show full text]
  • Critical Review of Open Source Tools for 3D Animation
    IJRECE VOL. 6 ISSUE 2 APR.-JUNE 2018 ISSN: 2393-9028 (PRINT) | ISSN: 2348-2281 (ONLINE) Critical Review of Open Source Tools for 3D Animation Shilpa Sharma1, Navjot Singh Kohli2 1PG Department of Computer Science and IT, 2Department of Bollywood Department 1Lyallpur Khalsa College, Jalandhar, India, 2 Senior Video Editor at Punjab Kesari, Jalandhar, India ABSTRACT- the most popular and powerful open source is 3d Blender is a 3D computer graphics software program for and animation tools. blender is not a free software its a developing animated movies, visual effects, 3D games, and professional tool software used in animated shorts, tv adds software It’s a very easy and simple software you can use. It's show, and movies, as well as in production for films like also easy to download. Blender is an open source program, spiderman, beginning blender covers the latest blender 2.5 that's free software anybody can use it. Its offers with many release in depth. we also suggest to improve and possible features included in 3D modeling, texturing, rigging, skinning, additions to better the process. animation is an effective way of smoke simulation, animation, and rendering. Camera videos more suitable for the students. For e.g. litmus augmenting the learning of lab experiments. 3d animation is paper changing color, a video would be more convincing not only continues to have the advantages offered by 2d, like instead of animated clip, On the other hand, camera video is interactivity but also advertisement are new dimension of not adequate in certain work e.g. like separating hydrogen from vision probability.
    [Show full text]
  • Guide 2020 Games from Spain
    GUIDE GAMES 2020 FROM SPAIN Message from the CEO of ICEX Spain Trade and Investment Dear reader, We are proud to present the new edition of our “Guide to Games from Spain”, a publication which provides a complete picture of Spain’s videogame industry and highlights its values and its talent. This publication is your ultimate guide to the industry, with companies of various sizes and profiles, including developers, publishers and services providers with active projects in 2020. GAMES Games from Spain is the umbrella brand created and supported by ICEX Spain Trade and Investment to promote the Spanish videogame industry around the globe. You are cordially invited to visit us at our stands at leading global events, such us Game Con- nection America or Gamescom, to see how Spanish videogames are playing in the best global production league. Looking forward to seeing you soon, ICEX María Peña SPAIN TRADE AND INVESTMENT ICT AND DIGITAL CONTENT DEPARTMENT +34 913 491 871 [email protected] www.icex.es GOBIERNO MINISTERIO DE ESPAÑA DE INDUSTRIA, COMERCIO Y TURISMO EUROPEAN REGIONAL DEVELOPMENT FUND A WAY TO MAKE EUROPE GENERAL INDEX ICEX | DISCOVER GAMES FROM SPAIN 6 SPANISH VIDEOGAME INDUSTRY IN FIGURES 8 INDEX 10 DEVELOPERS 18 PUBLISHERS 262 SERVICES 288 DISCOVER www.gamesfromspain.com GAMES FROM SPAIN Silvia Barraclough Head of Videogames Animation and VR/AR ICEX, Spain Trade and Investment in collaboration with [email protected] DEV, the Spanish association for the development and +34 913 491 871 publication of games and entertainment software, is proud to present its Guide to Games from Spain 2020, the perfect way to discover Spanish games and com- panies at a glance.
    [Show full text]
  • 3D Modeling and the Role of 3D Modeling in Our Life
    ISSN 2413-1032 COMPUTER SCIENCE 3D MODELING AND THE ROLE OF 3D MODELING IN OUR LIFE 1Beknazarova Saida Safibullaevna 2Maxammadjonov Maxammadjon Alisher o’g’li 2Ibodullayev Sardor Nasriddin o’g’li 1Uzbekistan, Tashkent, Tashkent University of Informational Technologies, Senior Teacher 2Uzbekistan, Tashkent, Tashkent University of Informational Technologies, student Abstract. In 3D computer graphics, 3D modeling is the process of developing a mathematical representation of any three-dimensional surface of an object (either inanimate or living) via specialized software. The product is called a 3D model. It can be displayed as a two-dimensional image through a process called 3D rendering or used in a computer simulation of physical phenomena. The model can also be physically created using 3D printing devices. Models may be created automatically or manually. The manual modeling process of preparing geometric data for 3D computer graphics is similar to plastic arts such as sculpting. 3D modeling software is a class of 3D computer graphics software used to produce 3D models. Individual programs of this class are called modeling applications or modelers. Key words: 3D, modeling, programming, unity, 3D programs. Nowadays 3D modeling impacts in every sphere of: computer programming, architecture and so on. Firstly, we will present basic information about 3D modeling. 3D models represent a physical body using a collection of points in 3D space, connected by various geometric entities such as triangles, lines, curved surfaces, etc. Being a collection of data (points and other information), 3D models can be created by hand, algorithmically (procedural modeling), or scanned. 3D models are widely used anywhere in 3D graphics.
    [Show full text]