A geometric morphism $f:\mathcal{C}\to \mathcal{D}$ between toposes is defined as an adjoint pair of functors $f_*:\mathcal{C}\to \mathcal{D}$ and $f_*:\mathcal{D}\to \mathcal{C}$. The adjunction is $f^*\dashv f_*$, and the functor $f^*$ should preserve limits. We call $f^*$ the inverse image and $f_*$ the direct image.
The standard example is that of sheaves on topological spaces. If $g:X\to Y$ is a continuous function between topological spaces, then one obtains a map $g^{-1}:\mathcal{O}(Y)\to \mathcal{O}(X)$, mapping an open set to its inverse.
We now obtain a functor $g_*$ between toposes $Sh(X)$ and $Sh(Y)$ as follows. Given $F$ a sheaf on $X$ and $U$ an open subset of $Y$, we have the following: $$g_*(F)(U)=F(g^{-1}(U)).$$ It turns out that this functor is the direct image part of the geometric morphism.
However, there is something really counterintuitive by using an inverse image operation $g^{-1}$ in defining what is to be our direct image functor.
Therefore, coming finally to my question, I am looking for examples of geometric morphisms between toposes in which it is much more clearer why we can think of the functors as direct images and inverse images. Easy examples are encouraged, but more advanced topics are always interesting, too!