OPENGL TABANLI ANİMASYONLARDA GÖRÜNTÜ KALİTESİNİN CUDA MİMARİSİ İLE İYİLEŞTİRİLMESİ
Gerçek hayatta meydana gelen birçok fiziksel olayın bilgisayarlar yardımıyla grafiksel olarak modellenebilmesi amacıyla 2 veya 3 boyutlu görüntü oluşturma teknolojilerinden faydalanılmaktadır. Öte yandan grafik uygulamalarının yoğunluğu artıkça söz konusu bu modellemelerin hem daha hızlı yapılabilmesi ve hem de görüntü kalitelerinin artırılması gereksinimleri ortaya çıkmaktadır. Bu doğrultuda 2006 yılının sonlarında Nvidia firması tarafından CUDA isimli bir yazılım ve donanım mimarisi piyasaya sürülmüştür. Bu mimari sayesinde ekran kartları üzerinde bulunan çok sayıdaki grafik işlemcisi genel amaçlı problemlerin paralel olarak çözülebilmesine katkı sağlar hale gelmiştir. Bu çalışma kapsamında bu yeni paralel hesaplama mimarisi dikkate alınmış, C++ ve OpenGL kütüphanesi kullanılarak farklı davranış özelliklerine sahip insansı robotlardan oluşan bir animasyon uygulaması geliştirilmiştir. Bu animasyon öncelikle merkezi işlemci üzerinde seri olarak çalıştırılmış ve sonrasında CUDA mimarisi kullanılarak paralelleştirilmiştir. En sonunda aynı animasyonun seri ve paralel versiyonları saniyede oluşturulan görüntü karesi sayıları temel alınarak karşılaştırılmıştır ve paralel uygulamanın açık ara yüksek kaliteli görüntü ürettiği gözlemlenmiştir
Image Quality Improvement on OpenGL-Based Animations by Using CUDA Architecture
2D or 3D rendering technology is used for graphically modelling many physical phenomena occurring in real life by means of the computers. On the other hand, the ever-increasing intensity of the graphics applications require that the image quality of the so-called modellings is enhanced and they are performed more quickly. In this direction, a new software and hardware-based architecture called CUDA has been introduced by Nvidia at the end of 2006. Thanks to this architecture, larger number of graphics processors has started contributing towards the parallel solutions of the general-purpose problems. In this study, this new parallel computing architecture is taken into consideration and an animation application consisting of humanoid robots with different behavioral characteristics is developed using the OpenGL library in C++. This animation is initially implemented on a single serial CPU and then parallelized using the CUDA architecture. Eventually, the serial and the parallel versions of the same animation are compared against each other on the basis of the number of image frames per second. The results reveal that the parallel application is by far the best yielding high quality images.
___
- https://open.gl/textures (Erişim Tarihi: 08.05.2015). OpenGL Doku Haritalama.
- Ahn, H. S., (2014). OpenGL Pixel Buffer Object (PBO). http://www.songho.ca/opengl/gl_pbo.html (Erişim Tarihi: 05.03.2015)
- Akçay, M., Şen, B., Orak, İ. Ö., Çelik, A., (2011). Paralel Hesaplama ve CUDA. 6. Uluslararası İleri Teknolojiler Sempozyumu (İATS’11), Elazığ.
- Archirapatkave, V., Sumilo, V., See, S.C.W., Achalakul, T., (2011). GPGPU Acceleration Algorithm for Medical Image Reconstruction. Ninth IEEE International Symposium on Parallel and Distributed Processing with Applications, Singapore.
- Balfour, J., (2011). Introduction to CUDA. http://mc.stanford.edu/cgi-bin/images/f/f7/Darve_cme343_cuda_1.pdf (Erişim Tarihi: 20.03.2015)
- Centelles, A. P., Sunyer, N., Ripolles, O., Chover, M., Sbert, M., (2011). Rain Simulation in Dynamic Scenes. International Journal of Creative Interfaces and Computer Graphics, 2 (2), 23-36
- Çolak, M. A., (2010). Grafik Kartı Üzerinde Paralel Hızlandırılmış Işın İzleme. Yüksek Lisans Tezi, İstanbul Teknik Üniversitesi Fen Bilimleri Enstitüsü, İstanbul.
- Huaming, L., Baosheng, K., (2014). Real-time Physically Cloth Simulation with CUDA. Computer Modelling & New Technologies, 18 (12B), 28-32.
- Kılıç, O. M., (1995). An Open Graphics Library (OpenGL) based Toolbox for Biomedical Image Display and Processing. Yüksek Lisans Tezi, Boğaziçi Üniversitesi Biyomedikal Mühendisliği Enstitüsü, İstanbul.
- Li, W., Huang, X., Zheng, N., (1997). Parallel Implementing OpenGL on PVM. Parallel Computing, 23 (1997) 1839-1850.
- Lin, C.Y., Lee, W.S., Tang, C.Y., (2012). Parallel Shellsort Algorithm for Many-Core GPUs with CUDA. International Journal of Grid and High Performance Computing, 4 (2), 1-16.
- Ma, L., Zhao D.X., Yang Z.Z., (2013). A Software Tool for Visualization of Molecular Face (VMF) by Improving Marching Cubes Algorithm. Computational and Theoretical Chemistry, 1028 (2014), 34–45.
- Manavski, S.A., (2007). CUDA Compatible GPU as an Efficient Hardware Accelerator for AES Cryptography, IEEE ICSPC 2007, 24-27.
- Nuli, U. A., Kulkarni P. J., (2012). SPH Based Fluid Animation Using CUDA Enabled Gpu. International Journal of Computer Graphics & Animation (IJCGA), 2(4), 45-51.
- Nvidia, (2007). Nvidia CUDA (Compute Unified Device Architecture). http://moss.csc.ncsu.edu/~mueller/cluster/nvidia/0.8/NVIDIA_CUDA_Programming_Guide_0.8.2.pdf (Erişim Tarihi: 25.05.2015).
- Nvidia, (2014). CUDA C Programming Guide. http://docs.nvidia.com/cuda/cuda-c-programming-guide/#axzz3LyTDrCdH (Erişim Tarihi: 25.04.2015).
- Okidsu, Y., Ino, F., Hagihara, K., (2010). High-Performance Cone Beam Reconstruction using CUDA Compatible GPUs. Parallel Computing, 36 (2010) 129–141.
- Şaşıoğlu, S., (2010). OpenGL ile 3 Boyutlu Arazi Modellerinin Üretimi ve Çoklu Çözünürlükte Sadeleştirilmesi. Yüksek Lisans Tezi, Gazi Üniversitesi Fen bilimleri Enstitüsü, Ankara.
- Tokatlı, A., (2010). Modelling of Geological Measurements with OpenGL. Yüksek Lisans Tezi, Eskişehir Osmangazi Üniversitesi Fen Bilimleri Enstitüsü, Eskişehir.
- Wang, G., Huang, L., (2011). 3D Geological Modelling for Mineral Resource Assessment of the Tongshan Cu Deposit. Elsevier, 3(4), 483-491.
- Yıldız, E., (2011). Nvidia CUDA ile Yüksek Performanslı Görüntü İşleme. Yüksek Lisans Tezi, İstanbul Üniversitesi Fen Bilimleri Enstitüsü, İstanbul.