Lines Matching refs:plane
43 * Compute coefficients of a plane using the X,Y coords of the v0, v1, v2
45 * A point (x,y,z) lies on plane iff a*x+b*y+c*z+d = 0.
49 GLfloat z0, GLfloat z1, GLfloat z2, GLfloat plane[4])
59 /* Crossproduct "(a,b,c):= dv1 x dv2" is orthogonal to plane. */
63 /* Point on the plane = "r*(a,b,c) + w", with fixed "r" depending
64 on the distance of plane from origin and arbitrary "w" parallel
65 to the plane. */
70 plane[0] = a;
71 plane[1] = b;
72 plane[2] = c;
73 plane[3] = d;
78 * Compute coefficients of a plane with a constant Z value.
81 constant_plane(GLfloat value, GLfloat plane[4])
83 plane[0] = 0.0;
84 plane[1] = 0.0;
85 plane[2] = -1.0;
86 plane[3] = value;
100 * Solve plane equation for Z at (X,Y).
103 solve_plane(GLfloat x, GLfloat y, const GLfloat plane[4])
105 ASSERT(plane[2] != 0.0F);
106 return (plane[3] + plane[0] * x + plane[1] * y) / -plane[2];
118 solve_plane_recip(GLfloat x, GLfloat y, const GLfloat plane[4])
120 const GLfloat denom = plane[3] + plane[0] * x + plane[1] * y;
124 return -plane[2] / denom;
129 * Solve plane and return clamped GLchan value.
132 solve_plane_chan(GLfloat x, GLfloat y, const GLfloat plane[4])
134 const GLfloat z = (plane[3] + plane[0] * x + plane[1] * y) / -plane[2];
148 plane_dx(const GLfloat plane[4])
150 return -plane[0] / plane[2];
154 plane_dy(const GLfloat plane[4])
156 return -plane[1] / plane[2];