I still not really understand what do you mean from scratch. You mean I need to make qRotation Identity each time after multiply or what?
ViewMatrix is building from scratch each time.
I think you are very close. What we are saying is that instead of representing the current state as `qRotation', you should keep two accumulators called `pitch' and `yaw', of type float. You increment or decrement those in response to user input, and then build the ViewMatrix starting from the identity and applying the x-axis rotation and the y-axis rotation.
So, the code is the same, but I must keep angles and create quaternons from this angles?