refraction/reflect calculatios

I am playing around with glsl and would like to be able to scale the amount of light reflected from a material by the amount of light that will be refracted into the material given the incidence angle and the materials refractive index. My understanding is the refract and reflect functions in glsl only return the normalized direction vector for the reflected/refracted beam, not the quantity of the incidence light that was reflected or refracted. Is this mathematically doable?

Yes, you can do that. I don’t really know the physics behind it, so you’ll have to find that one for yourself. But there’s no reason you couldn’t implement it.