# 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}
```