# v-rotate ::: warning This directive has been removed on the `v4` due incompatibility with the new renderer loop. ::: ## Problem When you want to simply add rotation to your mesh, you have to use the template reference, [useRenderLoop](/api/composables#userenderloop) and then assign the axis and the speed, but before check if you mesh is already available: ```vue ``` And is A LOT of code just for a simple rotation right? Normally we need something fast to see if something is working ## Usage With the new directive v-rotate provided by **TresJS**, you can do this by just adding `v-rotate` to the instance. ```vue{2,8} ``` By default `v-rotate` uses [Quaternions](https://threejs.org/docs/index.html?q=quater#api/en/math/Quaternion) so you don't have to worry by [Gimbal Lock](https://en.wikipedia.org/wiki/Gimbal_lock), or check if you mesh is available in the first frames. ## Modifiers You can control the axis and the rotation speed by adding modifiers ```vue{2,8} ```