"What do you mean you 'updated every texture everywhere'!?"
"Why does everything look crisper now!?"
"Taco! What did you do to my textures?!"
ALL YOUR TEXTURES ARE BELONG TO ME! MUWAHAHAHA!
These are some of the questions you may have been asking me/yourself/others around you if you've been playing on Tribble for the last week or two. And they are good questions. And better yet, I have answers!
Alright, so before I get into what I did exactly, let's go over the basics of what a
MipMap is, since that is what most of these changes involved.
In essence, every texture in every game is actually a whole series of textures, called a 'Mip Chain.' This is basically a series of duplicate textures, each smaller than the last. In games, all textures have to have dimensions that are a power of 2. So while the original texture might be 1024x1024, it's mip chain will be every power of two from that down. (1024, 512, 256, 128, 64, 32, 16, 8, 4, 2).
spaceLike this!
This is one of our new Romulan interior ship textures, and what it's Mip Chain (or MipMap) would look like.
Each of these different sized textures, is called a Mip. I'll be referring to Mips and MipMaps (the whole chain) more later.
What are MipMaps used for? I'm glad you asked! When you are standing somewhere in the world, the textures on the nearest objects will display at their full size. But, there's a box over there, 500 feet away. It's very small on screen, and if we just loaded the whole texture on to it, there is a ton of useless data that doesn't actually get displayed. :::cue horns::: Enter the MipMap! Instead of loading that whole texture, we load one of those much smaller mip maps onto the box. Now there is a lot less wasted data on that box, and we can use that to load more textures on more stuff nearby.
Each texture's mipmaps are automatically generated when we convert our photoshop files into something the game can understand. When we do this conversion, it's called 'Processing a Texture.' When Zer0 says we 'Updated every texture everywhere' what she means, is that we REPROCESSED every texture everywhere. It does not mean that we repainted everything by hand. We simply reprocessed them with some different configurations, to yield a different result.
This will be on the test.
So, with that out of the way, there are 4 main things that were done to textures.
spaceCRUNCH!
Crunch is a new compression algorithm that we use to make our textures take up much, much less disk space on your hard drive. The textures get uncompressed when they are sent to your video card, and thus, the compression has very little impact on the look of anything in game. However, this does mean that the patch size for a new user is reduced significantly, and any future texture patches will be much smaller as well.
spaceMip SplittingRemember Mips? Mip Splitting is where we take the biggest mips in the chain, and break them off into their own textures. What this does is allows people with lower end systems to only load the smaller mips, and not bother loading some of the biggest textures in the game (which wouldn't be displayed anyway).
spaceMip Reversal
Mip Reversal is basically what it sounds like. We flip the order that they were stored in. Previously, when a texture tried to stream in, it would try to load the whole thing, and then it would drop down through the chain, to the appropriate Mip. That seemed silly, so we flip it, and now, when you run around, it starts with the smallest mip, and works it's way up through the chain to the right level.
spaceMip Sharpening
This is probably the most noticeable of our 4 reprocessing techniques. If you look back at our
MipChain, those smaller Mips tend to get blurry, and lose data as they get shrunk. So, much like a photoshop sharpen filter, we sharpen up those mips a bit, to make them pop out more at a distance, and look better on lower end systems. This sharpening does not happen to the full texture, only the mips the lower mips. Now, there are some textures that look worse with this sharpening, and those textures can be unsharpened on a case by case basis (and many already have), but overall, we believe the sharpening has drastically improved the look of the game, both at a distance, and on low end systems.
That's pretty much it. We did have to reprocess the whole texture library to do this, but overall we're very happy with the results, and we hope you are too.
Edit: why did all of my apostrophes turn into question marks?! WHAT MAGIC IS THIS!?!
Comments
Thanks Taco!
It sound really well thought out (at least the parts I can understand) and it sure seems to help improve the performance.
Aid in leading the Romulan Star Empire back to its former greatness.
Join the Romulan Praetorian Guard and teach those epohh loving hippies what it means to be a true Romulan!
Cheers,
Brandon =/\=
"We are smart." - Grebnedlog
Member of Alliance Central Command/boq botlhra'ghom
Thank you and the whole team for your hard work!
Probably because you wrote that up in Word where Word automatically switched your quote marks and apostraphes into 'smart' ones, which aren't standard ASCII characters and so when you pasted it in, they came up as unknown characters.
Just my guess anyway. I never use Word for stuff that goes on the web because of that.
be a good idea to remove the old game folder and redownload the whole thing (if that end up taking less harddisk space, I mean)?
Joined in March, 2011. Lifer since December, 2011.
Exactly this.
Cheers,
Brandon =/\=
However, for all previous textures its a downgrade. The sharpen filter couldn't compensate what the "crunch" compression algorhythm did to the textures. It's like saving a JPG once more at 75-85% quality, this does never make things look better.
To quote the OP:
"It looks to me that they just used a sharpen filter and then recompressed the textures. In some cases the compression is worse than before. It makes the environment look overly sharpened and in some ways is hard to look at."
http://sto-forum.perfectworld.com/showthread.php?t=649351
This works out for some textures and in a few cases it might look better, but most console textures and similar things got affected quite negatively.
http://imageshack.us/a/img708/9553/comp18.jpg <- from the thread above
This is the worst example, thankfully it's not nearly as dramatic most of the time.
Perfect World Entertainment was eager to save bandwidth and I commend the effort to save as much perceived textured quality as possible. But selling this as "improvement" is quite off.
You have now achieved the title of MIP-TacoFang ...
I Was A Trekkie Before It Was Cool ... Sept. 8th, 1966 ... Not To Mention Before Most Folks Around Here Were Born!
Forever a STO Veteran-Minion
My second favorite is Vi, but I'd need an emulator to run it in Windows.
My character Tsin'xing
http://i183.photobucket.com/albums/x57/UrsusMorologus/Star%20Trek%20Online/DeepSpace9low-restextures1.png
http://i183.photobucket.com/albums/x57/UrsusMorologus/Star%20Trek%20Online/DeepSpace9low-restextures2.png
My character Tsin'xing
Big thanks to all of them.
You are correct. Wrote up in an email first. . . I should know better.
That shouldn't be necessary. You'll just have a big patch to download. No need to reinstall, we'll just overwrite the files that have been updated. Also, in theory, if you're playing on Tribble now, that download has occurred, and you shouldn't see a big patch when it goes to Holodeck. (At least, not due to Textures :P)
It looks like you're trying to post to the STO Forums, would you like some help flaming or trolling?
I humbly disagree. Crunch does compress things on disk, but they get uncompressed when sent to the video card, and really have very little impact on the look of things.
The Mip Sharpening is more noticeable, and as I said, there are some places where it does look bad. We will assess those as they are reported, and will fix any we find necessary to do so with.
On that note, the Defiant Bridge LCARS has already been unsharpened. However, there are textures (and I think those fall into this category) which don't look great to start, and the sharpened version, while looking . . . different, are not distinguishably worse than the originals. That doesn't mean we can't unsharpen them, I did in that case, but I think the problem stems mostly from older, more poorly made assets. (like the columns mentioned by Ursusmorologus). Quarks can easily be put on the list.
However, part of the issue is in your own video settings, and texture memory. There are times where the high res texture should load (as you are standing next to the object, and looking at it) but it fails to, and so it's actually displaying a lower mip level than it should be. Obviously, that not only looks worse than it may have looked before (or even worse than it will look again later) but it also looks worse than it should look now. This is a bug that I'm talking with the Graphics team about currently.
Is there a centralized location where you want these reported?
Is there a way we can diagnose whether the wrong texture is loaded?
Have you tried the Windows version of vim?
I think he wants the authentic "original" VI, which only runs on operating systems derived from DOS or UNIX/Linux.
You have less 'splainin' to do now. Praises and cheers.:D
Player and forumite formerly known as FEELTHETHUNDER
Expatriot Might Characters in EXILE
Very informative and a great insight into the Wonderful Working World of Taco.
...
now how do i force the game to display higher res mips at greater distances? -> because my 1GB vRam on my old TRIBBLE GTX460 is usually only utilized by ~ 600MB and i have 400MB FREE. (i can see that stuff via Aida64 on my Logitech G15 display stats ).
And next gen Graphics Cards are having a LOT more memory, when i go window shopping i see cards with 2 - 5GB of vRam (crazy!).
...actually how does this work to begin with?
are only the mips that i need right now loaded into my vRam or is the complete MipMap loaded, but only the Mip that is currently displayed is processed by the GPU?
Or let me ask like this: is this all done to save vRam? or is it done to save GPU processing time?... or both?