home *** CD-ROM | disk | FTP | other *** search
- rem 3DMaths Functionality
-
- rem Indexes for vectors
- Vector2Number=1
- Vector3Number=2
- Vector4Number=3
- Vector3Eye=4
- Vector3At=5
- Vector3Up=6
-
- rem Indexes for matrices
- Matrix4Number=7
- Matrix4Projection=8
- Matrix4View=9
- Matrix4World=10
-
- rem Standard values
- Width as float=0.0+rnd(100)
- Height as float=0.0+rnd(100)
- Near as float=rnd(100)/100.0
- Far as float=rnd(100)/100.0
- FOV as float=0.0+rnd(90)
- Aspect as float=rnd(100)/100.0
- PlaneA as float=rnd(100)/100.0
- PlaneB as float=rnd(100)/100.0
- PlaneC as float=rnd(100)/100.0
- PlaneD as float=rnd(100)/100.0
- Angle as float=0.0+rnd(359)
- Value as float=0.0+rnd(100)
- FValue as float=0.0+rnd(100)
- GValue as float=0.0+rnd(100)
- SValue as float=0.0+rnd(100)
- X as float=rnd(200)-100.0
- Y as float=rnd(200)-100.0
- Z as float=rnd(200)-100.0
- W as float=rnd(100)/100.0
- Yaw as float=0.0+rnd(359)
- Pitch as float=0.0+rnd(359)
- Roll as float=0.0+rnd(359)
-
- rem Create math vectors
- ReturnFlag = make vector2(Vector2Number)
- ReturnFlag = make vector3(Vector3Number)
- ReturnFlag = make vector4(Vector4Number)
- ReturnFlag = make vector3(Vector3Eye)
- ReturnFlag = make vector3(Vector3At)
- ReturnFlag = make vector3(Vector3Up)
-
- rem Create math matrix
- ReturnFlag = make matrix4(Matrix4Number)
-
- rem Create projection, view and world matrices
- ReturnFlag = make matrix4(Matrix4Projection)
- PROJECTION MATRIX4 Matrix4Projection
- ReturnFlag = make matrix4(Matrix4View)
- VIEW MATRIX4 Matrix4View
- ReturnFlag = make matrix4(Matrix4World)
- WORLD MATRIX4 Matrix4World
-
- rem All maths for Vector2
- Vector=Vector2Number
- VectorA=Vector2Number
- VectorB=Vector2Number
- VectorC=Vector2Number
- VectorD=Vector2Number
- VectorResult=Vector2Number
- VectorSource=Vector2Number
- Matrix4Source=Matrix4Number
-
- ADD VECTOR2 VectorResult, VectorA, VectorB
- CATMULLROM VECTOR2 VectorResult, VectorA, VectorB, VectorC, VectorD, Value
- COPY VECTOR2 VectorResult, VectorSource
- DIVIDE VECTOR2 VectorResult, Value
- ReturnFloat = DOT PRODUCT VECTOR2(VectorA, VectorB)
- BCC VECTOR2 VectorResult, VectorA, VectorB, VectorC, FValue, GValue
- ReturnFloat = CCW VECTOR2(VectorA, VectorB)
- ReturnFloat = SQUARED LENGTH VECTOR2(Vector)
- ReturnFloat = LENGTH VECTOR2(Vector)
- ReturnFloat = X VECTOR2(Vector)
- ReturnFloat = Y VECTOR2(Vector)
- HERMITE VECTOR2 VectorResult, VectorA, VectorB, VectorC, VectorD, SValue
- ReturnFlag = IS EQUAL VECTOR2(VectorA, VectorB)
- LINEAR INTERPOLATE VECTOR2 VectorResult, VectorA, VectorB, SValue
- MAXIMIZE VECTOR2 VectorResult, VectorA, VectorB
- MINIMIZE VECTOR2 VectorResult, VectorA, VectorB
- MULTIPLY VECTOR2 VectorResult, Value
- NORMALIZE VECTOR2 VectorResult, VectorSource
- SCALE VECTOR2 VectorResult, VectorSource, Value
- SET VECTOR2 VectorResult, X, Y
- SUBTRACT VECTOR2 VectorResult, VectorA, VectorB
- TRANSFORM COORDS VECTOR2 VectorResult, VectorSource, Matrix4Source
-
- rem All maths for Vector3
- Vector=Vector3Number
- VectorA=Vector3Number
- VectorB=Vector3Number
- VectorC=Vector3Number
- VectorD=Vector3Number
- VectorResult=Vector3Number
- VectorSource=Vector3Number
-
- ADD VECTOR3 VectorResult, VectorA, VectorB
- CATMULLROM VECTOR3 VectorResult, VectorA, VectorB, VectorC, VectorD, Value
- COPY VECTOR3 VectorResult, VectorSource
- CROSS PRODUCT VECTOR3 VectorResult, VectorA, VectorB
- DIVIDE VECTOR3 VectorResult, Value
- ReturnFloat = DOT PRODUCT VECTOR3(VectorA, VectorB)
- BCC VECTOR3 VectorResult, VectorA, VectorB, VectorC, FValue, GValue
- ReturnFloat = SQUARED LENGTH VECTOR3(Vector)
- ReturnFloat = LENGTH VECTOR3(Vector)
- ReturnFloat = X VECTOR3(Vector)
- ReturnFloat = Y VECTOR3(Vector)
- ReturnFloat = Z VECTOR3(Vector)
- HERMITE VECTOR3 VectorResult, VectorA, VectorB, VectorC, VectorD, SValue
- ReturnFlag = IS EQUAL VECTOR3(VectorA, VectorB)
- LINEAR INTERPOLATE VECTOR3 VectorResult, VectorA, VectorB, SValue
- MAXIMIZE VECTOR3 VectorResult, VectorA, VectorB
- MINIMIZE VECTOR3 VectorResult, VectorA, VectorB
- MULTIPLY VECTOR3 VectorResult, Value
- NORMALIZE VECTOR3 VectorResult, VectorSource
- PROJECT VECTOR3 VectorResult, VectorSource, Matrix4Projection, Matrix4View, Matrix4World
- SCALE VECTOR3 VectorResult, VectorSource, Value
- SET VECTOR3 VectorResult, X, Y, Z
- SUBTRACT VECTOR3 VectorResult, VectorA, VectorB
- TRANSFORM COORDS VECTOR3 VectorResult, VectorSource, Matrix4Source
- TRANSFORM NORMALS VECTOR3 VectorResult, VectorSource, Matrix4Source
-
- rem All maths for Vector4
- Vector=Vector4Number
- VectorA=Vector4Number
- VectorB=Vector4Number
- VectorC=Vector4Number
- VectorD=Vector4Number
- VectorResult=Vector4Number
- VectorSource=Vector4Number
-
- ADD VECTOR4 VectorResult, VectorA, VectorB
- CATMULLROM VECTOR4 VectorResult, VectorA, VectorB, VectorC, VectorD, Value
- COPY VECTOR4 VectorResult, VectorSource
- DIVIDE VECTOR4 VectorResult, Value
- BCC VECTOR4 VectorResult, VectorA, VectorB, VectorC, FValue, GValue
- ReturnFloat = SQUARED LENGTH VECTOR4(Vector)
- ReturnFloat = LENGTH VECTOR4(Vector)
- ReturnFloat = X VECTOR4(Vector)
- ReturnFloat = Y VECTOR4(Vector)
- ReturnFloat = Z VECTOR4(Vector)
- ReturnFloat = W VECTOR4(Vector)
- HERMITE VECTOR4 VectorResult, VectorA, VectorB, VectorC, VectorD, SValue
- ReturnFlag = IS EQUAL VECTOR4(VectorA, VectorB)
- LINEAR INTERPOLATE VECTOR4 VectorResult, VectorA, VectorB, SValue
- MAXIMIZE VECTOR4 VectorResult, VectorA, VectorB
- MINIMIZE VECTOR4 VectorResult, VectorA, VectorB
- MULTIPLY VECTOR4 VectorResult, Value
- NORMALIZE VECTOR4 VectorResult, VectorSource
- SCALE VECTOR4 VectorResult, VectorSource, Value
- SET VECTOR4 VectorResult, X, Y, Z, W
- SUBTRACT VECTOR4 VectorResult, VectorA, VectorB
- TRANSFORM VECTOR4 VectorResult, VectorSource, Matrix4Source
- TRANSFORM NORMALS VECTOR3 VectorResult, VectorSource, Matrix4Source
-
- rem All maths for Matrix4
- Matrix4Result=Matrix4Number
- Matrix4A=Matrix4Number
- Matrix4B=Matrix4Number
- Matrix4=Matrix4Number
- Vector3Axis=Vector3Number
-
- ADD MATRIX4 Matrix4Result, Matrix4A, Matrix4B
- BUILD LOOKAT LHMATRIX4 Matrix4Result, Vector3Eye, Vector3At, Vector3Up
- BUILD LOOKAT RHMATRIX4 Matrix4Result, Vector3Eye, Vector3At, Vector3Up
- BUILD ORTHO LHMATRIX4 Matrix4Result, Width, Height, Near, Far
- BUILD ORTHO RHMATRIX4 Matrix4Result, Width, Height, Near, Far
- BUILD FOV LHMATRIX4 Matrix4Result, FOV, Aspect, Near, Far
- BUILD FOV RHMATRIX4 Matrix4Result, FOV, Aspect, Near, Far
- BUILD PERSPECTIVE LHMATRIX4 Matrix4Result, Width, Height, Near, Far
- BUILD PERSPECTIVE RHMATRIX4 Matrix4Result, Width, Height, Near, Far
- BUILD REFLECTION MATRIX4 Matrix4Result, PlaneA, PlaneB, PlaneC, PlaneD
- BUILD ROTATION AXIS MATRIX4 Matrix4Result, Vector3Axis, Angle
- COPY MATRIX4 Matrix4Result, Matrix4Source
- DIVIDE MATRIX4 Matrix4Result, Value
- ReturnFloat = INVERSE MATRIX4(Matrix4Result, Matrix4Source)
- ReturnFlag = IS EQUAL MATRIX4(Matrix4A, Matrix4B)
- ReturnFlag = IS IDENTITY MATRIX4(Matrix4Result)
- MULTIPLY MATRIX4 Matrix4Result, Matrix4A, Matrix4B
- MULTIPLY MATRIX4 Matrix4Result, Value
- ROTATE X MATRIX4 Matrix4Result, Angle
- ROTATE Y MATRIX4 Matrix4Result, Angle
- ROTATE YPR MATRIX4 Matrix4Result, Yaw, Pitch, Roll
- ROTATE Z MATRIX4 Matrix4Result, Angle
- SCALE MATRIX4 Matrix4Result, X, Y, Z
- SET IDENTITY MATRIX4 Matrix4Result
- SUBTRACT MATRIX4 Matrix4Result, Matrix4A, Matrix4B
- TRANSLATE MATRIX4 Matrix4Result, X, Y, Z
- TRANSPOSE MATRIX4 Matrix4Result, Matrix4Source
-
- rem Delete vectors and matrix
- ReturnFlag = delete vector2(Vector2Number)
- ReturnFlag = delete vector3(Vector3Number)
- ReturnFlag = delete vector4(Vector4Number)
- ReturnFlag = delete vector3(Vector3Eye)
- ReturnFlag = delete vector3(Vector3At)
- ReturnFlag = delete vector3(Vector3Up)
- ReturnFlag = delete matrix4(Matrix4Number)
- ReturnFlag = delete matrix4(Matrix4Projection)
- ReturnFlag = delete matrix4(Matrix4View)
- ReturnFlag = delete matrix4(Matrix4World)
-
- rem End program
- end
-