Explore chapters and articles related to this topic
Graphics Programming
Published in Aditi Majumder, M. Gopi, Introduction to Visual Computing, 2018
OpenGL is one of the oldest cross‐language cross‐platform interfaces for 3D graphics rendering providing a way to interact with GPUs. GLUT is the OpenGL Utility toolkit for writing OpenGL programs independent of the window system used for rendering the scene. It implements a simple windowing API for OpenGL making it much easier to learn OpenGL. GLUT also provides a portable API across multiple OS and PCs. OpenGL is defined as a set of functions which can be called by the client program. The functions are similar superficially to C, but are language independent. OpenGL’s popularity is primarily due to its quality of official documentation which are known by the colors of their covers (the red, orange, green and blue books are the first to fourth edition of the OpenGL Programming Guide). Often accompanying libraries like GLU, GLEE or GLEW bind with OpenGL to support useful features that may not be supported in contemporary hardware like mipmapping or tessellation. OpenGL Shading language (GLSL) is a high level shading language based on the syntax of C, first designed to allow OpenGL to access the programmable GPUs with using assembly level or hardware specific languages. OpenGL ES is an extension of OpenGL API for programming for embedded devices. WebGL is a Javascript API for rendering 3D graphics. Direct3D is a similar API offered by Microsoft which promises better performance on Windows OS while Metal is an API that debuted for Apple’s iOS8.
Mobile 3D Solutions
Published in Jithesh Sathyan, Anoop Narayanan, Navin Narayan, K V Shibu, A Comprehensive Guide to Enterprise Mobility, 2016
Jithesh Sathyan, Anoop Narayanan, Navin Narayan, K V Shibu
OpenGL ES is a royalty-free, cross-platform API for full-function 2D and 3D graphics on embedded systems, including consoles, phones, appliances, and vehicles. Figure 27.3 demonstrates the different mobile platforms supporting OpenGL. OpenGL ES 1.X is for fixed function hardware and offers acceleration, image quality, and performance. OpenGL ES 2.X enables full programmable 3D graphics. OpenGL SC is tuned for the safety critical market. Anyone can download the OpenGL ES specification and implement and ship products based on OpenGL ES. OpenVG is a set of royalty-free APIs for consumer electronics devices enabling them to have hardware-accelerated 2D vector and raster graphics. It provides interfaces for vector graphics libraries such as Flash and SVG. OpenVG is targeted for handheld devices such as portable mapping applications, e-book readers, gaming devices, and low-level graphics devices, with small screens that require portable acceleration of high-quality vector graphics. OpenVG works perfectly for the hardware accelerator, which will reduce the power consumption up to 90% compared with the software engine.
Interactive computation and visualization of deep brain stimulation effects using Duality
Published in Computer Methods in Biomechanics and Biomedical Engineering: Imaging & Visualization, 2020
J. Vorwerk, D. McCann, J. Krüger, C. R. Butson
To reach a broader target audience, it is desirable to make the Duality app available for a larger selection of devices. Currently, the use of Duality is limited to iOS devices, i.e. iPhones and iPads. However, the Duality app is split into an iOS-frontend (Duality_iosFrontend, https://github.com/SCIInstitute/Duality_iosFrontend) implemented in Objective-C++ and a core (Duality_Client, https://github.com/SCIInstitute/Duality_Client) implemented in C++. This design opens the possibility to implement Duality clients for a variety of other devices and operating systems. As no external libraries are used in the implementation of the rendering, the only requirement is OpenGL ES support. The mocca-library can be adapted to other platforms as well. A second goal to reach a broader target audience is to simplify the scene generation. As all scenes contain or are based on individual patient (imaging) data, the generation of the displayed scenes currently involves manual editing of scripts and requires the use of multiple (command line based) tools. For example, the surface and image files have to be converted to the g3d and i3m format, respectively, using the tool uvfconvert and the json-files have to be generated manually. To reach a large target audience of both experimentalists and clinicians it is desirable to unify as many of these steps in a single tool with a graphical user interface in the future. Already now, most of these steps can be simplified by using, e.g., python scripts.
Sustainable and flexible industrial human machine interfaces to support adaptable applications in the Industry 4.0 paradigm
Published in International Journal of Production Research, 2019
Aitor Ardanza, Aitor Moreno, Álvaro Segura, Mikel de la Cruz, Daniel Aguinaga
The presented software architecture is divided into several modules (see Figure 5), being the core module the manager of the entire logic of the platform who links the rest of the modules. The communication module is responsible for managing the integrated protocols in the system that are needed to use to communicate with different devices and machines in the network. The 3D rendering module is based on an OpenGL ES based 3D render library to manage the 3D environment for the simulations and virtual representations of processes. The vision module contains the necessary functionalities for the acquisition and processing of images that the system might need for computer vision tasks. Finally, the UI layer introduces the GUI library (Qt) that is used for the design of interfaces and graphics.
A network quotation framework for customised parts through rough requests
Published in International Journal of Computer Integrated Manufacturing, 2018
Wei Liu, Chao Yang, Xionghui Zhou
Through a web-based interface, which is developed in HTML5 with WebGL, the users can upload the models and append or edit the attributes friendly. WebGL is a 3D graphics standard which combines JavaScript and OpenGL ES 2.0, and it can provide hardware acceleration for 3D rendering in HTML5 canvas. 3D scenes and models can be illustrated in the web browser smoothly with the aid of graphics card. Moreover, complex data visualisation and navigation can also be directly created with WebGL. WebGL technology eliminates the trouble of installing plugins when creating web pages with complex 3D structures.