Design of a high-performance computer graphics interface in a high-level programming language

Loading...
Thumbnail Image
Authors
Campbell, Duncan
Advisors
Asaduzzaman, Abu
Issue Date
2023-05
Type
Thesis
Keywords
Research Projects
Organizational Units
Journal Issue
Citation
Abstract

At present there is a proliferation of various computer graphics application programming interfaces (APIs) used across various platforms. Older APIs such as OpenGL and Direct3D 9, 10, and 11 are still commonly used and have a broad base of hardware and operating system support but have design limitations that make translating a graphical workload into commands sent to the graphics processing unit (GPU) more complex than it needs to be. Modern APIs including Vulkan, Direct3D 12, and Metal adopt a new approach of shifting some of the tasks that were previously done by the manufacturer-provided driver software onto the application using the API. In exchange, these APIs offer more direct access to the underlying hardware where performance is less dependent on the idiosyncrasies of the driver software. Despite these different approaches between APIs the underlying hardware between GPUs has enough similarity that regardless of which API or platform is chosen there are common programming patterns used. In this paper we define the structure of a new graphics API designed using common constructs in high-level programming languages which translates calls to it to a lowerlevel API. We then measure the performance of a sample application using the API with a pair of different backends and compare the results with those from an implementation directly using a lower-level API.

Table of Contents
Description
Thesis (M.S.)-- Wichita State University, College of Engineering, Dept. of Electrical and Computer Engineering
Publisher
Wichita State University
Journal
Book Title
Series
PubMed ID
DOI
ISSN
EISSN