6 research outputs found
Performance Analysis of BigDecimal Arithmetic Operation in Java
The Java programming language provides binary floating-point primitive data types such as float and double to represent decimal numbers. However, these data types cannot represent decimal numbers with complete accuracy, which may cause precision errors while performing calculations. To achieve better precision, Java provides the BigDecimal class. Unlike float and double, which use approximation, this class is able to represent the exact value of a decimal number. However, it comes with a drawback: BigDecimal is treated as an object and requires additional CPU and memory usage to operate with. In this paper, statistical data are presented of performance impact on using BigDecimal compared to the double data type. As test cases, common mathematical processes were used, such as calculating mean value, sorting, and multiplying matrices
Pre-computed surface radiance transfer
Rendering a complex global illumination scene requires an extensive computational resource. It is hard to achieve a real time rendering of a complex object using explicit 3D information. To tackle this obstacle, many techniques have been introduced to close the gap between complex 3D scene and real time rendering. One of the proposed solutions is using an image-based rendering technique. Image-based rendering is a method to achieve the desired image by referencing the sampled image as a source. This thesis will focus on a mix between image-based rendering and geometrybased rendering. Instead of rendering directly using a global illumination method, we use a set of image, which are captured during the offline rendering. We call the firstprocess as light transport pre-calculation process. These images then treated as a texture and will be attached to the polygon during the online rendering process. Based on the viewer position, the system decides which value to attach on the polygon. This rendering process however requires a lot of calculation. Luckily, recent graphic card allows developer to exploit GPU‟s hardware by making it possible to reprogram the rendering pipeline. As a graphic dedicated hardware, GPU has a lot of advantage to do a rendering compared to CPU. For example its nature of parallel processing is an advantage considering most of rendering process is a parallel processing. Other than splitting the computational task, we also would like to see how we can use the availability of memory. This can be done by processing the scene before the rendering process took place. This thesis will discuss and implement how to split the burden of processing power by rendering a pre-calculated data for later render. Since the pre-rendered data could be huge, it is also important to discuss a compression method that can be applied in GPU architecture and fast enough to be rendered as a real time. Keywords: Pre-computed Surface Radiance Transfer, Global Illumination, BRDF, Image Based Modeling and Rendering, Real Time Rendering, GPU Programming, GLSL