» TexConvGUI
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

TexConvGUI

tool
Credits: MS Texconv, OpenEXR, zlib, u7angel, woei

about

Simple GUI for MS Texconv.
Obviously inspired by u7angel's DDS Converter.

Alternatives:

v1.3

v1.2

v1.1

u7angel 08/09/2017 - 16:24

nice !

antokhio 10/09/2017 - 12:34

hmmph doesn't work for me for some reason....
just says done and nothing converted

bjoern 10/09/2017 - 15:21

Ah maybe try a path without spaces. Might have forgotten to quote.

antokhio 10/09/2017 - 17:08

Oui!
Now it works, but i can't view any of BC7_UNORM dds lol
just hangs vvvv hmmm.... also seems other types of compression also don't work

update: nop BC7 worked like charm, just not with filetex pooled
update 2: even more weird now everything works like charm for whatever reason....
seems like first time it did something wrong.

Also is it necessary to put resolution in "Resizing" or it takes source?

bjoern 10/09/2017 - 20:01

If you leave both at 0 it will take the original size. There are tooltips for every option, just hover over the fields with your mouse. I had "frozen" filetextures too when trying bc7. With the player node everything works fine.
Also with bc7 try Min Compress and see if it makes any difference qualitywise, it's a lot faster.

rSyndrome 26/02/2019 - 16:50

Hi there,

Thanks for this useful tool!

As far as I know texConv is the most convenient conversion tool atm to take advantage of the last BC formats, because :

  • as you say nvtt still has no support of BC6H and BC7 formats
  • Compressonator is unusable on my machine (Win7 with Windows kit 10 installed), as versions 3.0+ require DX12 and Vulkan, and v2.5/2.6 crash at the end of textures' generation...

Could you share the code of this tool, or add a few improvements to it? The first one I see would be to automatically choose the right number of mipmaps if this number is set (by default) to 0. Indeed the generator fails to convert files if you set a higher number than it's possible to generate, which is quite annoying when you want to convert textures with various resolutions in the same folder.

bjoern 27/02/2019 - 21:04
rSyndrome said
The first one I see would be to automatically choose the right number of mipmaps if this number is set (by default) to 0.

If by "right amount" you mean all mipmaps you can do this already. Just set Mip Map Level to 0.

Microsoft said
  • -m number: Number of mipmap levels to generate in the output texture. This setting only applies to DDS output, which defaults to 0 which is generate all mipmaps. Use -m 1 to remove mipmaps.

I chose 1 as default because I use the thing to convert highres videos that are displayed 1:1 – it also decreases encoding time and filesize.

rSyndrome 28/02/2019 - 11:48

Ah, great :) The -m option wasn't explained in detail in the cmd line.

mrboni 04/05/2019 - 10:58

Have people had much luck with BC6 and BC7 formats from this? The BC6 variants crash v4 as soon as the texture is in the render pipeline (filetexture will load it initially, but the crash occurs if you try to render it)

A half HD BC7Unorm image takes around 20s to load.

BC7Typeless crashes texconvgui on conversion

I'm using not the most recent alpha 38.2 x64 with most recent dx11 pack

bjoern 04/05/2019 - 16:16

Sorry, I only use bc7 in conjunction with woei's player which works nicely. FileTexture works for me when set to Load in Background, vvvv won't crash and the texture(s) will load eventually, it takes ages though. As to why you'll have to ask vux. Maybe create an issue at github and provide some example textures for him to debug.

mrboni 04/05/2019 - 17:51

bjoern, thank you - BC6 working great with player!

mrboni 05/05/2019 - 16:07

@bjoern - another question. Does exr work for you? I get the following error - FAILED (88982f50)

bjoern 05/05/2019 - 17:02

Never tried with exr and/or have encountered that particular error.
However it seems to be caused by a missing codec/decoder.
https://www.startpage.com/do/search?query=WINCODEC_ERR_COMPONENTNOTFOUND

edit:
OpenEXR support isn't enabled by default.

Microsoft said
Support for OpenEXR (EXR) can be added to the texconv utility. Uncomment #define USE_OPENEXR in the source, and add the DirectXTex auxiliary module to the project. See Adding OpenEXR for more details including building the OpenEXR library.

