Page 1 of 1

modifying terra detail map and diffuse map

Posted: Tue Feb 16, 2021 7:05 pm
by Nickak2003
what would be the best way to modify a terra's detail and diffuse map to implement dynamic splatting? I imagine I would have to grab the textures from a specific terra. Would I have to change them to be like a manual texture, and do:

Code: Select all

	mTexture->scheduleTransitionTo(Ogre::GpuResidency::Resident, &mImage, false);
?

Re: modifying terra detail map and diffuse map

Posted: Tue Feb 16, 2021 7:39 pm
by dark_sylinc
See Samples/2.0/ApiUsage/UpdatingDecalsAndAreaLightTex sample which updates textures on demand dynamically in 2 different ways.

That sample makes use of reseved poolIds because decals (and textured area lights) have the limitations that all textures must have the same resolution.

However there is no such limitation for Terra, so the reserved pool id part can be ignored.

Re: modifying terra detail map and diffuse map

Posted: Wed Feb 17, 2021 4:06 pm
by Lax
Hi Nickack2003,

There is also a topic which deals with terra modifications:
viewtopic.php?t=93495
I also implemented terra highmap modification and splatting.
If you are interested, I could share my code. Its at an early stage and not perfect, but it works so far.
I'm still looking for someeone, which would also investigate time into this topic, so that in future, there would be an editable terra functionality.

I'm also looking for Ocean, but found no implementation for DirectX so far...

Best Regards
Lax

Re: modifying terra detail map and diffuse map

Posted: Sat Feb 20, 2021 10:11 pm
by Lax
Here the code:

https://sourceforge.net/p/nowa-engine/s ... nal/terra/

Its all in the terra.h and terra.cpp

The usage can be found here:

https://sourceforge.net/p/nowa-engine/s ... ponent.cpp

and here for undo/redo:

https://sourceforge.net/p/nowa-engine/s ... anager.cpp

Best Regards
Lax