mirror of
https://github.com/OpenMW/openmw.git
synced 2025-02-05 19:45:33 +00:00
Merge branch '7' into 'master'
fixes pitch black ripples in shadow See merge request OpenMW/openmw!123
This commit is contained in:
commit
8ebecb7584
2 changed files with 7 additions and 4 deletions
|
@ -68,8 +68,8 @@ namespace
|
||||||
|
|
||||||
osg::ref_ptr<osg::Material> mat (new osg::Material);
|
osg::ref_ptr<osg::Material> mat (new osg::Material);
|
||||||
mat->setDiffuse(osg::Material::FRONT_AND_BACK, osg::Vec4f(0.f, 0.f, 0.f, 1.f));
|
mat->setDiffuse(osg::Material::FRONT_AND_BACK, osg::Vec4f(0.f, 0.f, 0.f, 1.f));
|
||||||
mat->setAmbient(osg::Material::FRONT_AND_BACK, osg::Vec4f(0.f, 0.f, 0.f, 1.f));
|
mat->setAmbient(osg::Material::FRONT_AND_BACK, osg::Vec4f(1.f, 1.f, 1.f, 1.f));
|
||||||
mat->setEmission(osg::Material::FRONT_AND_BACK, osg::Vec4f(1.f, 1.f, 1.f, 1.f));
|
mat->setEmission(osg::Material::FRONT_AND_BACK, osg::Vec4f(0.f, 0.f, 0.f, 1.f));
|
||||||
mat->setSpecular(osg::Material::FRONT_AND_BACK, osg::Vec4f(0.f, 0.f, 0.f, 0.f));
|
mat->setSpecular(osg::Material::FRONT_AND_BACK, osg::Vec4f(0.f, 0.f, 0.f, 0.f));
|
||||||
mat->setColorMode(osg::Material::DIFFUSE);
|
mat->setColorMode(osg::Material::DIFFUSE);
|
||||||
stateset->setAttributeAndModes(mat, osg::StateAttribute::ON);
|
stateset->setAttributeAndModes(mat, osg::StateAttribute::ON);
|
||||||
|
@ -101,12 +101,15 @@ RippleSimulation::RippleSimulation(osg::Group *parent, Resource::ResourceSystem*
|
||||||
updater->addParticleSystem(mParticleSystem);
|
updater->addParticleSystem(mParticleSystem);
|
||||||
|
|
||||||
mParticleNode = new osg::PositionAttitudeTransform;
|
mParticleNode = new osg::PositionAttitudeTransform;
|
||||||
|
mParticleNode->setName("Ripple Root");
|
||||||
mParticleNode->addChild(updater);
|
mParticleNode->addChild(updater);
|
||||||
mParticleNode->addChild(mParticleSystem);
|
mParticleNode->addChild(mParticleSystem);
|
||||||
mParticleNode->setNodeMask(Mask_Effect);
|
mParticleNode->setNodeMask(Mask_Water);
|
||||||
|
|
||||||
createWaterRippleStateSet(resourceSystem, mParticleNode);
|
createWaterRippleStateSet(resourceSystem, mParticleNode);
|
||||||
|
|
||||||
|
resourceSystem->getSceneManager()->recreateShaders(mParticleNode);
|
||||||
|
|
||||||
mParent->addChild(mParticleNode);
|
mParent->addChild(mParticleNode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -437,7 +437,7 @@ Water::Water(osg::Group *parent, osg::Group* sceneRoot, Resource::ResourceSystem
|
||||||
, mTop(0)
|
, mTop(0)
|
||||||
, mInterior(false)
|
, mInterior(false)
|
||||||
{
|
{
|
||||||
mSimulation.reset(new RippleSimulation(parent, resourceSystem));
|
mSimulation.reset(new RippleSimulation(mSceneRoot, resourceSystem));
|
||||||
|
|
||||||
mWaterGeom = SceneUtil::createWaterGeometry(Constants::CellSizeInUnits*150, 40, 900);
|
mWaterGeom = SceneUtil::createWaterGeometry(Constants::CellSizeInUnits*150, 40, 900);
|
||||||
mWaterGeom->setDrawCallback(new DepthClampCallback);
|
mWaterGeom->setDrawCallback(new DepthClampCallback);
|
||||||
|
|
Loading…
Reference in a new issue