**3.1 Rendering**

Rendering can be perceived as the final process of creating the final 2D image from the prepared scene. These images are played at some speed rate. It is called frames per second (FPS). This variable indicates how many final 2D images are rendered in 1 second on the screen. The higher the value, the smoother is playback image. FPS can be used as final control of how great was handled graphics optimalization with a given graphics processing unit (GPU). It is important to handle draw calls effectively as it results in smoother applications. Rendering can be divided into real-time rendering and non-real-time rendering.

*Real-time rendering* is used in interactive media such as games and simulations. It means final 2D images are being processed in real time, according to where the camera is positioned and how it is rotated in the scene. In real life, movement of a person looking around the room can be random as he/she is moving head is not defined speed or rotation. The same logic applies to a camera in media. Therefore, there is no algorithm to predict the exact movement of camera, as it is random input from user, for final 2D images to be calculated beforehand. Using this method, it is needed to keep in mind that human eyes need at least 24 frames per second rendered for a successful illusion of movement. In VR headsets, frames per second must be quite higher, otherwise, it is possible to notice black spots when rotating the head. Black spots around the edges can cause the loss of the illusion of being in a 3D environment.

**Figure 2.** *Example representation of the wheelchair simulator scene and the drone simulation scene.* *3D Computer Graphics and Virtual Reality DOI: http://dx.doi.org/10.5772/intechopen.102744*

*Non-real-time rendering* is used for such media in which it is possible to predict the sequence of images. These are non-interactive media such as film or video. It can take much more time to render in order to obtain higher image quality.

Speed of rendering depends not only on effective optimalization of application but also on hardware specification of device like GPU, CPU, and memory, for example. This is a reason why the same application can be smooth in desktop computers but not in VR standalone headsets. Therefore, there is a need for 3D graphics knowledge and hardware specification knowledge to optimize application if it is built for multiple platforms.

#### **3.2 General optimalization**

General optimalization in 3D applications consists of multiple steps. But firstly, it is important to realize what is the desired result. To call application optimalized, it is desired to achieve a count of draw calls as small as possible, limit the unnecessary calculations or optimize complexity. This can be achieved through several steps, for example:

