• Login
  • Register
  • Dolphin Forums
  • Home
  • FAQ
  • Download
  • Wiki
  • Code


Dolphin, the GameCube and Wii emulator - Forums › Game Modifications › Custom Texture Projects v
1 2 3 4 5 ... 12 Next »

Custom Texture Tool PS v50.1
View New Posts | View Today's Posts

Pages (117): « Previous 1 ... 31 32 33 34 35 ... 117 Next »
Jump to page 
Thread Rating:
  • 8 Vote(s) - 4.88 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Thread Modes
Custom Texture Tool PS v50.1
07-20-2017, 06:58 AM (This post was last modified: 07-20-2017, 08:34 AM by Bighead. Edit Reason: ...pitch, not depth )
#321
Bighead Offline
Oversized Cranium
*******
Posts: 1,985
Threads: 15
Joined: Aug 2011
(07-19-2017, 01:52 AM)jvook Wrote: No chance you're from OH right?  I knew a booger (named because apparently looked like a booger when born -- terrible nickname to choose for your own kid!) and a bighead (with an actual big head) 20 years ago.

Nope but not too far away, Ohio is only a few hours drive. I'm further east by one state (PA).

Further chronicling my adventures into DDS valley, I came up with my own method for creating BC7 textures with custom mipmaps since no program in existence offers this capability that I'm aware of. I'm not sure why, I guess it's just not a very sought for feature. So far I've only ever found DDS Utilities that can create custom mipmaps, but it's ancient at this point and only works with up to BC3 textures. Understanding the headers was crucial, and its the key to having lower mipmaps. After all the values in the header are correct, it seems pixel data can just be copied from multiple images if each one is half the resolution of the previous one (or as close as it can be, for example, the next step down from 11 would be 5 as its not expecting a rounded up value?). And again before going too deep, I want to mention Dolphin does not support BC7. I'm hoping that changes in the future, so at the moment this has no use for Dolphin textures. Everything here was more of a fun exercise of "can it be done?", and to me it was equivalent to solving a puzzle game.

So I came up with an experiment. Create a generic header for a "base" texture with the appropriate flags for mipmaps, and use a hex editor to copy all the pixel data from all mipmaps into the base. To my surprise this worked, and Compressonator was able to see the image with custom mipmaps. The actual separate images are generated with TexConv, because Compressonator fails at creating small images for some odd reason. TexConv is by far the most powerful program I've come across, but like all programs, it can not create custom mipmaps.

Spoiler: (Show Spoiler)
[Image: THXrxIo.jpg]

This image isn't very exciting because it only has 3 different mipmap layers. But the exciting part is it works, and just may be (albeit doubtfully) the first BC7 texture ever created with custom mipmaps.
So now I just needed to figure out how to do this programmatically, which wasn't too hard since I knew what I had to do from the experiment. First an image is created with TexConv. A header is generated for the image using calculated values, some copied values, and some fixed values. This header is stored as a byte array. The pixel data of the image is also stored as a separate byte array. Now each mipmap is generated as its own image, and each one has its pixel data extracted into a byte array, which is added to the previous pixel array. The header data for all mipmaps is ignored. After all mipmaps are finished, the header and the collective pixel data are combined. It took awhile to get it right, but eventually I could print out the whole image and compare it to my previous frankenstein monster I assembled with a hex editor that worked.

Spoiler: (Show Spoiler)
[Image: RSpBWFl.png]

