{"id":8300,"date":"2012-10-01T23:12:12","date_gmt":"2012-10-01T20:12:12","guid":{"rendered":"http:\/\/hgpu.org\/?p=8300"},"modified":"2012-10-01T23:12:12","modified_gmt":"2012-10-01T20:12:12","slug":"gpgpu-accelerated-texture-based-radiosity-calculation","status":"publish","type":"post","link":"https:\/\/hgpu.org\/?p=8300","title":{"rendered":"GPGPU Accelerated Texture-Based Radiosity Calculation"},"content":{"rendered":"<p>Radiosity is a popular global illumination algorithm capable of achieving photorealistic rendering results. However, its use in interactive environments is limited by its computational complexity. This paper presents a GPGPU-based implementation of the gathering radiosity approach using texture-based discretisation and the OpenCL framework. Hemicubes are rendered to a texture array and are processed by OpenCL kernels in parallel to compute the output radiance of the patches. Results show that even with the high synchronisation overhead of the OpenGL-OpenCL interoperability, the proposed method is an order of magnitude faster than a CPU-based implementation, and that it approaches interactive speeds. Investigation of the influence of different parameters shows that an increase in lightmap texture resolution and hemicube size results in an increase in computation time, while an increase in texture array dimensions results in a decrease in computation time.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Radiosity is a popular global illumination algorithm capable of achieving photorealistic rendering results. However, its use in interactive environments is limited by its computational complexity. This paper presents a GPGPU-based implementation of the gathering radiosity approach using texture-based discretisation and the OpenCL framework. Hemicubes are rendered to a texture array and are processed by OpenCL [&hellip;]<\/p>\n","protected":false},"author":351,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[36,11,90,3],"tags":[1787,1782,187,20,1088,1793,182,144],"class_list":["post-8300","post","type-post","status-publish","format-standard","hentry","category-algorithms","category-computer-science","category-opencl","category-paper","tag-algorithms","tag-computer-science","tag-glsl","tag-nvidia","tag-nvidia-geforce-gtx-550-ti","tag-opencl","tag-opengl","tag-rendering"],"views":2468,"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/hgpu.org\/index.php?rest_route=\/wp\/v2\/posts\/8300","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hgpu.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hgpu.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hgpu.org\/index.php?rest_route=\/wp\/v2\/users\/351"}],"replies":[{"embeddable":true,"href":"https:\/\/hgpu.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=8300"}],"version-history":[{"count":0,"href":"https:\/\/hgpu.org\/index.php?rest_route=\/wp\/v2\/posts\/8300\/revisions"}],"wp:attachment":[{"href":"https:\/\/hgpu.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8300"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hgpu.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=8300"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hgpu.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=8300"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}