Cup product and hypercohomology

I always found the cup product slightly mysterious. Recently I discovered the following interesting theorem (in Voisin's book Hodge theory and complex algebraic geometry I, chapter 4.3):

For the setup, let $(X, \mathcal{O})$ be a ringed space, $\mathcal{F}$, $\mathcal{G}$ sheaves of $\mathcal{O}$-modules, $\mathcal{F}^\bullet, \mathcal{G}^\bullet$ acyclic resolutions of $\mathcal{F}, \mathcal{G}$, and $\mathcal{H}^\bullet$ an acyclic resolution of $\mathcal{F} \otimes \mathcal{G}$. Suppose given a morphism of complexes $$\phi^\bullet: Tot(\mathcal{F}^\bullet \otimes \mathcal{G}^\bullet) \to \mathcal{H}^\bullet,$$ (where $Tot$ denotes the total (simple) complex associated to a double complex). This data naturally yields homomorphisms $$H^p(X, \mathcal{F}) \otimes H^q(X, \mathcal{G}) \to H^{p+q}(X, \mathcal{F} \otimes \mathcal{G}) \quad(*).$$

The theorem is this: if $\phi^\bullet$ is compatible with the resolutions (that is, the evident triangle involving $\mathcal{F}\otimes\mathcal{G}$, $Tot(\mathcal{F}^\bullet \otimes \mathcal{G}^\bullet)$ and $\mathcal{H}^\bullet$ is commutative), then the induced morphism $(*)$ on cohomology is the cup product pairing.

The proof says, somewhat mysteriously to me, that the result follows by defining cup products on hypercohomology, and then using commutativity. While I know about hypercohomology, it is unclear what cup products could even mean here. Can you explain what Voisin means, or provide a reference?

Note: the theorem essentially says that all such $\phi^\bullet$ induce the same morphism on cohomology (independent of the resolutions even), so we need not acutally know here what the cup product pairing is.

-
Thanks for the edits! – Tom Bachmann Aug 30 '12 at 13:41
this stuff is in 5.3 in my copy of Voisin, maybe two different editions? – user29743 Aug 30 '12 at 15:20
You are right. I typed this at work and looked the chapter number up online. The precise theorem I'm talking about is 5.29. – Tom Bachmann Aug 30 '12 at 16:13

Let $Ch(Sh(X))$ denote the abelian category of bounded chain complexes of sheaves on $X$. Then hyper-cohomology is the derived functor of the global sections functor $\Gamma(X,-): Ch(Sh(X)) \rightarrow Ch(Vect)$ (Ch(Vect) is bounded complex of vector spaces).
$Ch(Sh(X))$ is a tensor category with tensor product being the standard one on complexes (direct sum of terms of equal weight). Then evidently $\Gamma(X,-)$ is a tensor functor, it is left exact. The functor $\Gamma(X, \mathcal{F} \otimes \mathcal{G})$ is a functor in each individual component. So now by applying the usual abstract nonsense (similar to that in the category of modules) you will get a pairing
$$\mathbb{H}^{i}(X, \mathcal{F}) \otimes_{\mathbb{Z}}\mathbb{H}^{j}(X, \mathcal{G}) \rightarrow \mathbb{H}^{i+j}(X, \mathcal{F}\otimes \mathcal{G})$$
Here $\mathcal{F}, \mathcal{G}$ are complex of sheaves (in particular you recover usual cum product on cohomology.)
Remark: You may actually work in somewhat more generality in a relative setting of a proper morphism $\pi: X\rightarrow S$ and interpret cup product as a pairing of $$R^{i}\pi_{\ast}\mathcal{F}\otimes_{\mathcal{O}_{s}}R^{j}\pi_{\ast}\mathcal{F} \rightarrow R^{i+j}\pi_{\ast}\mathcal{F \otimes \mathcal{G}}$$