Changing a texture's height map value in realtime?
Posted: Thu Dec 18, 2008 11:56 pm
I've really liked the SpecialFX tutorial example and what it does with parallax mapping, and i was wondering if it was possible to change the height map value in realtime?
Here's the particular bit of code I'm looking at:
Now I want to be able to change the following:
Is this at all possible, if I added a slider in the program to change this value from 1.0f to 10.0f? Or is this not possible with shaders/height maps/etc.?
Edit:
Thanks Bitplane, I've done something along the lines of changing that. I've got a really nice demo available too but I'm sure no one will really be interested in it anyway.
Here's the particular bit of code I'm looking at:
Code: Select all
if (roomMesh)
{
smgr->getMeshManipulator()->makePlanarTextureMapping(
roomMesh->getMesh(0), 0.003f);
video::ITexture* colorMap =
driver->getTexture("media/rockwall.bmp");
video::ITexture* normalMap =
driver->getTexture("media/rockwall_height.bmp");
driver->makeNormalMapTexture(normalMap, 9.0f);
scene::IMesh* tangentMesh = smgr->getMeshManipulator()->createMeshWithTangents(
roomMesh->getMesh(0));
room = smgr->addMeshSceneNode(tangentMesh);
room->setMaterialTexture(0, colorMap);
room->setMaterialTexture(1, normalMap);
room->getMaterial(0).SpecularColor.set(0,0,0,0);
room->setMaterialFlag(video::EMF_FOG_ENABLE, true);
room->setMaterialType(video::EMT_PARALLAX_MAP_SOLID);
// adjust height for parallax effect
room->getMaterial(0).MaterialTypeParam = 0.035f;
// drop mesh because we created it with a create.. call.
tangentMesh->drop();
}
Code: Select all
driver->makeNormalMapTexture(normalMap, 9.0f);
Edit:
Thanks Bitplane, I've done something along the lines of changing that. I've got a really nice demo available too but I'm sure no one will really be interested in it anyway.