Many diagnostic and therapeutic approaches in medical physics today take advantage of the unique properties of light and its interaction with tissues. Because light scatters in tissue, our ability to develop these techniques depends critically on our knowledge of the distribution of light in tissue. Solutions to the diffusion equation can provide such information, but often lack the flexibility required for more general problems that involve, for instance, inhomogeneous optical properties, light polarization, arbitrary three-dimensional geometries, or arbitrary scattering. Monte Carlo techniques, which statistically sample the light distribution in tissue, offer a better alternative to analytical models. First, we discuss our implementation of a validated three-dimensional polarization-sensitive Monte Carlo algorithm and demonstrate its generality with respect to the geometry and scattering models it can treat. Second, we apply our model to bioluminescence tomography. After appropriate genetic modifications to cell lines, bioluminescence can be used as an indicator of cell activity, and is often used to study tumour growth and treatment in animal models. However, the amount of light escaping the animal is strongly dependent on the position and size of the tumour. Using forward models and structural data from magnetic resonance imaging, we show how the models can help to determine the location and size of tumour made of bioluminescent cancer cells in the brain of a mouse.