1. A method for providing gesture input to a plurality of applications, comprising: receiving data indicative of a user motion or pose, the data being captured by a camera; determining a result of processing the data, the result comprising a three-dimensional model of at least part of the user; sending the result to a first gesture filter of a first application of the plurality of applications, the first application being configured to process the result with the first gesture filter to determine a first output indicative of whether the result is indicative of the user performing a gesture represented by the first gesture filter; and sending the result to a second gesture filter of a second application of the plurality of applications, the second application being configured to process the result with the second gesture filter to determine a second output indicative of whether the result is indicative of the user performing a gesture represented by the second gesture filter.