00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #include <osg/Node>
00024 #include <osg/Geometry>
00025 #include <osg/Notify>
00026 #include <osg/Texture3D>
00027 #include <osg/TexGen>
00028 #include <osg/Geode>
00029
00030 #include <osgDB/Registry>
00031 #include <osgDB/ReadFile>
00032
00033 #include <osgProducer/Viewer>
00034
00035 #include <osg/PositionAttitudeTransform>
00036 #include <osg/Texture2D>
00037 #include <osgDB/ReadFile>
00038 #include <osg/ShapeDrawable>
00039 #include <osgText/Text>
00040 #include <osg/MatrixTransform>
00041 #include <osg/Transform>
00042 #include <osg/Material>
00043 #include <osgFX/BumpMapping>
00044 #include <osg/TexGen>
00045 #include <osg/TexGenNode>
00046 #include <osg/Group>
00047 #include <osg/StateSet>
00048 #include <osg/TextureCubeMap>
00049 #include <osg/TexGen>
00050 #include <osg/TexEnvCombine>
00051 #include <osg/Stencil>
00052 #include <osg/ColorMask>
00053 #include <osg/Depth>
00054 #include <osg/ClipNode>
00055 #include <osg/AnimationPath>
00056 #include <osg/BlendFunc>
00057 #include <osgDB/ReadFile>
00058 #include <osgDB/FileUtils>
00059
00060
00061
00062 #include <osgUtil/ReflectionMapGenerator>
00063 #include <osgUtil/HighlightMapGenerator>
00064 #include <osgUtil/HalfWayMapGenerator>
00065 #include <osgUtil/Optimizer>
00066
00067 #include <osgDB/ReadFile>
00068 #include <osgDB/Registry>
00069
00070 #include <osgGA/TrackballManipulator>
00071 #include <osgGA/FlightManipulator>
00072 #include <osgGA/DriveManipulator>
00073 #include <osg/Fog>
00074
00075 #include <osg/PolygonOffset>
00076 #include <osg/PolygonMode>
00077 #include <osg/LineStipple>
00078 #include <osg/ClipNode>
00079
00080 #include <osgProducer/Viewer>
00081
00082 #include <iostream>
00083 #include <string>
00084 #include <vector>
00085 #include <osgUtil/Tesselator>
00086
00087 #include <osg/AlphaFunc>
00088 #include <osgUtil/IntersectVisitor>
00089 #include <osgUtil/SmoothingVisitor>
00090
00091
00092
00093 #define PATH_DATA "./data/"
00094
00095
00096
00097 #include "fogcube.h"
00098 #include "waterplan.h"
00099
00100 osg::StateSet* createMirrorTexturedState(const std::string& filename);
00101 osg::Node* createWaterNode(osg::Node* scene, waterPlan* water1);
00102 osg::Node* createWaterNodeWithoutMirror(osg::Node* scene, osg::Geode* mirrors);
00103 osg::Geode* createTerrain(const osg::Vec3& origin, const osg::Vec3& size);
00104 osg::Node* createScene2();
00105 osg::Group* initWater (osg::ref_ptr<osg::Group> scene,osgProducer::Viewer* viewer, osg::Node* terrain, bool isfog);