Source &
Details

mrboni 05/05/2019 - 20:37

Thanks. I'm using a workaround for now but if I get a chance I'll try that out

bjoern 06/05/2019 - 11:49

@mrboni added exr support. Only tested it with some sample images. Maybe you could try and report back...

mrboni 06/05/2019 - 13:06

Wow thank you Bjoern.

I actually just had to ditch my workaround for various reasons so was about to try to make this work. You saved me loads of time.

It works perfectly, and creates a better pipeline from Resolve / Fusion in to vvvv. I've only tested with 4 channel 128bpp exrs > R16G16F dds. (I had to ditch BC6H as the Player plugin wasn't happy with dynamically changing quantity of visible textures). I don't know how texconv will deal with exrs that have extra channels. If I test I'll let you know

Much appreciated

thedi4bl0 11/08/2019 - 02:14

Hi! thanks for the app, is very fast, but I have a problem xD I don't know that parametres need check for only compress .DDS file to format BC6, I can convert, but bad, is deformed.

Original
Using the app for BC6 UF16
bjoern 21/08/2019 - 16:45

Sorry I don't get your question, please rephrase.

Purp_Mete 11/09/2019 - 11:37

Which output format I should use for changing DDS.FORMAT to PNG.FORMAT ?
This tool is awesome

bjoern 14/09/2019 - 11:55

It only converts to dds not vice versa, sorry.

ricaria 01/10/2020 - 10:06

hi, a really usefull tool indeed, but it hardly works for me, i try it at a couple of different computers, i tried it hundreds of times, it worked only a few times. Dont know how and why.

I am trying to convert a sequance of png with alpha to dds . as i said it worked a few times..

i tried using simple folder names and file names like C:\chips and to save the dds file to the same or a different folder again in C:

it just says done and nothing happens. help

aazard 07/10/2020 - 02:26

I love you for open ext support!

tgd 07/10/2020 - 10:26

@ricaria Using it heavily for a project right now with no issues on multiple machines. Just in case: you pay attention to the file mask dropdown menu and whether the filecount field says it found any files to convert?

u7angel 13/10/2020 - 16:07

... and maybe open source it ? or is it already ?

redphoenix 18/06/2021 - 08:18

Hello bjoern! Absolutely lovely tool, using it a lot for Farming Simulator 2019!

One request: Would it be possible to change the file endings to be lowercase instead of uppercase? Some engines do not like uppercase file-endings (like the Giants Engine for Farming Simulator)

bjoern 20/06/2021 - 15:57
redphoenix said
One request: Would it be possible to change the file endings to be lowercase instead of uppercase?

Unfortunately that's the way Texconv writes the files. There is a lower case switch but it affects the whole file name not just the ending and in my opinion that's not really desirable.
See also: https://github.com/microsoft/DirectXTex/issues/170

So for now it would need a second renaming step, idk when I'll have the time to implement that.

bjoern 03/08/2021 - 14:38

@redphoenix: file extensions are now lowercase (version 1.3).

redphoenix 26/09/2021 - 13:01

@bjoern you are an absolute legend!

redphoenix 02/12/2021 - 20:52

Hey bjoern - for some reason with the last update I encounter some instability issue.
Whenever switching away and back to the GUI it closes right away.

bjoern 03/12/2021 - 15:03

@redphoenix you mean switching to another programm, e.g. alt + tab?

lostes 07/01/2022 - 00:27

Hi bjoern. I have no question I just want to thank you for this tool. It really helps (game) artist who are not so technical with creating a lot of content which they otherwise would have give up on out of frustration. Much appreciated!

redphoenix 29/01/2022 - 17:19

@bjoern very sorry for the late answer to this question, but yes (I unfortunately was extremely busy in the meantime)

bjoern 30/01/2022 - 14:46

I've been using it quite often lately and cannot confirm that behaviour.
You could check windows eventviewer for more info on what's causing the crash.

redphoenix 30/01/2022 - 22:20

I will do, thank you.

redphoenix 20/02/2022 - 18:21

Hey! Just crashed on me again, here is a report from the eventviewer.

