I am trying to modify the landscape in C++ by changing the texture containing the heightmap.
The red and green channels store the 16 bit height value of the vertex, but I don’t know what the blue and alpha channels contain. According to this page, those contain the x and y offset, but I don’t know what is meant by x and y offset.
When I change these values in a code, the shading of the surface changes, so my guess was that it is related to the surface normals, but how would those be packed in 16 bit? I don’t think it is related to the uv mapping since changing them only seems to change the shading/reflection but not the texture location.
Does anybody have a clue what these values are?
X offset off sets it in screen top to bottom. Y offset off sets it in screen side to side or across. Channels in the normal will be for X=topbottom or Y=Across or Z=depth. When you save the file it will ask in adobe what bit to save it at, tell it 16 bit for that channel. Each channel is usually 8 bit. 8x4 channels = 32 bit texture. If its all saved as 16bit channels then the texture would be a full 64 bit texture.
Use the z for depth. To make a decent displacement map or height map. I took the normals z channel copied it into its own file. Then took green channel in the art(COLOR) it self, added it as a layer to the copied z. Then took copied z channel set it layer to multiply then took the copied G channels layer and set it to softlight or (one of the light settings, one that looked the best) and then layer blended it. Then collapsed the 2 layers into 1 to get a decent displacement map, Then i gaussian blur it, saved that and put that into my alpha channel to be used as the height map for tessellation, when in the texture editor.