482 lines
23 KiB
Diff
482 lines
23 KiB
Diff
diff --git a/src/osgOcean/CMakeLists.txt b/src/osgOcean/CMakeLists.txt
|
|
index 29b55b0..b79a92f 100644
|
|
--- a/src/osgOcean/CMakeLists.txt
|
|
+++ b/src/osgOcean/CMakeLists.txt
|
|
@@ -145,10 +145,10 @@ INSTALL(
|
|
|
|
INSTALL(
|
|
FILES ${SHADER_FILES}
|
|
- DESTINATION ${CMAKE_INSTALL_PREFIX}/bin/resources/shaders
|
|
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/osgOcean/shaders
|
|
)
|
|
|
|
INSTALL(
|
|
FILES ${TEXTURE_FILES}
|
|
- DESTINATION ${CMAKE_INSTALL_PREFIX}/bin/resources/textures
|
|
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/osgOcean/textures
|
|
)
|
|
diff --git a/src/osgOcean/DistortionSurface.cpp b/src/osgOcean/DistortionSurface.cpp
|
|
index 9d30b4e..7bd9d52 100644
|
|
--- a/src/osgOcean/DistortionSurface.cpp
|
|
+++ b/src/osgOcean/DistortionSurface.cpp
|
|
@@ -86,8 +84,8 @@ void DistortionSurface::build( const osg::Vec3f& corner, const osg::Vec2f& dims,
|
|
|
|
osg::Program* DistortionSurface::createShader(void)
|
|
{
|
|
- static const char osgOcean_water_distortion_vert_file[] = "osgOcean_water_distortion.vert";
|
|
- static const char osgOcean_water_distortion_frag_file[] = "osgOcean_water_distortion.frag";
|
|
+ static const char osgOcean_water_distortion_vert_file[] = "osgOcean/shaders/osgOcean_water_distortion.vert";
|
|
+ static const char osgOcean_water_distortion_frag_file[] = "osgOcean/shaders/osgOcean_water_distortion.frag";
|
|
|
|
return ShaderManager::instance().createProgram("distortion_surface",
|
|
osgOcean_water_distortion_vert_file, osgOcean_water_distortion_frag_file,
|
|
@@ -106,28 +104,20 @@ void DistortionSurface::update( const double& dt )
|
|
|
|
void DistortionSurface::addResourcePaths(void)
|
|
{
|
|
- const std::string shaderPath = "resources/shaders/";
|
|
- const std::string texturePath = "resources/textures/";
|
|
+ const std::string resourcePath = "../share/";
|
|
|
|
osgDB::FilePathList& pathList = osgDB::Registry::instance()->getDataFilePathList();
|
|
|
|
- bool shaderPathPresent = false;
|
|
- bool texturePathPresent = false;
|
|
+ bool resourcePathPresent = false;
|
|
|
|
for(unsigned int i = 0; i < pathList.size(); ++i )
|
|
{
|
|
- if( pathList.at(i).compare(shaderPath) == 0 )
|
|
- shaderPathPresent = true;
|
|
-
|
|
- if( pathList.at(i).compare(texturePath) == 0 )
|
|
- texturePathPresent = true;
|
|
+ if( pathList.at(i).compare(resourcePath) == 0 )
|
|
+ resourcePathPresent = true;
|
|
}
|
|
|
|
- if(!texturePathPresent)
|
|
- pathList.push_back(texturePath);
|
|
-
|
|
- if(!shaderPathPresent)
|
|
- pathList.push_back(shaderPath);
|
|
+ if(!resourcePathPresent)
|
|
+ pathList.push_front(resourcePath);
|
|
}
|
|
|
|
// --------------------------------------------
|
|
diff --git a/src/osgOcean/FFTOceanSurface.cpp b/src/osgOcean/FFTOceanSurface.cpp
|
|
index bf11ed8..f1df992 100644
|
|
--- a/src/osgOcean/FFTOceanSurface.cpp
|
|
+++ b/src/osgOcean/FFTOceanSurface.cpp
|
|
@@ -110,7 +110,7 @@ void FFTOceanSurface::initStateSet( void )
|
|
|
|
if( _useCrestFoam )
|
|
{
|
|
- osg::Texture2D* foam_tex = createTexture("sea_foam.png", osg::Texture::REPEAT );
|
|
+ osg::Texture2D* foam_tex = createTexture("osgOcean/textures/sea_foam.png", osg::Texture::REPEAT );
|
|
if (ShaderManager::instance().areShadersEnabled())
|
|
_stateset->setTextureAttributeAndModes( FOAM_MAP, foam_tex, osg::StateAttribute::ON );
|
|
}
|
|
@@ -1038,8 +1038,8 @@ osg::Vec3f FFTOceanSurface::computeNoiseCoords(float noiseSize, const osg::Vec2f
|
|
|
|
osg::Program* FFTOceanSurface::createShader(void)
|
|
{
|
|
- static const char osgOcean_ocean_surface_vert_file[] = "osgOcean_ocean_surface.vert";
|
|
- static const char osgOcean_ocean_surface_frag_file[] = "osgOcean_ocean_surface.frag";
|
|
+ static const char osgOcean_ocean_surface_vert_file[] = "osgOcean/shaders/osgOcean_ocean_surface.vert";
|
|
+ static const char osgOcean_ocean_surface_frag_file[] = "osgOcean/shaders/osgOcean_ocean_surface.frag";
|
|
|
|
osg::Program* program =
|
|
ShaderManager::instance().createProgram("ocean_surface",
|
|
diff --git a/src/osgOcean/FFTOceanSurfaceVBO.cpp b/src/osgOcean/FFTOceanSurfaceVBO.cpp
|
|
index c444596..5453586 100644
|
|
--- a/src/osgOcean/FFTOceanSurfaceVBO.cpp
|
|
+++ b/src/osgOcean/FFTOceanSurfaceVBO.cpp
|
|
@@ -124,7 +124,7 @@ void FFTOceanSurfaceVBO::initStateSet( void )
|
|
|
|
if( _useCrestFoam )
|
|
{
|
|
- osg::Texture2D* foam_tex = createTexture("sea_foam.png", osg::Texture::REPEAT );
|
|
+ osg::Texture2D* foam_tex = createTexture("osgOcean/textures/sea_foam.png", osg::Texture::REPEAT );
|
|
if (ShaderManager::instance().areShadersEnabled())
|
|
_stateset->setTextureAttributeAndModes( FOAM_MAP, foam_tex, osg::StateAttribute::ON |
|
|
osg::StateAttribute::PROTECTED);
|
|
@@ -631,8 +631,8 @@ osg::Vec3f FFTOceanSurfaceVBO::computeNoiseCoords(float noiseSize, const osg::Ve
|
|
|
|
osg::Program* FFTOceanSurfaceVBO::createShader(void)
|
|
{
|
|
- static const char osgOcean_ocean_surface_vert_file[] = "osgOcean_ocean_surface_vbo.vert";
|
|
- static const char osgOcean_ocean_surface_frag_file[] = "osgOcean_ocean_surface.frag";
|
|
+ static const char osgOcean_ocean_surface_vert_file[] = "osgOcean/shaders/osgOcean_ocean_surface_vbo.vert";
|
|
+ static const char osgOcean_ocean_surface_frag_file[] = "osgOcean/shaders/osgOcean_ocean_surface.frag";
|
|
|
|
osg::Program* program =
|
|
ShaderManager::instance().createProgram("ocean_surface",
|
|
diff --git a/src/osgOcean/GodRayBlendSurface.cpp b/src/osgOcean/GodRayBlendSurface.cpp
|
|
index dbf51da..634f945 100644
|
|
--- a/src/osgOcean/GodRayBlendSurface.cpp
|
|
+++ b/src/osgOcean/GodRayBlendSurface.cpp
|
|
@@ -95,8 +95,8 @@ void GodRayBlendSurface::build( const osg::Vec3f& corner, const osg::Vec2f& dims
|
|
|
|
osg::Program* GodRayBlendSurface::createShader(void)
|
|
{
|
|
- static const char osgOcean_godray_screen_blend_vert_file[] = "osgOcean_godray_screen_blend.vert";
|
|
- static const char osgOcean_godray_screen_blend_frag_file[] = "osgOcean_godray_screen_blend.frag";
|
|
+ static const char osgOcean_godray_screen_blend_vert_file[] = "osgOcean/shaders/osgOcean_godray_screen_blend.vert";
|
|
+ static const char osgOcean_godray_screen_blend_frag_file[] = "osgOcean/shaders/osgOcean_godray_screen_blend.frag";
|
|
|
|
return ShaderManager::instance().createProgram( "godray_blend",
|
|
osgOcean_godray_screen_blend_vert_file, osgOcean_godray_screen_blend_frag_file,
|
|
diff --git a/src/osgOcean/GodRays.cpp b/src/osgOcean/GodRays.cpp
|
|
index 18cf2f2..69d7300 100644
|
|
--- a/src/osgOcean/GodRays.cpp
|
|
+++ b/src/osgOcean/GodRays.cpp
|
|
@@ -197,7 +197,7 @@ osg::Geometry* GodRays::createRayShafts(void)
|
|
|
|
osg::Geometry* GodRays::createGlareQuad(void)
|
|
{
|
|
- osg::ref_ptr<osg::Image> glareImage = osgDB::readImageFile("sun_glare.png");
|
|
+ osg::ref_ptr<osg::Image> glareImage = osgDB::readImageFile("osgOcean/textures/sun_glare.png");
|
|
|
|
if( !glareImage.valid() )
|
|
return NULL;
|
|
@@ -329,8 +329,8 @@ osg::Vec3f GodRays::refract( const float ratio, const osg::Vec3f& I, const osg::
|
|
|
|
osg::Program* GodRays::createGodRayProgram( void )
|
|
{
|
|
- static const char osgOcean_godrays_vert_file[] = "osgOcean_godrays.vert";
|
|
- static const char osgOcean_godrays_frag_file[] = "osgOcean_godrays.frag";
|
|
+ static const char osgOcean_godrays_vert_file[] = "osgOcean/shaders/osgOcean_godrays.vert";
|
|
+ static const char osgOcean_godrays_frag_file[] = "osgOcean/shaders/osgOcean_godrays.frag";
|
|
|
|
return ShaderManager::instance().createProgram("godrays_shader",
|
|
osgOcean_godrays_vert_file, osgOcean_godrays_frag_file,
|
|
@@ -342,8 +342,8 @@ osg::Program* GodRays::createGodRayProgram( void )
|
|
|
|
osg::Program* GodRays::createGodRayGlareProgram( void )
|
|
{
|
|
- static const char osgOcean_godray_glare_vert_file[] = "osgOcean_godray_glare.vert";
|
|
- static const char osgOcean_godray_glare_frag_file[] = "osgOcean_godray_glare.frag";
|
|
+ static const char osgOcean_godray_glare_vert_file[] = "osgOcean/shaders/osgOcean_godray_glare.vert";
|
|
+ static const char osgOcean_godray_glare_frag_file[] = "osgOcean/shaders/osgOcean_godray_glare.frag";
|
|
|
|
return ShaderManager::instance().createProgram("godray_glare",
|
|
osgOcean_godray_glare_vert_file, osgOcean_godray_glare_frag_file,
|
|
diff --git a/src/osgOcean/OceanScene.cpp b/src/osgOcean/OceanScene.cpp
|
|
index d6ddc42..8bfaa9d 100644
|
|
--- a/src/osgOcean/OceanScene.cpp
|
|
+++ b/src/osgOcean/OceanScene.cpp
|
|
@@ -701,8 +697,8 @@ void OceanScene::ViewData::init( OceanScene *oceanScene, osgUtil::CullVisitor *
|
|
_heightmapCamera->setCullMask( _oceanScene->_heightmapMask );
|
|
_heightmapCamera->setCullCallback( new CameraCullCallback(_oceanScene.get()) );
|
|
|
|
- static const char osgOcean_heightmap_vert_file[] = "osgOcean_heightmap.vert";
|
|
- static const char osgOcean_heightmap_frag_file[] = "osgOcean_heightmap.frag";
|
|
+ static const char osgOcean_heightmap_vert_file[] = "osgOcean/shaders/osgOcean_heightmap.vert";
|
|
+ static const char osgOcean_heightmap_frag_file[] = "osgOcean/shaders/osgOcean_heightmap.frag";
|
|
|
|
osg::ref_ptr<osg::Program> program = ShaderManager::instance().createProgram( "heightmap",
|
|
osgOcean_heightmap_vert_file, osgOcean_heightmap_frag_file,
|
|
@@ -1123,9 +1119,9 @@ osg::Camera* OceanScene::downsamplePass(osg::TextureRectangle* colorBuffer,
|
|
osg::TextureRectangle* outputTexture,
|
|
bool isGlareEffect )
|
|
{
|
|
- static const char osgOcean_downsample_vert_file[] = "osgOcean_downsample.vert";
|
|
- static const char osgOcean_downsample_frag_file[] = "osgOcean_downsample.frag";
|
|
- static const char osgOcean_downsample_glare_frag_file[] = "osgOcean_downsample_glare.frag";
|
|
+ static const char osgOcean_downsample_vert_file[] = "osgOcean/shaders/osgOcean_downsample.vert";
|
|
+ static const char osgOcean_downsample_frag_file[] = "osgOcean/shaders/osgOcean_downsample.frag";
|
|
+ static const char osgOcean_downsample_glare_frag_file[] = "osgOcean/shaders/osgOcean_downsample_glare.frag";
|
|
|
|
osg::Vec2s lowResDims = _screenDims/4;
|
|
|
|
@@ -1173,9 +1169,9 @@ osg::Camera* OceanScene::downsamplePass(osg::TextureRectangle* colorBuffer,
|
|
|
|
osg::Camera* OceanScene::gaussianPass( osg::TextureRectangle* inputTexture, osg::TextureRectangle* outputTexture, bool isXAxis )
|
|
{
|
|
- static const char osgOcean_gaussian_vert_file[] = "osgOcean_gaussian.vert";
|
|
- static const char osgOcean_gaussian1_frag_file[] = "osgOcean_gaussian1.frag";
|
|
- static const char osgOcean_gaussian2_frag_file[] = "osgOcean_gaussian2.frag";
|
|
+ static const char osgOcean_gaussian_vert_file[] = "osgOcean/shaders/osgOcean_gaussian.vert";
|
|
+ static const char osgOcean_gaussian1_frag_file[] = "osgOcean/shaders/osgOcean_gaussian1.frag";
|
|
+ static const char osgOcean_gaussian2_frag_file[] = "osgOcean/shaders/osgOcean_gaussian2.frag";
|
|
|
|
osg::Vec2s lowResDims = _screenDims/4.f;
|
|
|
|
@@ -1220,8 +1216,8 @@ osg::Camera* OceanScene::dofCombinerPass(osg::TextureRectangle* fullscreenTextur
|
|
osg::TextureRectangle* blurTexture,
|
|
osg::TextureRectangle* outputTexture )
|
|
{
|
|
- static const char osgOcean_dof_combiner_vert_file[] = "osgOcean_dof_combiner.vert";
|
|
- static const char osgOcean_dof_combiner_frag_file[] = "osgOcean_dof_combiner.frag";
|
|
+ static const char osgOcean_dof_combiner_vert_file[] = "osgOcean/shaders/osgOcean_dof_combiner.vert";
|
|
+ static const char osgOcean_dof_combiner_frag_file[] = "osgOcean/shaders/osgOcean_dof_combiner.frag";
|
|
|
|
osg::Vec2f screenRes( (float)_screenDims.x(), (float)_screenDims.y() );
|
|
osg::Vec2f invScreenRes( 1.f / (float)_screenDims.x(), 1.f / (float)_screenDims.y() );
|
|
@@ -1279,8 +1275,8 @@ osg::Camera* OceanScene::glarePass(osg::TextureRectangle* streakInput,
|
|
int pass,
|
|
osg::Vec2f direction )
|
|
{
|
|
- static const char osgOcean_streak_vert_file[] = "osgOcean_streak.vert";
|
|
- static const char osgOcean_streak_frag_file[] = "osgOcean_streak.frag";
|
|
+ static const char osgOcean_streak_vert_file[] = "osgOcean/shaders/osgOcean_streak.vert";
|
|
+ static const char osgOcean_streak_frag_file[] = "osgOcean/shaders/osgOcean_streak.frag";
|
|
|
|
osg::Vec2s lowResDims = _screenDims / 4;
|
|
|
|
@@ -1328,8 +1324,8 @@ osg::Camera* OceanScene::glareCombinerPass( osg::TextureRectangle* fullscreenTex
|
|
|
|
osg::Geode* quad = createScreenQuad( _screenDims, _screenDims );
|
|
|
|
- static const char osgOcean_glare_composite_vert_file[] = "osgOcean_glare_composite.vert";
|
|
- static const char osgOcean_glare_composite_frag_file[] = "osgOcean_glare_composite.frag";
|
|
+ static const char osgOcean_glare_composite_vert_file[] = "osgOcean/shaders/osgOcean_glare_composite.vert";
|
|
+ static const char osgOcean_glare_composite_frag_file[] = "osgOcean/shaders/osgOcean_glare_composite.frag";
|
|
|
|
osg::Program* program =
|
|
ShaderManager::instance().createProgram( "glare_composite",
|
|
@@ -1401,38 +1397,30 @@ osg::Geode* OceanScene::createScreenQuad( const osg::Vec2s& dims, const osg::Vec
|
|
|
|
osg::Program* OceanScene::createDefaultSceneShader(void)
|
|
{
|
|
- static const char osgOcean_ocean_scene_vert_file[] = "osgOcean_ocean_scene.vert";
|
|
- static const char osgOcean_ocean_scene_frag_file[] = "osgOcean_ocean_scene.frag";
|
|
+ static const char osgOcean_ocean_scene_vert_file[] = "osgOcean/shaders/osgOcean_ocean_scene.vert";
|
|
+ static const char osgOcean_ocean_scene_frag_file[] = "osgOcean/shaders/osgOcean_ocean_scene.frag";
|
|
|
|
return ShaderManager::instance().createProgram("scene_shader",
|
|
osgOcean_ocean_scene_vert_file, osgOcean_ocean_scene_frag_file,
|
|
osgOcean_ocean_scene_vert, osgOcean_ocean_scene_frag);
|
|
}
|
|
|
|
void OceanScene::addResourcePaths(void)
|
|
{
|
|
- const std::string shaderPath = "resources/shaders/";
|
|
- const std::string texturePath = "resources/textures/";
|
|
+ const std::string resourcePath = "../share/";
|
|
|
|
osgDB::FilePathList& pathList = osgDB::Registry::instance()->getDataFilePathList();
|
|
|
|
- bool shaderPathPresent = false;
|
|
- bool texturePathPresent = false;
|
|
+ bool resourcePathPresent = false;
|
|
|
|
for(unsigned int i = 0; i < pathList.size(); ++i )
|
|
{
|
|
- if( pathList.at(i).compare(shaderPath) == 0 )
|
|
- shaderPathPresent = true;
|
|
-
|
|
- if( pathList.at(i).compare(texturePath) == 0 )
|
|
- texturePathPresent = true;
|
|
+ if( pathList.at(i).compare(resourcePath) == 0 )
|
|
+ resourcePathPresent = true;
|
|
}
|
|
|
|
- if(!texturePathPresent)
|
|
- pathList.push_back(texturePath);
|
|
-
|
|
- if(!shaderPathPresent)
|
|
- pathList.push_back(shaderPath);
|
|
+ if(!resourcePathPresent)
|
|
+ pathList.push_front(resourcePath);
|
|
}
|
|
|
|
// -------------------------------
|
|
diff --git a/src/osgOcean/OceanTechnique.cpp b/src/osgOcean/OceanTechnique.cpp
|
|
index 325715e..ab48a00 100644
|
|
--- a/src/osgOcean/OceanTechnique.cpp
|
|
+++ b/src/osgOcean/OceanTechnique.cpp
|
|
@@ -83,28 +83,20 @@ bool OceanTechnique::isVisible( osgUtil::CullVisitor& cv, bool eyeAboveWater )
|
|
|
|
void OceanTechnique::addResourcePaths(void)
|
|
{
|
|
- const std::string shaderPath = "resources/shaders/";
|
|
- const std::string texturePath = "resources/textures/";
|
|
+ const std::string resourcePath = "../share/";
|
|
|
|
osgDB::FilePathList& pathList = osgDB::Registry::instance()->getDataFilePathList();
|
|
|
|
- bool shaderPathPresent = false;
|
|
- bool texturePathPresent = false;
|
|
+ bool resourcePathPresent = false;
|
|
|
|
for(unsigned int i = 0; i < pathList.size(); ++i )
|
|
{
|
|
- if( pathList.at(i).compare(shaderPath) == 0 )
|
|
- shaderPathPresent = true;
|
|
-
|
|
- if( pathList.at(i).compare(texturePath) == 0 )
|
|
- texturePathPresent = true;
|
|
+ if( pathList.at(i).compare(resourcePath) == 0 )
|
|
+ resourcePathPresent = true;
|
|
}
|
|
|
|
- if(!texturePathPresent)
|
|
- pathList.push_back(texturePath);
|
|
-
|
|
- if(!shaderPathPresent)
|
|
- pathList.push_back(shaderPath);
|
|
+ if(!resourcePathPresent)
|
|
+ pathList.push_front(resourcePath);
|
|
}
|
|
|
|
// --------------------------------------------------------
|
|
diff --git a/src/osgOcean/SiltEffect.cpp b/src/osgOcean/SiltEffect.cpp
|
|
index 7ab41cd..6ad4b6c 100644
|
|
--- a/src/osgOcean/SiltEffect.cpp
|
|
+++ b/src/osgOcean/SiltEffect.cpp
|
|
@@ -442,8 +442,8 @@ void SiltEffect::setUpGeometries(unsigned int numParticles)
|
|
|
|
_quadStateSet->setRenderBinDetails(quadRenderBin,"DepthSortedBin");
|
|
|
|
- static const char osgOcean_silt_quads_vert_file[] = "osgOcean_silt_quads.vert";
|
|
- static const char osgOcean_silt_quads_frag_file[] = "osgOcean_silt_quads.frag";
|
|
+ static const char osgOcean_silt_quads_vert_file[] = "osgOcean/shaders/osgOcean_silt_quads.vert";
|
|
+ static const char osgOcean_silt_quads_frag_file[] = "osgOcean/shaders/osgOcean_silt_quads.frag";
|
|
|
|
osg::Program* program =
|
|
ShaderManager::instance().createProgram("silt_quads",
|
|
@@ -456,8 +456,8 @@ void SiltEffect::setUpGeometries(unsigned int numParticles)
|
|
{
|
|
_pointStateSet = new osg::StateSet;
|
|
|
|
- static const char osgOcean_silt_points_vert_file[] = "osgOcean_silt_points.vert";
|
|
- static const char osgOcean_silt_points_frag_file[] = "osgOcean_silt_points.frag";
|
|
+ static const char osgOcean_silt_points_vert_file[] = "osgOcean/shaders/osgOcean_silt_points.vert";
|
|
+ static const char osgOcean_silt_points_frag_file[] = "osgOcean/shaders/osgOcean_silt_points.frag";
|
|
|
|
osg::Program* program =
|
|
ShaderManager::instance().createProgram("silt_point",
|
|
diff --git a/src/oceanExample/CMakeLists.txt b/src/oceanExample/CMakeLists.txt
|
|
index 09ae9f4..0873244 100644
|
|
--- a/src/oceanExample/CMakeLists.txt
|
|
+++ b/src/oceanExample/CMakeLists.txt
|
|
@@ -106,32 +106,32 @@
|
|
|
|
INSTALL(
|
|
FILES ${SKYBOX_TEXTURES_1}
|
|
- DESTINATION ${CMAKE_INSTALL_PREFIX}/bin/resources/textures/sky_clear
|
|
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/osgOcean/textures/sky_clear
|
|
)
|
|
|
|
INSTALL(
|
|
FILES ${SKYBOX_TEXTURES_2}
|
|
- DESTINATION ${CMAKE_INSTALL_PREFIX}/bin/resources/textures/sky_dusk
|
|
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/osgOcean/textures/sky_dusk
|
|
)
|
|
|
|
INSTALL(
|
|
FILES ${SKYBOX_TEXTURES_3}
|
|
- DESTINATION ${CMAKE_INSTALL_PREFIX}/bin/resources/textures/sky_fair_cloudy
|
|
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/osgOcean/textures/sky_fair_cloudy
|
|
)
|
|
|
|
INSTALL(
|
|
FILES ${EXAMPLE_SHADERS}
|
|
- DESTINATION ${CMAKE_INSTALL_PREFIX}/bin/resources/shaders
|
|
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/osgOcean/shaders
|
|
)
|
|
|
|
INSTALL(
|
|
FILES ${ISLAND_RESOURCES}
|
|
- DESTINATION ${CMAKE_INSTALL_PREFIX}/bin/resources/island
|
|
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/osgOcean/island
|
|
)
|
|
|
|
INSTALL(
|
|
FILES ${BOAT_RESOURCES}
|
|
- DESTINATION ${CMAKE_INSTALL_PREFIX}/bin/resources/boat
|
|
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/osgOcean/boat
|
|
)
|
|
|
|
|
|
diff --git a/src/oceanExample/application.cpp b/src/oceanExample/application.cpp
|
|
index 09ae9f4..0873244 100644
|
|
--- a/src/oceanExample/application.cpp
|
|
+++ b/src/oceanExample/application.cpp
|
|
@@ -224,7 +224,7 @@
|
|
|
|
if (!disableShaders)
|
|
{
|
|
- osg::Shader* vs = osgDB::readShaderFile(osg::Shader::VERTEX,"osgOcean_ocean_scene_lispsm.vert");
|
|
+ osg::Shader* vs = osgDB::readShaderFile(osg::Shader::VERTEX,"osgOcean/shaders/osgOcean_ocean_scene_lispsm.vert");
|
|
osg::ref_ptr<osg::Program> program = new osg::Program;
|
|
|
|
if (vs)
|
|
@@ -236,7 +236,7 @@
|
|
osg::notify(osg::WARN) << "osgOcean: Could not read shader from file: osgOcean_ocean_scene_lispsm.vert" << std::endl;
|
|
}
|
|
|
|
- osg::Shader* fs = osgDB::readShaderFile(osg::Shader::FRAGMENT,"osgOcean_ocean_scene_lispsm.frag");
|
|
+ osg::Shader* fs = osgDB::readShaderFile(osg::Shader::FRAGMENT,"osgOcean/shaders/osgOcean_ocean_scene_lispsm.frag");
|
|
|
|
if (fs)
|
|
{
|
|
@@ -253,7 +253,7 @@
|
|
}
|
|
|
|
osg::Program* sceneProgram = osgOcean::ShaderManager::instance().createProgram("scene_shader",
|
|
- "osgOcean_ocean_scene_lispsm.vert", "osgOcean_ocean_scene_lispsm.frag", "", "");
|
|
+ "osgOcean/shaders/osgOcean_ocean_scene_lispsm.vert", "osgOcean/shaders/osgOcean_ocean_scene_lispsm.frag", "", "");
|
|
scene->getOceanScene()->setDefaultSceneShader(sceneProgram);
|
|
}
|
|
|
|
@@ -300,8 +300,8 @@
|
|
|
|
if (testCollision)
|
|
{
|
|
- osgDB::Registry::instance()->getDataFilePathList().push_back("resources/boat");
|
|
- const std::string filename = "boat.3ds";
|
|
+ osgDB::Registry::instance()->getDataFilePathList().push_back("../share");
|
|
+ const std::string filename = "osgOcean/boat/boat.3ds";
|
|
osg::ref_ptr<osg::Node> boat = osgDB::readNodeFile(filename);
|
|
|
|
if(boat.valid())
|
|
diff --git a/src/oceanExample/Scene.cpp b/src/oceanExample/Scene.cpp
|
|
index 09ae9f4..0873244 100644
|
|
--- a/src/oceanExample/Scene.cpp
|
|
+++ b/src/oceanExample/Scene.cpp
|
|
@@ -309,8 +309,8 @@
|
|
// The custom shader is needed to add multi-texturing and bump mapping to the terrain.
|
|
osg::Node* Scene::loadIslands(const std::string& terrain_shader_basename)
|
|
{
|
|
- osgDB::Registry::instance()->getDataFilePathList().push_back("resources/island");
|
|
- const std::string filename = "islands.ive";
|
|
+ osgDB::Registry::instance()->getDataFilePathList().push_back("../share");
|
|
+ const std::string filename = "osgOcean/island/islands.ive";
|
|
osg::ref_ptr<osg::Node> island = osgDB::readNodeFile(filename);
|
|
|
|
if(!island.valid()){
|
|
@@ -319,8 +319,8 @@ osg::Node* Scene::loadIslands(const std::string& terrain_shader_basename)
|
|
}
|
|
|
|
#ifdef USE_CUSTOM_SHADER
|
|
- const std::string terrain_vertex = terrain_shader_basename + ".vert";
|
|
- const std::string terrain_fragment = terrain_shader_basename + ".frag";
|
|
+ const std::string terrain_vertex = "osgOcean/shaders/" + terrain_shader_basename + ".vert";
|
|
+ const std::string terrain_fragment = "osgOcean/shaders/" + terrain_shader_basename + ".frag";
|
|
|
|
osg::Program* program = osgOcean::ShaderManager::instance().createProgram("terrain", terrain_vertex, terrain_fragment, "", "" );
|
|
if(program) program->addBindAttribLocation("aTangent", 6);
|
|
@@ -352,12 +352,12 @@
|
|
|
|
std::string filenames[6];
|
|
|
|
- filenames[POS_X] = "resources/textures/" + dir + "/east.png";
|
|
- filenames[NEG_X] = "resources/textures/" + dir + "/west.png";
|
|
- filenames[POS_Z] = "resources/textures/" + dir + "/north.png";
|
|
- filenames[NEG_Z] = "resources/textures/" + dir + "/south.png";
|
|
- filenames[POS_Y] = "resources/textures/" + dir + "/down.png";
|
|
- filenames[NEG_Y] = "resources/textures/" + dir + "/up.png";
|
|
+ filenames[POS_X] = "osgOcean/textures/" + dir + "/east.png";
|
|
+ filenames[NEG_X] = "osgOcean/textures/" + dir + "/west.png";
|
|
+ filenames[POS_Z] = "osgOcean/textures/" + dir + "/north.png";
|
|
+ filenames[NEG_Z] = "osgOcean/textures/" + dir + "/south.png";
|
|
+ filenames[POS_Y] = "osgOcean/textures/" + dir + "/down.png";
|
|
+ filenames[NEG_Y] = "osgOcean/textures/" + dir + "/up.png";
|
|
|
|
osg::ref_ptr<osg::TextureCubeMap> cubeMap = new osg::TextureCubeMap;
|
|
cubeMap->setInternalFormat(GL_RGBA);
|