Figure 1: Dynamic scenes ray traced using parallel fast construction of kd-tree. The scenes were rendered with shadows, 1 reflection (except HAND) and textures at 512x512 resolution on a 2-way Intel R Core TM 2 Duo machine. a) HAND -a static model of a man with a dynamic hand; 47K static and 8K dynamic triangles; 2 lights; 46.5 FPS. b) GOBLIN -a static model of a hall with a dynamic model of a goblin; 297K static and 153K dynamic triangles; 2 lights; 9.2 FPS. c) BAR -a static model of bar Carta Blanca with a dynamic model of a man; 239K static and 53K dynamic triangles; 2 lights; 12.6 FPS. d) OPERA TEAM -a static model of an opera house with a dynamic model of 21 men without instancing; 78K static and 1105K dynamic triangles; 4 lights; 2.0 FPS. AbstractWe present a highly parallel, linearly scalable technique of kd-tree construction for ray tracing of dynamic geometry. We use conventional kd-tree compatible with the high performing algorithms such as MLRTA or frustum tracing. Proposed technique offers exceptional construction speed maintaining reasonable kd-tree quality for rendering stage. The algorithm builds a kd-tree from scratch each frame, thus prior knowledge of motion/deformation or motion constraints are not required. We achieve nearly real-time performance of 7-12 FPS for models with 200K of dynamic triangles at 1024x1024 resolution with shadows and textures.
For modern SoCs used in mobile devices, it is vital to focus on the processing efficiency through leveraging a heterogeneous potential of the architecture. In this tutorial, we offer a hands-on experience with existing APIs for accelerating compute-intensive portions of a mobile application.Specifically, as a first step we introduce the essentials of the most popular general Compute APIs available in the mobile domain, including RenderScript*, OpenCL*, GLES pixel and recently compute shaders (plus quick comparison to more vendor-specific APIs like CUDA* and Metal*). We continue with medium-complexity topics like example API-specific performance tricks in action.Finally, we touch advanced aspects like tools-assisted performance analysis. General focus is on the changes required for the typical user code to leverage good GPU acceleration. Main section: Deep-dive with the APIsIn parallel to the basic how-to micro-lessons on each API we describe important design aspects behind the API. This includes view of memory spaces between CPUs and GPUs, partition to host and devices in the programming model, etc. We also cover APIs interoperability topics like RenderScript and OpenCL interop with GLES.Also throughout the tutorial, we are introducing data-driven insights into the current SoC architectures, with particular focus on difference with conventional discrete/integrated GPUs. The focus is on the performance tips that community learned so far. During the tutorial we also keep spotting the differences/similarities of the APIs and the performance implications, concluding with performance tips that span multiple APIs and target devices.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.