Matrix4d.shadow
- Matrix4d shadow(Vector4d light, double a, double b, double c, double d)
- Matrix4d shadow(Vector4d light, double a, double b, double c, double d, Matrix4d dest)
- Matrix4d shadow(double lightX, double lightY, double lightZ, double lightW, double a, double b, double c, double d)
- Matrix4d shadow(double lightX, double lightY, double lightZ, double lightW, double a, double b, double c, double d, Matrix4d dest)
- Matrix4d shadow(Vector4d light, Matrix4d planeTransform, Matrix4d dest)
- Matrix4d shadow(Vector4d light, Matrix4d planeTransform)
- Matrix4d shadow(double lightX, double lightY, double lightZ, double lightW, Matrix4d planeTransform, Matrix4d dest)
- Matrix4d shadow(double lightX, double lightY, double lightZ, double lightW, Matrix4d planeTransform)
doml matrix_4d Matrix4d
constructorsfunctionsstatic variablesvariables
Apply a projection transformation to this matrix that projects onto the plane with the general plane equation <code>y = 0</code> as if casting a shadow from a given light position/direction <code>light</code>. <p> Before the shadow projection is applied, the plane is transformed via the specified <code>planeTransformation</code>. <p> If <code>light.w</code> is <code>0.0</code> the light is being treated as a directional light; if it is <code>1.0</code> it is a point light. <p> If <code>M</code> is <code>this</code> matrix and <code>S</code> the shadow matrix, then the new matrix will be <code>M * S</code>. So when transforming a vector <code>v</code> with the new matrix by using <code>M * S * v</code>, the shadow projection will be applied first!
@param light the light's vector @param planeTransform the transformation to transform the implied plane <code>y = 0</code> before applying the projection @return this