The OpenGL raster graphics Application Programming Interface (API) is well known amongst computer graphics programmers. The OpenGL Shading Language (GLSL) is not as well known. Even lesser known is the OpenGL, POV-Ray and Raygl mix (developed at the University of Noth Dakota). While raster graphics dominates the interactive computer graphics industry, these systems are not able to produce scenes with the realism required by ventures such as the movie industry. For such markets, raytracing is popular. Raytracing applications use application specific scene description languages (SDL) to describe the objects in a scene. However, there is no accepted standard SDL and an open source library to convert OpenGL code to SDL code would allow programmers who are already familiar with OpenGL to smoothly transition between raster graphics and raytracing without the need to learn an application specific SDL. Thus, several years ago we developed an OpenGL like API that would interface with OpenGL and the OpenGL Utility Toolkit (GLUT) and that would write Persistence of Vision Raytracer (POVRay) scene files. However, raytracing is slow; too slow for real-time animations that require near photo realism. One of the first shading languages developed was RenderMan (1988); it used the CPU to generate cinematic effects. Since then, Microsoft's High-Level Shading Language (HLSL) and OpenGL's OpenGL Shading Language (GLSL) have been developed for real-time use on a GPU. The goal of this work was to compare the three animation techniques (OpenGL, OpenGL with RayGL and POV-Ray, and GLSL) with regards to quality of output, amount and difficulty of coding required. We are particularly interested in whether or not the output is 'Hollywood' quality or just good enough for gaming and how we might apply the lessons learned to our graphics courses. All three techniques display a scene with stationary platform with a bouncing ball on top.
展开▼