00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039 #ifndef _OSGMATRIXUTILITY_H_
00040 #define _OSGMATRIXUTILITY_H_
00041 #ifdef __sgi
00042 #pragma once
00043 #endif
00044
00045 #include <OSGConfig.h>
00046 #include <OSGBase.h>
00047 #include <OSGBaseTypes.h>
00048 #include <OSGVector.h>
00049 #include <OSGMatrix.h>
00050
00051 OSG_BEGIN_NAMESPACE
00052
00061 OSG_BASE_DLLMAPPING bool MatrixOrthogonal (Matrix &result,
00062 Real32 rLeft,
00063 Real32 rRight,
00064 Real32 rBottom,
00065 Real32 rTop,
00066 Real32 rNear,
00067 Real32 rFar );
00068
00069 OSG_BASE_DLLMAPPING bool MatrixFrustum (Matrix &result,
00070 Real32 rLeft,
00071 Real32 rRight,
00072 Real32 rBottom,
00073 Real32 rTop,
00074 Real32 rNear,
00075 Real32 rFar );
00076
00077 OSG_BASE_DLLMAPPING bool MatrixPerspective (Matrix &result,
00078 Real32 rFovy,
00079 Real32 rAspect,
00080 Real32 rNear,
00081 Real32 rFar );
00082
00083 OSG_BASE_DLLMAPPING bool MatrixStereoPerspective(Matrix &projection,
00084 Matrix &projtrans,
00085 Real32 rFovy,
00086 Real32 rAspect,
00087 Real32 rNear,
00088 Real32 rFfar,
00089 Real32 rZeroparallax,
00090 Real32 rEyedistance,
00091 Real32 rWhicheye,
00092 Real32 rOverlap );
00093
00094 OSG_BASE_DLLMAPPING bool MatrixLookAt (Matrix &result,
00095 Real32 fromx,
00096 Real32 fromy,
00097 Real32 fromz,
00098 Real32 atx,
00099 Real32 aty,
00100 Real32 atz,
00101 Real32 upx,
00102 Real32 upy,
00103 Real32 upz );
00104
00105 OSG_BASE_DLLMAPPING bool MatrixLookAt (Matrix &result,
00106 Pnt3f from,
00107 Pnt3f at,
00108 Vec3f up );
00109
00110
00111 OSG_BASE_DLLMAPPING bool MatrixProjection (Matrix &result,
00112 Real32 rLeft,
00113 Real32 rRight,
00114 Real32 rBottom,
00115 Real32 rTop,
00116 Real32 rNear,
00117 Real32 rFar );
00118
00121 OSG_END_NAMESPACE
00122
00123 #endif
00124
00125