1 |
OpenGL ES-based Emulator with Performance Tuning in the 3DApplication Development Platform for Embedded SystemsHung, Chih-Yang 04 September 2009 (has links)
Developing 3D application for low-performance embedded system often contains some
limitations as hardware specifications (e.g. memory and processing efficiency). Existing
OpenGL ES emulators are designed to provide the development environment for
programmers, but these emulators often are lack of cross-platform performance tuning
analysis for embedded systems and are only suitable for a designated hardware. In this thesis,
we present an OpenGL ES emulator with performance tuning for developing 3D application
of embedded systems without conforming to a specific hardware. It can further help
programmers to emulate 3D application on PC for different development platforms.
|
2 |
An Emulator for OpenGL ES 2.0 based on C-language CompilerTsai, Feng-wen 29 July 2008 (has links)
OpenGL ES 2.0 is the newest 3D graphics technology for hand-held devices established by Khronos. Users need a shading language compiler and a graphics card which is supportive for OpenGL ES 2.0 to develop their application on OpenGL ES 2.0. Without a graphcis processing unit and a corresponding compiler, one can not develop a 3D graphics application based on OpenGL ES 2.0. In order to solve these problems, we proposed an emulator for OpenGL ES 2.0 based on C-language compiler. The proposed emulator applies C-language compiler and CPU to fulfill the specification of OpenGL ES 2.0. With the proposed emulator, application developers can develop a 3D graphics application for OpenGL ES 2.0 without a specific hardware and a corresponding compiler and hardware designers also can compare and debug when designing their own graphics processing unit.
|
3 |
Design of an Efficient Clipping Engine for OpenGL-ES 2.0 Vertex Shaders in 3D Graphics SystemsLin, Keng-Hsien 01 September 2009 (has links)
In computer graphics technique, the 3D graphic pipeline flow has two processing modules: Geometry module and Rendering module. The geometry module supports vertex coordinate transformation, vertex lighting computation, backface-culling, pre-clipping, and clipping functions. Clipping module clips the outside part of objects by view volume boundaries. Adding clipping module into geometry module will make 3D graphics pipeline flow more efficiency. Due to the sequential parsing nature of clipping, it causes the challenges to implement clipping function in hardware design. This paper implements a dual-path clipping engine placed after the Vertex Shader in geometry module and supports OpenGL-ES 2.0 specification. With the clipping engine, it reduces the unnecessary operations in 3D graphics pipeline flow and makes the performance efficient. The pipelined and shared hardware design is proposed to improve the area cost and throughput of the interpolation operation in clipping engine. The two vertices in/out clipping method is proposed in this paper. Users have more different choices of clipping algorithms for hardware implementation with respect to the performance and hardware limitation.
|
4 |
Graphics’ Card Utility withWebGL and N-Buffering : Improving performance using N-buffer strategies with WebGL / Kapacitetsutnyttjande av grafikkort med WebGL och N-buffert : Förbättrande av prestanda genom N-buffert strategier med WebGLPalm, Emanuel January 2014 (has links)
This thesis covers the utilization of N buffers in order to reduce resource contention on an abstract WebGL machine, and subsequently freeing up machine processing time. The buffers touched are frame buffers and vertex buffers. The paper also briefly covers the purpose and function of N buffering in relation to graphics and the function of a WebGL machine, the research and production of benchmark prototypes, some relevant benchmark results, and analysis and conclusions. The conclusion is made that the use of N>1 buffering is a potentially viable strategy for increasing WebGL performance, and some theories are outlined and suggestions given for further research to be made for the resolving of how this performance gain may be improved. / Denna uppsats granskar nyttjandet av N buffrar för att minska uppkomsten av resurskonflikter på en abstrakt WebGL maskin, och således frigöra processtid på maskinen i fråga. De typer av buffrar som vidrörs är så kallade frame buffers och vertex buffers. Uppsatsen går också igenom syftet och funktionen hos N buffrar i relation till grafik och funktionen hos en WebGL maskin, förstudien kring och produktionen av prestandatest-prototyper, en del relevanta mätresultat, samt analys och slutsatser. Slutsatsen nås att nyttjandet av N>1 buffrar är en potentiellt gångbar strategi för ökandet av prestanda hos WebGL, och en del teorier presenteras och förslag ges kring ytterligare studier för attöka prestanda ytterligare.
|
5 |
Mobilutveckling / Mobile developmentJeppsson, Andreas, Snygg, Johan January 2012 (has links)
Det finns flera olika tillvägagångssätt för att göra det möjligt att skapa program som kan exekveras på flera olika plattformar. Detta tillvägagångssätt för utveckling mot flera plattformar, kallas plattformsoberoende utveckling. En av teknikerna för plattformsoberoende utveckling, bygger på att de specifika plattformarna har tillgång till en virtuell maskin som programmet kompileras mot. Den virtuella maskinen översätter sedan koden till plattformens specifika maskinkod. Denna teknik används bland annat av plattformsoberoende språk som Java och .NET-familjen. Andra tekniker som exempelvis förprocessering (eng. Preprocessing), möjliggör plattformsoberoende genom att programmets källkod kompileras olika beroende på vilken plattform som programmet ska exekveras på.Studien hade för avseende att utreda problemen med plattformsoberoende utveckling mellan de mobila plattformarna Android, iOS och Windows Phone 7. Utredningen visade att det vid studiens utförande, inte fanns något ramverk eller annan teknik som till fullo hade stöd för att skapa ett högpresterande mobilspel för målplattformarna. Genom användandet av Mono for Android och XNA skapades ett plattformsoberoende spel för plattformarna med utvecklingsspråket C#. Plattformsoberoendet kunde uppnås tack vare Mono Runtime som är en implementation av Common Language Runtime för Android och iOS. Common Language Runtime är .NET’s plattformsoberoende teknik och är en virtuell maskin.Mobilspelet skapades för att påvisa att utveckling av plattformsoberoende funktionalitet för 2D- och 3D-grafik, användarinmatning och hantering av media, är möjligt. Spelprototypens funktionalitet togs fram genom att undersöka populära mobilspel, ute på marknaden idag. För plattformsoberoende grafik användes en spelmotor vid namn Axiom, för användarinmatningen samt hanteringen av media utvecklades egna lösningar. Med spelet visade studien att det är möjligt att skapa plattformsoberoende, högpresterande spel för plattformarna Android och Windows Phone 7. Att lösningen fungerar även för iOS bevisades bara teoretiskt då Axiom vid studiens tidpunkt inte hade fullt stöd för utveckling till plattformen. Teknikerna som lösningen utnyttjade var en virtuell maskin för varje plattform samt förprocessering som såg till att vissa delar av källkoden kompilerades specifikt för de olika plattformarna.Lösningen som studien presenterar är inte en fullskaligt plattformsoberoende lösning då källkoden innehåller vissa plattformsspecifika delar. Dock har lösningen visat att mycket av koden är plattformsoberoende mellan plattformarna. Det är främst implementationen av användarinmatningen och hanteringen av media som innehåller plattformsspecifik kod. Därför med dessa redan implementerade är det möjligt att nästan helt och hållet skapa ett plattformsoberoende, högpresterande spel för målplattformarna. / Program: Systemarkitekturutbildningen
|
6 |
Bus Interface Design Between Different Clock Domains and Its Application to OpenGL-ES 2.0 3D Graphics SystemsLin, Chi-Guang 26 July 2011 (has links)
Asynchronous bus interface units to AMBA AHB are designed so that an OpenGL ES 2.0 vertex shader can communicate with other hardware units via AHB bus under different working frequencies. The first design is to directly implement an asynchronous AHB wrapper for the vertex shader. The other two designs are based on Open Core Protocol (OCP) to allow for more flexibility. The hardware intellectual property (IP), vertex shader in this thesis, to OCP asynchronous unit is designed so that the IP can be developed independently with different bus protocols as long as the OCP-to-bus interface is provided for a particular bus protocol. With the help of asynchronous IP-to-OCP and OCP-to-AHB interface units, the vertex shader IP can operate at different frequencies from the AHB bus. Furthermore, the same vertex shader (VS) can be connected to other bus protocol (such as AXI) of different frequencies if the OCP-to-AXI interface is provided because the the asynchronous VS-to-OCP have been designed in this thesis.
|
7 |
Design of a Multi-Core Multi-thread Floating-Point Processor and Its Application in Computer GraphicsYeh, Chia-Yu 06 September 2011 (has links)
Graphics processing unit (GPU) designs usually adopts various computer architecture techniques to boost the computation speed, including single-instruction multiple data (SIMD), very-long-instruction word (VLIW), multi-threading, and/or multi-core. In OpenGL ES 2.0, user programmable vertex shader (VS) hardware unit can be designed using vectored SIMD computation unit so that it can efficiently compute the matrix-vector multiplication, one of the key operations in vertex transformation. Recently, high-performance GPU, such as Telsa series from nVidia, is designed with many-core architectures with each core responsible for scalar operations. The intention is to allow for efficient execution of general-purpose computations in addition to the specialized graphics computations. In this thesis, we design a scalar-based multi-threaded GPU design that is composed of four scalar processors, one special-function unit, and can execute multi-threaded instructions. We use the example of vertex transformation to demonstrate execution efficiency of the scalar-based multi-threaded GPU. We also make comparison with the vector-based SIMD GPU.
|
8 |
On the Porting of Qt/Embedded and Its Integration with OpenGL ESTsai, Wen-Chia 10 February 2006 (has links)
¡@¡@An embedded system has improved quickly in recent years and now functions like a small computer. Equipped with operating systems (OS), graphic user interfaces (GUI), and software developed for various platforms, an embedded system provides users with services more powerful and friendlier than ever. Qt/Embedded and OpenGL ES are an OS and a GUI developed for embedded systems. In this thesis, We integrated Qt/Embedded with OpenGL ES on a Versatile PB 92EJ-S and conducted various tests.
¡@¡@The Versatile PB 92EJ-S was equipped with ARM926EJ-S, an onboard chip capable of performing VFP9 vector floating operation. However, not all embedded systems are powered by a floating coprocessor. To make the test results applicable to all systems, We performed only fixed-point operations, a practice also improving the overall performance. In addition, to provide communications between OpenGL ES and Windows and interfaces for OpenGL ES to draw, We implemented EGL, a platform interface layer defined in OpenGL ES. Furthermore, We developed GLUT ES, a modification of GLUT, to make the embedded system compatible with Windows of different versions. Finally, We benchmarked the platform with programs developed by GLUT ES interfaces and OpenGL ES.
|
9 |
SiLu : Riktlinjer för spelmotor / SiLu : Guidelines for game engineRobsahm, Lucas, Sönnby, Simon January 2008 (has links)
Spelmotor är benämningen på den komponent som hanterar en del av mekaniken i ett datorspel. Förutom funktioner för grafik, fysik etc. finns också funktioner för rörelser, interaktion med världen etc. I detta examensarbete går vi in på hur en spelmotor för morgondagens mobiltelefon kan se ut, samt vad dagens mobiltelefoners hårdvara och mjukvara saknar för att dagens PC-spel ska kunna portas till dem. Stödet för att spela avancerade spel på mobiltelefoner växer ständigt och inom några år bör hårdvaran vara ungefär densamma som på PC. För att kunna använda maximal kraft ur en avancerad mobiltelefon (utan flera års utvecklingstid) behövs någon sorts motor vilket saknas i dagsläget, riktlinjer för denna motor är målet med det här examensarbetet. Vi har granskat ett fåtal befintliga spelmotorer för PC-datorer och med hjälp av litteraturanalys, experiment och intervjuer kommit fram till ett svar. Som grafik bibliotek har vi valt OpenGL-ES 2.0 som har stöd för den funktionalitet som krävs. Vårt mål med arbetet, och även en hypotes har varit att användaren inte ska behöva specifika mobiltelefon-kunskaper för att använda den slutgiltiga spelmotorn. För grundläggande användning av en välstrukturerad spelmotor krävs inga avancerade programmeringskunskaper. Därför har vi valt att genomföra detta examensarbete för att underlätta framtida spelutveckling på mobiltelefoner med hjälp av OpenGL-ES 2.0.
|
10 |
Inledning till spelutveckling för AndroidSpelutveckling för Android med Java och OpenGL ES / Inledning till spelutveckling för Android : Spelutveckling för Android med Java och OpenGL ESCarlsson, Daniel, Einarsson, Peder January 2011 (has links)
This thesis deals with the problems you face as a new game developer for the mobile platform Android when developing a 3D game and presents solutions to these problems. It also explores which optimizations should be made to increase performance and how well suited for game development the Android platform is. A simple 3D game for version 2.2 of Android was developed to examine this. The conclusion was that a good game structure for Android separates logic and rendering by running these separately in different threads. Solutions to rendering and updating of game logic were presented and optimizations were implemented for performance, although fewer optimizations were needed than was anticipated. In conclusion, Android is well suited for game development and a powerful platform for developers. / Denna uppsats tar upp de problem man stöter på som ny spelutvecklare till den mobila plattformen Android vid utvecklandet av ett 3D-spel och presenterar lösningar på dessa problem. Den undersöker även vilka optimeringar man bör göra för att öka sin prestanda samt hur väl anpassad Android-plattformen är för spelutveckling. För att undersöka detta utvecklades ett enkelt 3D-spel till Android version 2.2. Slutsatsen var att en bra spelstruktur i Android skiljer på logik och utritning genom att köra dessa separat i olika trådar. Lösningar på rendering och uppdatering av spellogik presenterades och optimeringar implementerades för prestanda, dock krävdes färre optimeringar än väntat. Slutsatsen var att Android är väl anpassat för spelutveckling och en kraftfull plattform för utvecklare.
|
Page generated in 0.053 seconds