I have $f(x,y) = \frac{1}{2} (1 - x^2 - y^2)$, which is *a paraboloid centered around the origin* (plot).

Now I want to calculate the solid angle (with the origin as the viewpoint) of the surface area defined by f(x,y) with a rectangular, axis aligned section of the xy plane as its input, e.g. $-1 \leq x \leq 1$ and $-1 \leq y \leq 1$. So each point of the surface area has the coordinates $\vec f(x,y) = ( x, y, f(x, y)) = ( x, y, \frac{1 - x^2 - y^2}{2} )$.

The problem is that I don't know how I convert the Integral over the Surface $\iint_S dS$ in $\Omega = \iint_S \frac { \vec{r} \cdot \hat{n} \,dS }{r^3}$ into an Integral over $x$ and $y$: $\int_X \int_Y dx dy$.

### If I...

...simply replace it with $\int_{-1}^{1} \int_{-1}^{1} dx dy$, replacing the other values accordingly with

- each point on the surface: $\vec r = \vec f(x, y) = (x, y, \frac{1 - x^2 - y^2}{2})$,
- normal at each point on the surface: $\hat{n} = \frac{\vec f_x \times \vec f_y} {|\vec f_x \times \vec f_y|} = (x, y, 1) $ with $\vec f_x(x, y) = (1, 0, -x)$ and $\vec f_y(x,y) = (0, 1, -y)$,

I receive $\Leftrightarrow \int_x \int_y \frac{ \vec f(x, y) \cdot (x,y,1) } { |\vec f(x, y)|^3 \cdot |(x, y, 1)|} $

$\Leftrightarrow \int_x \int_y \frac{ (x, y, \frac{1 - x^2 - y^2}{2}) \cdot (x, y 1)} {|(x, y, \frac{1 - x^2 - y^2}{2})|^3 \cdot |(x, y, 1)|}$

$\Leftrightarrow \int_x \int_y \frac{ x^2 + y^2 + \frac{1 - x^2 - y^2}{2} } { ( x^2 + y^2 + (\frac{1 - x^2 - y^2}{2})^2)^{\frac{3}{2}} \cdot (x^2 + y^2 + 1)^{\frac{1}{2}} }$

If I let wolframalpha calculate[1] that, the result is $5.87$.

This is clearly wrong though, because the paraboloid covers more than the hemisphere, and thus needs to have a solid angle of more than $2\pi$. So what do I need to change?

### Background

I'm using this paraboloid as a mapping to project geometry into a texture, and for the next step I need to find out what portion of the hemisphere each pixel covers. So ideally I need a way to calculate this as fast as possible - I might need to search for a similar, faster function for actual usage.

[1] http://www.wolframalpha.com/input/?i=Integrate+(x%5e2+%2b+y%5e2+%2b+(1-x%5e2-y%5e2)%2f2)+%2f+((x%5e2+%2b+y%5e2+%2b+((1-x%5e2-y%5e2)%2f2)%5e2)%5e(3%2f2)+*+(x%5e2+%2b+y%5e2+%2b+1)%5e(1%2f2))+from+x%3d-1+to+1+y%3d-1+to+1&incParTime=true