Called before the view model has been drawn. This hook by default also calls this on weapons, so you can use WEAPON:PreDrawViewModel.
You can use GM:PreDrawEffects as a "PostDrawViewModel" hook as it is called just after the view model(s) are drawn.
This is a rendering hook which provides a 3d rendering context.
1 Entity vm
This is the view model entity before it is drawn. On server-side, this entity is the predicted view model.
2 Player ply
The owner of the view model.
3 Weapon weapon
This is the weapon that is from the view model.