public CameraItem(ScalarItem hsize, ScalarItem vsize, ScalarItem field_of_view) { Hsize = hsize; Vsize = vsize; FieldOfView = field_of_view; Transform = new MatrixItem(); compute_parameters(); }
StackItem divide(MatrixItem l, ScalarItem r) { return(new MatrixItem(Matrix4x4.Multiply(l.MatrixValue, 1.0f / r.FloatValue))); }
StackItem divide(Vector4Item l, ScalarItem r) { return(new Vector4Item(Vector4.Divide(l.Vector4Value, r.FloatValue))); }
StackItem divide(ScalarItem l, ScalarItem r) { return(new DoubleItem(l.DoubleValue / r.DoubleValue)); }
StackItem multiply(ScalarItem l, ScalarItem r) { return(new DoubleItem(l.DoubleValue * r.DoubleValue)); }
StackItem multiply(ScalarItem l, Vector4Item r) { return(multiply(r, l)); }
// Multiply options StackItem multiply(Vector4Item l, ScalarItem r) { return(new Vector4Item(Vector4.Multiply(r.FloatValue, l.Vector4Value))); }
StackItem minus(ScalarItem l, ScalarItem r) { return(new DoubleItem(l.DoubleValue - r.DoubleValue)); }
StackItem plus(ScalarItem l, ScalarItem r) { return(new DoubleItem(l.DoubleValue + r.DoubleValue)); }