Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

OSGImageFunctions.h

Go to the documentation of this file.
00001 /*---------------------------------------------------------------------------*\
00002  *                                OpenSG                                     *
00003  *                                                                           *
00004  *                                                                           *
00005  *             Copyright (C) 2000-2002 by the OpenSG Forum                   *
00006  *                                                                           *
00007  *   contact: dirk@opensg.org, gerrit.voss@vossg.org, jbehr@zgdv.de          *
00008  *                                                                           *
00009 \*---------------------------------------------------------------------------*/
00010 /*---------------------------------------------------------------------------*\
00011  *                                License                                    *
00012  *                                                                           *
00013  * This library is free software; you can redistribute it and/or modify it   *
00014  * under the terms of the GNU Library General Public License as published    *
00015  * by the Free Software Foundation, version 2.                               *
00016  *                                                                           *
00017  * This library is distributed in the hope that it will be useful, but       *
00018  * WITHOUT ANY WARRANTY; without even the implied warranty of                *
00019  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU         *
00020  * Library General Public License for more details.                          *
00021  *                                                                           *
00022  * You should have received a copy of the GNU Library General Public         *
00023  * License along with this library; if not, write to the Free Software       *
00024  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.                 *
00025  *                                                                           *
00026 \*---------------------------------------------------------------------------*/
00027 /*---------------------------------------------------------------------------*\
00028  *                                Changes                                    *
00029  *                                                                           *
00030  *                                                                           *
00031  *                                                                           *
00032  *                                                                           *
00033  *                                                                           *
00034  *                                                                           *
00035 \*---------------------------------------------------------------------------*/
00036 #ifndef _OSGIMAGEFUNCTIONS_H_
00037 #define _OSGIMAGEFUNCTIONS_H_
00038 #ifdef __sgi
00039 #pragma once
00040 #endif
00041 
00042 #include <OSGConfig.h>
00043 #include <OSGSystemDef.h>
00044 #include <OSGBaseTypes.h>
00045 #include <OSGVector.h>
00046 #include <OSGImage.h>
00047 
00048 #include <vector>
00049 #include <string>
00050 #include <iostream>
00051 
00052 
00053 OSG_BEGIN_NAMESPACE
00054 
00055 enum SliceDataType {
00056   INVALID_SDT = 0,
00057   DEPTH_SDT,
00058   FRAME_SDT,
00059   SIDE_SDT
00060 };
00061 
00062 OSG_SYSTEMLIB_DLLMAPPING
00063 bool createComposedImage ( std::vector<ImagePtr> srcImageVec,
00064                            ImagePtr              dstImage,
00065                            SliceDataType sliceDataType = DEPTH_SDT );
00066 
00067 
00068 OSG_SYSTEMLIB_DLLMAPPING 
00069 bool createNormalMapFromBump ( ImagePtr srcImage,
00070                                ImagePtr dstImage,
00071                                Vec3f    normalMapScale);
00072 
00073 enum AlphaValue {
00074   NONE_AVT = 0,
00075   SOURCE_AVT,
00076   GRADIENT_AVT
00077 };  
00078 
00079 OSG_SYSTEMLIB_DLLMAPPING
00080 void createNormalVolume ( ImagePtr srcImage,
00081                           ImagePtr dstImage,
00082                           AlphaValue alphaValue = NONE_AVT );
00083 
00084 OSG_SYSTEMLIB_DLLMAPPING 
00085 bool create2DPreIntegrationLUT ( ImagePtr dstImage,
00086                                  ImagePtr srcImage,
00087                                  Real32   thickness = 1.0 );
00088 OSG_SYSTEMLIB_DLLMAPPING 
00089 bool splitRGBA ( ImagePtr rgba,
00090                  ImagePtr rgb,
00091                  ImagePtr alpha);
00092 
00093 OSG_SYSTEMLIB_DLLMAPPING 
00094 bool mergeRGBA ( ImagePtr rgb,
00095                  ImagePtr alpha,
00096                  ImagePtr rgba);
00097 
00098 OSG_SYSTEMLIB_DLLMAPPING 
00099 bool createPhongTexture ( ImagePtr image,
00100                           UInt32   size = 512,
00101                           Real32   specular_exponent = 10,
00102                           Real32   ka = 0,
00103                           Real32   kd = 0,
00104                           Real32   ks = 1);
00105 
00106 OSG_SYSTEMLIB_DLLMAPPING
00107 bool createNormalizationCubeMap ( std::vector<ImagePtr> imageVec,
00108                                   UInt32 size );
00109 
00110 OSG_SYSTEMLIB_DLLMAPPING
00111 bool createNoise ( ImagePtr image,
00112                    Image::PixelFormat pixelformat = Image::OSG_RGBA_PF,
00113                    UInt16 numOctaves = 6,
00114                    UInt16 size = 128,
00115                    UInt8  dim  = 2,
00116                    bool   splitOctaves = false);
00117 
00118 OSG_END_NAMESPACE
00119 
00120 #include <OSGImageFunctions.inl>
00121 
00122 #endif /* _OSGIMAGEFUNCTIONS_H_ */

Generated on Thu Aug 25 04:06:26 2005 for OpenSG by  doxygen 1.4.3