One of the basic requirements against video games is running in real time. This means 30-60 FPS depending on the application. If this requirement is violated, the user experience suffers. Optimizing the rendering algorithm can decrease the amount of time it takes to render a frame.
In this thesis I describe methods that decreases the amount of time the application spends in the GPU driver by choosing the right rendering algorithm, GPU resource management strategy, implementing the rendering algorithm using an explicit API and by using parallel command buffer recording that is made available by explicit APIs.
I also describe briefly the Level of Detail technology of terrains based on non uniformly subdivided quadtrees and the triangle mesh generation from this data structure.
I discuss the software design patterns that make implementation of such a program easier and I evaluate the previously introduced techniques on a personal computer by measuring its performance with a properly constructed test scene.