11 research outputs found

    Toward General Purpose 3D User Interfaces: Extending Windowing Systems to Three Dimensions

    Get PDF
    Recent growth in the commercial availability of consumer grade 3D user interface devices like the Microsoft Kinect and the Oculus Rift, coupled with the broad availability of high performance 3D graphics hardware, has put high quality 3D user interfaces firmly within the reach of consumer markets for the first time ever. However, these devices require custom integration with every application which wishes to use them, seriously limiting application support, and there is no established mechanism for multiple applications to use the same 3D interface hardware simultaneously. This thesis proposes that these problems can be solved in the same way that the same problems were solved for 2D interfaces: by abstracting the input hardware behind input primitives provided by the windowing system and compositing the output of applications within the windowing system before displaying it. To demonstrate the feasibility of this approach this thesis also presents a novel Wayland compositor which allows clients to create 3D interface contexts within a 3D interface space in the same way that traditional windowing systems allow applications to create 2D interface contexts (windows) within a 2D interface space (the desktop), as well as allowing unmodified 2D Wayland clients to window into the same 3D interface space and receive standard 2D input events. This implementation demonstrates the ability of consumer 3D interface hardware to support a 3D windowing system, the ability of this 3D windowing system to support applications with compelling 3D interfaces, the ability of this style of windowing system to be built on top of existing hardware accelerated graphics and windowing infrastructure, and the ability of such a windowing system to support unmodified 2D interface applications windowing into the same 3D windowing space as the 3D interface applications. This means that application developers could create compelling 3D interfaces with no knowledge of the hardware that supports them, that new hardware could be introduced without needing to integrate it with individual applications, and that users could mix whatever 2D and 3D applications they wish in an immersive 3D interface space regardless of the details of the underlying hardware

    Filtered - a tool for editing SVG filters

    Get PDF
    Vector graphic image files defined in SVG format can contain filters, graphical effects that can be used for modifying the image pixels algorithmically. Filtered is an open source tool for visual edit-ing of these filters. Although the process that eventually led to filtered started over ten years ago, Filtered is still a relevant tool for SVG content development, as no other tool supports visual editing of SVG filters to the same extent. During the past ten years, SVG has also become an integral part of the WWW infrastructure, supported by all major web browsers. However, filters are still used rarely in the SVG content, as tool support for editing filters has been poor. This is a production-based thesis. The written part describes the user interface design process of Filtered. The outcome of the production, Filtered software, is freely available for download from http://filtered.sourceforge.net

    Penerapan Konsep State Pattern pada Game Engine (Studi Kasus Game Wipe It Off)

    Get PDF
    Game yang menggunakan state machine sebagai dasar pengembangan perilaku agen bukan merupakan hal baru lagi. Namun, masih belum banyak game engine yang dapat menangani kebutuhan tersebut. State pattern merupakan salah satu design pattern yang dapat menangani kebutuhan state machine pada game. Perancangan state pattern dilakukan untuk diterapkan dalam game engine. Komponen yang terdapat dalam state pattern adalah Initial State, Check State, dan Handle State. Perancangan finite state machine yang digunakan dalam game juga dilakukan. Komponen yang terdapat dalam finite state machine adalah Idle State, Moving State, dan Cleaning State. Implementasi state pattern pada game engine dilakukan dengan membuat kelas interface dan menjadi parent dari seluruh state dalam finite state machine. Implementasi finite state machine pada game dilakukan dengan memisahkan seluruh state menjadi kelas yang berbeda dan melakukan pewarisan sifat dari kelas interface. Pengujian state pattern pada game engine dilakukan dengan white-box testing. Didapatkan bahwa hasil pengujian dari seluruh komponen state pattern adalah valid. Pengujian finite state machine pada game dilakukan dengan black-box testing. Didapatkan bahwa hasil pengujian perpindahan state dari finite state machine adalah valid. Dengan keberadaan game engine ini diharapkan bahwa pengembang game tidak lagi kesulitan dalam mengembangkan game yang memiliki state machine sebagai dasar kebutuhannya

    Development of generic scheduling concepts for OpenGL ES 2.0

    Get PDF
    The ability of a Graphics Processing Unit (GPU) to do efficient and massively parallel computations makes it the choice for 3D graphic applications. It is been extensively used as a hardware accelerator to boost the performance of a single application like 3D games. However, due to increasing number of 3D rendering applications and the limiting resource constraints (especially on embedded platforms), such as cost and space, a single GPU needs to be shared between multiple concurrent applications (GPU multitasking). Especially for safety-relevant scenarios, like, e.g., automotive applications, certain Quality of Service (QoS) requirements, such as average frame rates and priorities, apply. In this work we analyze and discuss the requirements and concepts for the scheduling of 3D rendering commands. We therefore propose our Fine-Grained Semantics Driven Scheduling (FG-SDS) concept. Since existing GPUs cannot be preempted, the execution of GPU command blocks is selectively delayed depending on the applications priorities and frame rate requirements. As FG-SDS supports and uses the OpenGL ES 2.0 rendering API it is highly portable and flexible. We have implemented FG-SGS and evaluated its performance and effectiveness on an automotive embedded system. Our evaluations indicate that FG-SGS is able to ensure that required frame rates and deadlines of the high priority application are met, if the schedule is feasible. The overhead introduced by GPU scheduling is non-negligible but considered to be reasonable with respect to the GPU resource prioritization that we are able to achieve

    3D graphics platforms and tools for mobile applications

    Get PDF
    The objective of the thesis is the investigation of mobile 3D graphics platforms and tools. This is important topic since 3D graphics is increasingly used in mobile devices. In the thesis platforms and tools specific for 3D graphics are analysed. Platforms are device- and operating system independent foundations for dealing with 3D graphics. This includes platforms based on 3D graphic languages: Open GL, Open GL ES, Open CL, Web GL and Web CL. Based on the platforms, there are specific tools which facili-tate applications development. In the thesis the Maya software environment for the modelling and Unity 3D game engine for animation are described. Workflow for using these tools is demonstrated on an example of application relying on 3D graphics. This application is fitting of clothes for Web fashion shop. Buying clothes from Web shops is complicated since it is impossible to check how the cloth will actually fit. This problem can be attempted to solve by using 3D model of the user and cloth items. The difficulty is dynamic visualization of model and cloth interaction. Example of this process is shown in the thesis. The conclusion is that new mobile devices will soon have graphics capabilities approaching requirements for sophisticated 3D graphics allowing to develop new types of applications. More work in the mobile 3D graphics area is needed still for creating more real and less cartoon-like models

    Extending Cairo with color space support

    Get PDF
    Cairo is a 2D vector graphics library which can draw on multiple output targets, including PDF, PostScript, SVG, Xlib, Quartz and GDI. Cairo provides an interface which exposes PDF-like operations, hence it can draw complex shapes and fill them with a colored pattern, but it lacks color management. The purpose of this work is to design and implement an extension of the Cairo library which augments it with color management support, in accordance with the ICC and PDF standard specifications. This extension makes it possible to move the color handling from applications to the graphic library and provides a flexible and efficient drawing model

    Konzepte und Mechanismen fĂĽr die Darstellung von sicherheitskritischen Informationen im Fahrzeug

    Get PDF
    Die zunehmende Verwendung von Anwendungen im Fahrzeug wie Navigation, Videowiedergabe oder Geschwindigkeitsanzeige, welche eine grafische Repräsentation anstatt der physischen Zeigerinstrumente nutzen, geht einher mit einer Zunahme der verbauten digitalen Anzeigen im Fahrzeug. Neben den Anzeigen der Headunit und der Kombiinstrumente gibt es Anzeigen in den Kopfstützen und die Headup-Anzeige. Da meist jede Anzeige ihr eigenes Steuergerät besitzt, führt dieser Trend auch zu einer Zunahme an Steuergeräten. Dies bringt jedoch Skalierungsprobleme und eine zunehmende Komplexität mit sich, sowie erhöhten Bauraumbedarf, zunehmende Kosten und einen höheren Stromverbrauch. Um diesen Problemen begegnen zu können, wird eine Konsolidierung von Steuergeräten angestrebt. Die Anwendungen im Automobilbereich sind jedoch teils sehr unterschiedlich in ihrer Sicherheitskritikalität, da sie unterschiedlichen Einfluss auf die funktionale Sicherheit des Fahrzeugs haben. So ist die Darstellung mancher Warnlampen sicherheitskritisch, da sie für die Sicherheit der Insassen relevant sind, während das Abspielen einer DVD nur den Qualitätsansprüchen genügen muss. Die unterschiedlichen Anwendungen dürfen sich gegenseitig nicht ungewollt beeinflussen, was eine Isolation erforderlich macht, die bisher durch physisch separierte Hardware-Plattformen realisiert wurde. Dies muss aufgrund der oben genannten Gründe durch Software implementiert werden. Hierzu eignet sich vor allem die Technologie Virtualisierung, welche verschiedene Anwendungen in virtuellen Maschinen kapselt. Die Virtualisierung gewährleistet Isolation derzeit in der Nutzung von Ressourcen wie CPU und Speicher und vermeidet unbeabsichtigte oder böswillige Beeinflussung. Jedoch erstreckt sich die Isolation nicht auf die Nutzung der grafischen Ressourcen wie Anzeigen und GPU und kann insbesondere nicht die Anforderungen im Automobilbereich erfüllen. Der konfliktfreie Zugriff auf Anzeigebereiche unter Berücksichtigung der Sicherheitskritikalität der Anwendungen ist essentiell für die Sicherheit während der Fahrt. Im Rahmen des öffentlich geförderten Projektes ARAMiS wurde dieser Sachverhalt untersucht und geeignete Konzepte entwickelt. In dieser Arbeit werden unterschiedliche Anforderungen aus Rahmenrichtlinien wie ISO-Standards oder gesetzlichen Bestimmungen analysiert und auf sieben Kategorien von Anforderungen reduziert, welche für das grafische System im Fahzeug erfüllt werden müssen. Auf Grundlage dieser Anforderungen wird dann eine Architektur für einen Domänen-Server vorgeschlagen, welche mittels Virtualisierung und verschiedener Komponenten Isolation zwischen grafischen Anwendungen mit unterschiedlicher Sicherheitskritikalität bietet. Insbesondere die gemeinsame Nutzung der Anzeigen durch die Anwendungen mit unterschiedlicher Kritikalität stellt eine besondere Herausforderung dar. Die Konsolidierung von Steuergeräten wie der Headunit und den Kombiinstrumenten ermöglicht die flexible und dynamische Nutzung der viele Anzeigen, die den Anwendungen nun zur Verfügung stehen. Die dynamische Zuweisung der Anzeigebereiche muss die verschiedenen Anforderungen erfüllen und zu jeder Zeit die Ablenkung des Fahrers vermeiden. Zu diesem Zweck ist eine Zugriffskontrolle für die Anzeigebereiche notwendig. Hierzu werden Kontexte verwendet, um dynamisch festzustellen, welche Anwendung auf welchen Anzeigebereich zugreifen darf. Ein Kontext kann aus Sensorinformationen des Fahrzeugs (z. B. die Geschwindigkeit) oder aus Zuständen der Anwendungen (z. B. welcher Eintrag in der Auswahllite ausgewählt ist) abgeleitet werden. In dieser Arbeit wird ein Zugriffskontrollmodell vorgeschlagen, welches den Zugriff auf die Anzeigebereiche abhängig vom Kontext des Fahrzeugs und der Anwendungen regelt. Für eine möglichst flexible Erweiterbarkeit werden die Berechtigungen für die Anzeigebereiche zwischen Anwendungen, welche beispielsweise von verschiedenen Drittanbietern stammen, delegiert. Das Zugriffskontrollmodell ist vollständig formal definiert und es werden anhand von definierten Zuständen im Modell bestimmte Eigenschaften wie die Konfliktfreiheit bei Zugriff auf Anzeigebereiche bewiesen. Die Evaluation des Zugriffskontrollmodells wird anhand einer Implementierung der Konzepte durchgeführt und zeigt auf, dass die Latenz, die durch die Zugriffskontrolle entsteht, gering genug für Szenarien im Fahrzeug ist. Zudem wird ein Konzept für das Compositing von Fenstern vorgeschlagen, welche den grafischen Inhalt von Anwendungen enthalten und entsprechend ihrer Größe und Position auf einer Anzeige dargestellt werden. Hierzu wird zwischen rechteckigen Fenstern und Fenstern, die eine beliebige Form annehmen können, unterschieden. Rechteckige Fenster werden meist in den existierenden Fenstersystemen verwendet, für welche zwei populäre Ansätze für das Compositing mehrerer sich teils überdeckender Fenster existieren. In dieser Arbeit wird ein Hybridansatz für das Compositing vorgeschlagen, welcher die Vorteile der beiden Ansätze nutzt, um ein effizienteres Compositing durchzuführen, was anhand von verschiedenen Szenarien aufgezeigt werden kann. Die Verwendung von Fenstern in beliebiger Form erfordert andere Ansätze für das Compositing. Um durchgängig die flexiblen Möglichkeiten des Zugriffskontrollmodells zu ermöglichen, wird daher ein weiterer Ansatz für ein Compositing vorgeschlagen, welcher als Grundlage für die Definition der Fenster Bitmasken verwendet, die ebenfalls in den Berechtigungen für die Anzeigebereiche verwendet werden. Das Compositing gewährleistet dann, dass nur die Pixel auf der Anzeige geschrieben werden, welche in der Berechtigung für den Zugriff mittels Bitmaske definiert wurde. Anhand geeigneter Evaluationen wird aufgezeigt, dass diese Eigenschaft für das Compositing einen Mehraufwand darstellt, jedoch in Szenarien im Fahrzeug anwendbar ist. Zur Evaluation der Konzepte für ein Zugriffskontrollmodell und ein Compositing für Anzeigebereiche wird die Systemarchitektur basierend auf Virtualisierung in einem Demonstrator implementiert. Anhand des Demonstrators in Form eines Cockpits, welcher im Rahmen des Projektes ARAMiS entstanden ist, werden verschiedene Szenarien aus dem Fahrzeug demonstriert. Dadurch wird gezeigt, dass eine Konsolidierung der separaten Hardware-Plattformen für die Kombiinstrumente und die Headunit unter Berücksichtigung der verschiedenen Anforderungen für sicherheitskritische Anwendungen im Fahrzeug durch den Einsatz der vorgeschlagenen Konzepte möglich ist

    Számítógépes grafika

    Get PDF
    E könyv bevezető a generatív számítógépes grafika varázslatos világába, ahol a kacsalábon forgó palota kockákból, téglatestekből, gúlákból, kúpokból van felépítve, az RGB(0, 124, 195) színű égen fraktál-felhők úsznak, és a legkisebb királyfi textúra-füves tájon, Perlin-zajjal generált sziklák alatt, Barnsley-páfrányok között megy megkeresni az inverz kinematikával mozgatott hétfejű sárkányt
    corecore