# PBR: Material Editor – Update 10

I have been away from the blog for some weeks; however, in these three weeks, I have been finishing what I had left to do for my final project. In the last post, I talked about the final IBL implementation I was producing. At that time, I had finished the radiance and irradiance sphere convolution in terms of shading; however, now I have integrated that convolution inside of the editor. I have introduced many different tools inside of the editor this week, figure 1 shows most of the debugging or lighting tools.

Figure 1: Editor Tools

The window in the middle shows the Environment Editor. This tool allows to load hdri images or crop skybox textures and convolute them to generate IBL image information (as explained in the previous post). The irradiance and radiance maps (IBL textures) represent a really important part of the static lighting inside of PBR models. Thanks to this tool it is possible to quickly generate and convolute different environments and even to save their textures to disk for future usage. The Render Debug screen and the statistics also provide useful information about models and scene characteristics (gBuffer) and the actual engine performance, for further performance statistics it is possible to access the engine statistics tool.

The solution to this problem was the introduction of Quaternions inside of the engine. Quaternions are a 4D representation of rotations inside of the space. Quaternions are defined as $xi + yj + zk + s = q$ where x, y and z represent complex numbers. Quaternions are not as understandable as Euler angles are; however, they are away from inconsistency problems. At this point of the development, to change the data pipeline of one of the most important complex components can be considered as an error; however, the error was to not introduce them in the beginning. At the end, I have changed the rotations pipeline and now all the rotations in the engine are processed as quaternions.