81 |
Optimisation of a Graph Visualization Tool: Vizz3DCarlsson, Johan January 2006 (has links)
Vizz3D is a graph visualization tool developed at Växjö University. It is used to visualize different aspects of software systems in 3D, based on the static analysis of source code. It can optionally use Java3D or OpenGL as a graphics library. In order to visualize huge 3D structures performance is very important. This comes from the fact that the structures must be redrawn with no delay when a user interacts with the system. If there were a delay the user would loose the cognitive orientation because his interaction and the feedback would not fit. Vizz3D was not capable to run huge visualizations fast enough, and therefore careful optimisation was essential. Additionally, the Vizz3D tool is just at the beginning of its software life cycle. For optimisation, JOGL (Java Bindings for OpenGL) was chosen. The extension with a JOGL version was necessary since the GL4Java (OpenGL for Java) wrapper used for the implementation of Vizz3D is no longer supported. JOGL was therefore needed for assuring future maintainability. The JOGL version of Vizz3D was optimised to be able to visualize huge graphs with acceptable performance. To determine what areas of Vizz3D that consumed most of its resources, the process of profiling were used. The system performance was improved according to several aspects: Computational performance, Scalability, Perceived performance, RAM footprint and Start-up time. The results were then evaluated by using benchmarking techniques. After optimisation, the performance of Vizz3D was improved a lot which led to that huge graphs now could be visualized with acceptable performance.
|
82 |
Implementing and Evaluating CPU/GPU Real-Time Ray Tracing SolutionsNorgren, David January 2016 (has links)
Ray tracing is a popular algorithm used to simulate the behavior of light and is commonly used to render images with high levels of visual realism. Modern multicore CPUs and many-core GPUs can take advantage of the parallel nature of ray tracing to accelerate the rendering process and produce new images in real-time. For non-specialized hardware however, such implementations are often limited to low screen resolutions, simple scene geometry and basic graphical effects. In this work, a C++ framework was created to investigate how the ray tracing algorithm can be implemented and accelerated on the CPU and GPU, respectively. The framework is capable of utilizing two third-party ray tracing libraries, Intel’s Embree and NVIDIA’s OptiX, to ray trace various 3D scenes. The framework also supports several effects for added realism, a user controlled camera and triangle meshes with different materials and textures. In addition, a hybrid ray tracing solution is explored, running both libraries simultaneously to render subsections of the screen. Benchmarks performed on a high-end CPU and GPU are finally presented for various scenes and effects. Throughout these results, OptiX on a Titan X performed better by a factor of 2-4 compared to Embree running on an 8-core hyperthreaded CPU within the same price range. Due to this imbalance of the CPU and GPU along with possible interferences between the libraries, the hybrid solution did not give a significant speedup, but created possibilities for future research.
|
83 |
Implementation of SceneServer : a 3D software assisting developers of computer vision algorithmsBennet, Fredrik, Fenelius, Stefan January 2003 (has links)
The purpose behind this thesis is to develop a software (SceneServer) that can generate data such as images and vertex lists from computer models. These models are placed in a virtual environment and they can be controlled either from a graphical user interface (GUI) or from a MATLAB client. Data can be retrieved and processed in MATLAB. By creating a connection between MATLAB and a 3D environment, computer vision algorithms can be designed and tested swiftly, thus giving the developer a powerful platform. SceneServer allows the user to manipulate, in detail, the models and scenes to be rendered. MATLAB communicates with the SceneServer application through a Java library, which is connected to an interface in SceneServer. The graphics are visualised using Open Scene Graph (OSG) that in turn uses OpenGL. OSG is an open source cross-platform scene graph library for visualisation of real-time graphics. OpenGL is a software interface for creating advanced computer graphics in 2D and 3D.
|
84 |
A Depth of Field Algorithm for Realtime 3D Graphics in OpenGL / Algoritm i OpenGL för att rendera realtids 3D grafik med fokusHenriksson, Ola January 2002 (has links)
The company where this thesis was formulated constructs VR applications for the medical environment. The hardware used is ordinary dektops with consumer level graphics cards and haptic devices. In medicin some operations require microscopes or cameras. In order to simulate these in a virtual reality environment for educational purposes, the effect of depth of field or focus have to be considered. A working algorithm that generates this optical occurence in realtime, stereo rendered computer graphics is presented in this thesis. The algorithm is implemented in OpenGL and C++ to later be combined with a VR application simulating eye-surgery which is built with OpenGL Optimizer. Several different approaches are described in this report. The call for realtime stereo rendering (~60 fps) means taking advantage of the graphics hardware to a great extent. In OpenGL this means using the extensions to a specific graphic chip for better performance, in this case the algorithm is implemented for a GeForce3 card. To increase the speed of the algorithm much of the workload is moved from the CPU to the GPU (Graphics Processing Unit). By re-defining parts of the ordinary OpenGL pipeline via vertex programs, a distance-from-focus map can be stored in the alpha channel of the final image with little time loss. This can effectively be used to blend a previously blurred version of the scene with a normal render. Different techniques to quickly blur a renderedimage is discussed, to keep the speed up solutions that require moving data from the graphics card is not an option.
|
85 |
A study on the use of OpenGL in window systems / En studie av hur OpenGL används i fönstersystemPersson, Johan January 2004 (has links)
OpenGL is getting used more in window system as a way of improving performance and enabling new functionality. Examples of two systems using different approaches of how OpenGL is being used are Quartz Extreme and Fresco. Quartz Extreme uses window composition which assures fast redisplay and Fresco on the other hand uses a structured graphics approach which utilises OpenGL on a much lower level compared to Quartz Extreme which operates at a window level. Fresco’s way brings great flexibility and an ability to mix 2D and 3D-objects on the desktop. But each of the approaches has its problems; Quartz extreme requires a large amount of memory for buffering of the window contents and Fresco has performance problems when redisplaying complex structures. / OpenGL används mer och mer i fönstersystem som ett sätt att förbättra prestanda och möjliggöra ny funktionalitet. Två exempel på olika sätt att nyttja OpenGL är Quartz Extreme och Fresco, Quartz Extreme använder fönster komposition vilket garanterar snabbt omritning av fönster medan Fresco använder Structured Graphics vilket använder OpenGL på en mycket lägre nivå inom fönstersystemet jämfört med Quartz Extreme som är på fönster nivå. Frescos angreppsätt medför en större flexibilitet och möjligheten att blanda 2D och 3D-objekt på skrivbordet. Men bägge angreppsätten har sina nackdelar; Quartz Extreme kräver en stor mängd minne eftersom den buffrar fönsterinnehållet och Fresco får problem med prestandan vid omritning av komplexa strukturer.
|
86 |
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.
|
87 |
Difficulty of porting MVC Supervising Controller game from Windows OS to Android OS platform.Grinchenko, Oleksandr January 2012 (has links)
No description available.
|
88 |
PixelCity Sharp-X : Jämförelser ur utvecklarperspektiv mellan C++ med OpenGL och C# med Direct3DEriksson, Felix January 2011 (has links)
This essay serves to illustrate the main practical differences between the popular medium-level programming language C++ (C Plus Plus), and the newer high-level language C# (C Sharp). It will focus on the aspects that are readily apparent to the application programmer, such as differing syntax, constraints and capabilities. It will also feature a similar comparison between the open source OpenGL graphics library, and the proprietary Direct3D graphics library owned by Microsoft Corporation. It will not go into the differences in ”under the hood” mechanics that the application programmer seldom have to consider after having chosen his programming language or graphics API, such as C# being compiled into an intermediate language and is run on a virtual machine where C++ is compiled directly to machine code, or the differing principles of rendering in OpenGL and Direct3D. This is by no means comprehensive, many things have been left out or overlooked.
|
89 |
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.
|
90 |
Improving rendering times of Autodesk Maya Fluids using the GPUAndersson, Jonas, Karlsson, David January 2008 (has links)
Fluid simulation is today a hot topic in computer graphics. New highly optimized algorithms have allowed complex systems to be simulated in high speed. This master thesis describes how the graphics processing unit, found in most computer workstations, can be used to optimize the rendering of volumetric fluids. The main aim of the work has been to develop a software that is capable of rendering fluids in high quality and with high performance using OpenGL. The software was developed at Filmgate, a digital effects company in Göteborg, and much time was spent making the interface and the workflow easy to use for people familiar with Autodesk Maya. The project resulted in a standalone rendering application, together with a set of plugins to exchange data between Maya and our renderer. Most of the goals have been reached when it comes to rendering features. The performance bottleneck turned out to be reading data from disc and this is an area suitable for future development of the software.
|
Page generated in 0.029 seconds