The image in bytes. I was eventually printing the values as hex, but failed to capture a screenshot of that and was too lazy to go back and change it for a new one.
The end result matches my previous experiment. I've only tested a handful of images and they all seem to work, but I don't know how reliable this method is. I also have not tested it much, like resizing images and such, and I'm sure there are more things to consider I am not seeing yet. Right now the DDSD_PITCH header value is copied, and I honestly have no idea what it truly means. Just copying it from the new top-level texture seems to work so far... but I'd like to be able to calculate it myself (just to be sure it's right). But nothing I have ever tried matches up with the result of the formula laid out by Microsoft, so it seems I'm missing something there.
Donate - Custom Texture Tool - Xenoblade Chronicles HD - New Super Mario Bros. Wii HD - Paper Mario: TTYD HD (Contributor) - Skies of Arcadia HD
Website Find
Reply
07-20-2017, 07:06 AM (This post was last modified: 07-20-2017, 07:10 AM by Admentus.)
#322
Admentus Offline
Nothing but perfection for gaming
*******
Posts: 1,977
Threads: 25
Joined: May 2015
Let's say that Dolphin will support BC7 textures. How much of an improvement would it be over DTX1/5 for DDS textures? Would we be talking about performance? Image quality? Loading times? Disk space storage? New function support? I am certainly open to go back to my older projects and redo them with BC7 if the improvements are worth them.

But first I really have to finish the texture pack for Mario Kart 64. That game is a beast, dumping the same textures over and over.
Super Mario 64 - Super Smash Bros. 64 - Mario Kart 64 - Zelda 64 - Star Fox 64 - Patreon - Discord
Find
Reply
07-20-2017, 08:02 AM
#323
Bighead Offline
Oversized Cranium
*******
Posts: 1,985
Threads: 15
Joined: Aug 2011
It's a nice boost in quality, and I don't think it would perform much differently.

Here is one example (click to see full size for a better comparison):
[Image: 9KZNdpS.jpg]
Donate - Custom Texture Tool - Xenoblade Chronicles HD - New Super Mario Bros. Wii HD - Paper Mario: TTYD HD (Contributor) - Skies of Arcadia HD
Website Find
Reply
07-20-2017, 08:06 AM (This post was last modified: 07-20-2017, 07:26 PM by Admentus.)
#324
Admentus Offline
Nothing but perfection for gaming
*******
Posts: 1,977
Threads: 25
Joined: May 2015
Wow, the difference is quite noticeable.
Super Mario 64 - Super Smash Bros. 64 - Mario Kart 64 - Zelda 64 - Star Fox 64 - Patreon - Discord
Find
Reply
07-22-2017, 01:06 PM
#325
Techie Android Away
Member
***
Posts: 219
Threads: 1
Joined: Dec 2015
@Bighead
So I've setup my Windows 10 VM (heavily modified for performance). What's going to be the best way to benchmark your PS Tool? I'd like to know if my speeds are faster or slower than the baseline.
Find
Reply
07-22-2017, 07:15 PM
#326
Bighead Offline
Oversized Cranium
*******
Posts: 1,985
Threads: 15
Joined: Aug 2011
This version will let you know the entire time it took to fully process the loop. Perhaps I should include it from now on since it's nice to know.

http://www.mediafire.com/file/ln4dclaa2gnwwb2/Custom+Texture+Tool+PS+v24.0+BM.zip
Donate - Custom Texture Tool - Xenoblade Chronicles HD - New Super Mario Bros. Wii HD - Paper Mario: TTYD HD (Contributor) - Skies of Arcadia HD
Website Find
Reply
07-22-2017, 11:10 PM
#327
Techie Android Away
Member
***
Posts: 219
Threads: 1
Joined: Dec 2015
(07-22-2017, 07:15 PM)Bighead Wrote: This version will let you know the entire time it took to fully process the loop. Perhaps I should include it from now on since it's nice to know.

http://www.mediafire.com/file/ln4dclaa2gnwwb2/Custom+Texture+Tool+PS+v24.0+BM.zip

Thanks. Here's my result. [Image: NL9r0ki.png]

Do you mind testing it too? Tell me what you think about the speed at which it processed everything. I used the GAFE01 PNG ALPHA 7.0 folder and converted it all to DDS.
Find
Reply
07-23-2017, 02:55 AM
#328
Bighead Offline
Oversized Cranium
*******
Posts: 1,985
Threads: 15
Joined: Aug 2011
My total time to convert that pack was 00:05:21.60, slightly less than a minute difference. I also have a 4.5 GHz overclock at the moment on my aging 2500k, so I'd say the result is on par. Most of the time taken lies in the actual conversion. If you want to test just the speed of PowerShell, try Scan Textures for issues. Using that option my overall time was 00:00:33.52.
Donate - Custom Texture Tool - Xenoblade Chronicles HD - New Super Mario Bros. Wii HD - Paper Mario: TTYD HD (Contributor) - Skies of Arcadia HD
Website Find
Reply
07-23-2017, 12:37 PM
#329
Techie Android Away
Member
***
Posts: 219
Threads: 1
Joined: Dec 2015
(07-23-2017, 02:55 AM)Bighead Wrote: My total time to convert that pack was 00:05:21.60, slightly less than a minute difference. I also have a 4.5 GHz overclock at the moment on my aging 2500k, so I'd say the result is on par. Most of the time taken lies in the actual conversion. If you want to test just the speed of PowerShell, try Scan Textures for issues. Using that option my overall time was 00:00:33.52.

Time for me was 00:01:11.07. So not a big deal I guess.
Find
Reply
07-23-2017, 06:04 PM
#330
General_Han_Solo Offline
Senior Member
****
Posts: 439
Threads: 1
Joined: Aug 2014
Uh, Bighead, I just downloaded v24.0

I get this error by merely running it via powershell and it closes instantly.


Attached Files Thumbnail(s)
   
Find
Reply
« Next Oldest | Next Newest »
Pages (117): « Previous 1 ... 31 32 33 34 35 ... 117 Next »
Jump to page 


  • View a Printable Version
  • Subscribe to this thread
Forum Jump:


Users browsing this thread: 1 Guest(s)



Powered By MyBB | Theme by Fragma

Linear Mode
Threaded Mode