Search This Blog

Saturday, December 31, 2016

Technique Training: Updating Game Guru to HD

NOTE THIS PARTICULAR TUTORIAL IS HEAVILY RELIANT ON ALL OF THE PREVIOUS ONES.  PLEASE BRING YOURSELF UP TO SPEED HERE: My Tutorial and Evaluation Page.

So it's no secret Game-Guru is really weak in terms of performance.  I've covered several topics in the past ranging from more advanced lighting techniques to improving the way reshade handles your graphics.

What I've found in the past is it's really difficult to work with a lot of the stock models.  There's simply a cutoff for what you can get from a model that's pushing 512x512 SD textures.

Before we continue, what I'm talking about here is something called 'texture depth'.  I'm sure by now you've probably heard the acronyms "SD" and "HD".

Taken from some chinese blog, but suits the purpose.
Basically the less pixels you dedicate to the quality of the texture surrounding your model, the less 'depth' it will have in the sense of how detailed the picture can look. Here's an example.  The stock asylum graphics are .. acceptable .. by Game Guru standards.

SD is really anything under 720 pixels wide/high. Most games tend to use standard divisors of 8 so you have like 256x256, 512x512, etc.  This tends to max out around 4096x4096.  This is primarily because of the graphic cards capabilities.

However you are using a 2048x2048 texture that's divided up into multiple subcomponent textures.  This basically makes each effective texture 'SD quality'.

Some are more, some are less, but all are SD.


Now to spruce up the texture, what I do is go is open it up and immediately resize the texture to 4096x4096; then proceed to sharpen the picture significantly.
It's hard to see with this scaled down snapshot, but trust me, it's there.

The resultant image has much higher fidelity.

Now the real trick here is fully utilizing ALL of the mapping available (when necessary) for Game-Guru textures.  Game-Guru can handle basically four types of mapping:

  • The standard UV map - this is your _D file.
  • The normal map - this is your _N file.
  • The specular map - this is your _S file.
  • The illumination map - this is your _I file.
Generally speaking, most models only include a _D and a _N file.

In the case of our asylum texture, we have a specularity file as well (_S).  This particular addition gives a slight shinyness to the textures, making them seem wet or slimy.  You can only see them with the entity shader set in the tab-tab options menu set to 'Highest'.



These settings are what I found using in combination with reshade as producing the best visual result for the asylum.

Default walls, unmodified.  Looks ok.

Now that looks .. ok.  That's the best you're really going to manage from stock assets and some really basic lighting.  Now if we modify the specularity file so it's a lot more pronounced on certain areas.  The basic specularity file is pretty clearly just a black and white image of the original _D file which is fine unless you want to really highlight areas.  Now tile generally tends to have a shiny edge because of the enameling on it.  So what I did is took the original image and modified the luminosity settings in paint.net to give it much higher contrasting on the black and whites, causing a more clear delineation in the shiny areas of the texture.

Old on the left, new on the right.
Side note: If you don't HAVE a specularity file with your models, you can generate one simply by making a black and white image, saving it as _S on the end of the filename and then modifying luminosity (or using edge detect even) to create bright white spots.  Specularity maps work by using a greyscale of the image - the more 'white' it is - the shinier the surface will be.

The final result, in combination with static lighting ends up looking like this:



 Note the cleaner texture lines, better shine on the walls, etc.  It's really a vast improvement over the original configuration.

While a lot of this is trial and error, it's a big piece of improving your work to at least be within striking range of more up to date engines.

One final note:  I personally run this setting in reshade's mastereffect.h file:
#define USE_HDR_LEVEL        2    //[0 to 2] HDR Level: Rendering bitrate. 0: RGBA8 | 1: RGBA16F | 2: RGBA32F

2 seems to be the highest fidelity setting possible if you're interested in HDR quality imagery.
Ciao!

Addendum to original post added here on 1/4/2017: http://gamegurureport.blogspot.com/2017/01/addendum-to-hd-game-guru-post.html

No comments: