Better islands

This commit is contained in:
2025-06-26 04:51:35 +03:00
parent 1463a1cde0
commit f58402921f
9 changed files with 324 additions and 402 deletions

View File

@@ -25,7 +25,7 @@ Water::~Water()
void Water::createWater(Ogre::Camera *camera)
{
int i;
float w = 400;
float w = 1000;
mCamera = camera;
mScnMgr = camera->getSceneManager();
mCameraNode = camera->getParentSceneNode();
@@ -59,7 +59,9 @@ void Water::createWater(Ogre::Camera *camera)
mWaterNode = mScnMgr->getRootSceneNode()->createChildSceneNode("Water");
Ogre::Entity *water = mScnMgr->createEntity("WaterR", "water");
water->setVisibilityFlags(WATER_MASK);
water->setCastShadows(true);
auto mat = Ogre::MaterialManager::getSingleton().getByName("Water");
mat->setReceiveShadows(false);
mat->getTechnique(0)
->getPass(0)
->getTextureUnitState(0)
@@ -72,6 +74,7 @@ void Water::createWater(Ogre::Camera *camera)
Ogre::Entity *water_lod1 = mScnMgr->createEntity(
"Water" + Ogre::StringConverter::toString(i), "water");
water_lod1->setMaterialName("Water");
water_lod1->setMaterial(mat);
Ogre::SceneNode *node_w = mWaterNode->createChildSceneNode(
"Water" + Ogre::StringConverter::toString(i),
positions[i] * w, Ogre::Quaternion::IDENTITY);

View File

@@ -28,6 +28,8 @@ material Water
{
ambient 1.0 1.0 1.0 1.0
diffuse 0.0 0.2 0.5 1.0
cull_hardware none
cull_software none
/*
vertex_program_ref Examples/FresnelRefractReflectVP
{
@@ -62,6 +64,7 @@ material Water
texture waves2.png
// min / mag filtering, no mip
filtering linear linear none
tex_address_mode mirror
}
// Reflection
texture_unit
@@ -75,6 +78,19 @@ material Water
content_type compositor Fresnel refraction
tex_address_mode mirror
}
// Normal
texture_unit
{
texture waves2.png
sampler_ref RTSS/NormalMapSampler
// RT Shader system section.
rtshader_system
{
normal_map tangent_space
}
tex_address_mode mirror
}
}
}
}