Anwendung: TexConvGui.exe
Frameworkversion: v4.0.30319
Beschreibung: Der Prozess wurde aufgrund einer unbehandelten Ausnahme beendet.
Ausnahmeinformationen: System.ArgumentOutOfRangeException
   bei System.ThrowHelper.ThrowArgumentOutOfRangeException(System.ExceptionArgument, System.ExceptionResource)
   bei System.Collections.Generic.List`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].RemoveAt(Int32)
   bei TexConvGui.MainWindow.UpdateProgress(System.String)
   bei TexConvGui.MainWindow.OnDataReceived(System.Object, System.Diagnostics.DataReceivedEventArgs)
   bei System.Diagnostics.Process.OutputReadNotifyUser(System.String)
   bei System.Diagnostics.AsyncStreamReader.FlushMessageQueue()
   bei System.Diagnostics.AsyncStreamReader.GetLinesFromStringBuilder()
   bei System.Diagnostics.AsyncStreamReader.ReadBuffer(System.IAsyncResult)
   bei System.IO.Stream+ReadWriteTask.InvokeAsyncCallback(System.Object)
   bei System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   bei System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   bei System.IO.Stream+ReadWriteTask.System.Threading.Tasks.ITaskCompletionAction.Invoke(System.Threading.Tasks.Task)
   bei System.Threading.Tasks.Task.FinishContinuations()
   bei System.Threading.Tasks.Task.FinishStageThree()
   bei System.Threading.Tasks.Task.FinishStageTwo()
   bei System.Threading.Tasks.Task.Finish(Boolean)
   bei System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef)
   bei System.Threading.Tasks.Task.ExecuteEntry(Boolean)
   bei System.Threading.Tasks.Task.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
   bei System.Threading.ThreadPoolWorkQueue.Dispatch()
   bei System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
Name der fehlerhaften Anwendung: TexConvGui.exe, Version: 1.3.0.0, Zeitstempel: 0x6109325b
Name des fehlerhaften Moduls: KERNELBASE.dll, Version: 10.0.19041.1526, Zeitstempel: 0xd9a6be6b
Ausnahmecode: 0xe0434352
Fehleroffset: 0x0012b812
ID des fehlerhaften Prozesses: 0x4268
Startzeit der fehlerhaften Anwendung: 0x01d82673691f38b3
Pfad der fehlerhaften Anwendung: D:\TexConvGui_1.3\TexConvGui.exe
Pfad des fehlerhaften Moduls: C:\Windows\System32\KERNELBASE.dll
Berichtskennung: 3ad049b6-e545-4908-890a-78728cdd4f75
Vollständiger Name des fehlerhaften Pakets: 
Anwendungs-ID, die relativ zum fehlerhaften Paket ist:
tgd 19/05/2022 - 15:17

@redphoenix just guessing but only time it crashed for me was when out of disk space.

anonymous user login

Shoutbox

~3d ago

fleg: This Tuesday, Cologne: exhibition opening of "interwoven", textile disinformation patterns created with vvvv. https://fleg.de/news/exhibition-interwoven

~17d ago

manuelgonzalvez: Assimp nodes all broken afted Win Update w/exception "COM object that has been separated from its underlying RCW(...)"

~17d ago

manuelgonzalvez: @levi thanks would love to! anyway managed to get something similar working based on forum search and anthokio's patches.

~17d ago

levi: @ravasquez thanks. 31.2 x86 verrion worked. @manuelgonzalvez i have a dx11 projectTexture if u a want.

~19d ago

manuelgonzalvez: Anyone has a dx11 port of "projectedTexture" dx9 fx for projection mapping?

~19d ago

manuelgonzalvez: Anyone has a dx11 port of "projectedTexture" dx9 fx for projection mapping?

~19d ago

ravazquez: @levi not sure bout the ImagePack, but I believe VL.OpenCV should give you the same tools and should work with beta just fine

~19d ago

levi: anyone knows of a VVVVpacks.image that works for elliot's projector calibration patches?x64,dx11. always crashes v4 on solve.

~26d ago

Lorenz: VJing with GIFS: https://lorenzpotthast.de/gifjockey/ A fun little side project, that I first prototyped in v4 and now turned web-based ;)

~2mth ago

schlonzo: finally fixed in 4.8 nice1