Sigma88 / Sigma-Cartographer

Map exporting tool for KSP
Other
8 stars 5 forks source link

heightmaps are 8-bit only #26

Open JebediahKermanKSP opened 3 years ago

JebediahKermanKSP commented 3 years ago

for some reason, Cartographer exports 8-bit heightmaps. I know it's a problem with Squad's tools, but i want to know what tool is used to return the height values as 8-bit or some other number. Maybe i can try to copy the tool's actions and make it return 16-bit values (not 32-bit values).

Sigma88 commented 3 years ago

do you just need a 16 bit texture for personal reasons or do you actually want those textures to be then loaded by ksp itself?

JebediahKermanKSP commented 3 years ago

i'm using those textures for a KSP mod I'm making. I recompiled a pqs mod for kopernicus which is a standalone version of RSS's VertexHeightMapRSS, and it works (still shows "square" artifacts, because of how small the texture is). It's impossible because KSP doesn't have a part where you can write the pixels as 16 bit grayscale or a write it with a color format called "R16G16B16A16_UNORM" (it also supports 16-bit values).

Sigma88 commented 3 years ago

ok, so if you actually want to use a 16bit texture as a heightmap you would need to know how that texture is read by the game.

I can export the texture saving the height as a 16bit number, however it's not granted that how I would do it will actually be the correct way that ksp expects the texture to be made

JebediahKermanKSP commented 3 years ago

but how can you export it? Unity says that it doesn't work except on RGBA32, ARGB32, RGB24 and Alpha8. I do have a custom PQS mod that can read 16-bit heightmaps in R16_UNORM format. If that part doesn't work, I can use those maps for cartography I guess.

Sigma88 commented 3 years ago

well, I can export an RGBA32 texture and use the first two channels as a 16 bit greyscale image I assume. you will need to make those into a single texture though

JebediahKermanKSP commented 3 years ago

But it says RGBA32 uses 8 bits per channel. It uses float values though. Feel free to test it out. I recommend to use GIMP for viewing because it supports 16-bit images.