Skip to main content
GameDev.net gamedev.net
🔒 Locked

High precision texture.

Started by piluve Dec 7, 2016 at 9:27 PM 5 replies 2.7k views
Original Post
piluve
piluve

Hello!

I´ve been strugling for a while on how to load hight precision textures in DX12. Right now I´ve been using to load my textures "DirectX::CreateDDSTextureFromFile12". There is also the "TextureFromMemory" function but it only accepts 8bits data and I would like to upload a 16bit texture (to be used as a heightmap).

What could I do? Should I try to upload a buffer instead?

MJP
MJP

Which library are you using that has the DDS loading functions?

Most DDS loaders will use the format of the data of the DDS file when creating the texture. So if the DDS file contains 16-bit data, the resulting texture will use a 16-bit format. Does your heightmap DDS file have 16-bit data in it?

piluve
piluve

Which library are you using that has the DDS loading functions?

Most DDS loaders will use the format of the data of the DDS file when creating the texture. So if the DDS file contains 16-bit data, the resulting texture will use a 16-bit format. Does your heightmap DDS file have 16-bit data in it?

Hello!

I´m using the DDSTextureLoader (microsoft), I export the heightmap from world machine as a png, then I import it in Photoshop an export it as a DDS texture (using the Nvidia plugin) if I set the DDS to have 8bits it works but with 16 it doesnt, when I load the texture in the program, the function just crash.

MJP
MJP

You're talking about the the one from DirectXTex that you can find here? It doesn't have a function called "CreateDDSTextureFromFile12". Perhaps you're using an older version? If so, it would be worth trying the latest to see if it still crashes. If it does still crash then I would share some details of the crash (where in the code is it crashing? What kind of exception is happening? etc.) so that we can help you debug it.

cgrant
cgrant

Just an aside, if you are compressing your heightmaps to save on texture memory( bandwidth included ), then you may run into issues where compression artifacts may cause visual anomalies when you render the terrain using the texture samples. If you are not compressing the texture and just using the DDS format, then why not just use the PNG, since neither format is going to save you anything.

Mona2000
Mona2000

If you are not compressing the texture and just using the DDS format, then why not just use the PNG, since neither format is going to save you anything.

Well, DDS is going to save you loading time..

piluve
piluve

You're talking about the the one from DirectXTex that you can find here? It doesn't have a function called "CreateDDSTextureFromFile12". Perhaps you're using an older version? If so, it would be worth trying the latest to see if it still crashes. If it does still crash then I would share some details of the crash (where in the code is it crashing? What kind of exception is happening? etc.) so that we can help you debug it.

I guess I was using an older version of it. I found a way to make it work, I export the texture as a one channel floating point texture and it works (while giving a lot of precision).

See you!

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.