Jump to content

Idea for an application


Josh
 Share

Recommended Posts

One problem I notice a lot is inconsistency in coloration of scenes. The recent contrast/saturation/brightness controls I added help a bit, but I think the original texture data has to be consistent. If you look at most AAA games, their textures somehow have a uniform appearance, and they just look like they belong together. Unfortunately, we seem to have a lot of problems doing this.

 

Here is the palette from the game "Quake":

palette.gif

 

And an example of consistent textures, even if it is a little extreme:

 

FC2__PAK9_01.jpg

 

Here's an idea I had that might help with this problem:

 

First, you define a palette of colors. Maybe this can be a 32x32 image with different browns, greens, blues, etc. for each pixel. It doesn't matter what order they are in. You just define some colors that look good together.

 

This programs loads this image and reads the pixels into different possible values. They can be converted to HSL and stored.

 

Then the program starts loading a directory of textures, recursively. For each image found, it does the following:

 

For each pixel of an image, it converts the pixel to HSL. Then it compares the pixel hue and saturation to the values of the palette, and finds the closest match. Then it saves a new copy of the image, using the replaced hue and saturation values, and retaining the original brightness value.

 

You could use this to make all your greens look similar. It might automatically create a consistent color theme, something that we developers seem to have a very hard time with. If you don't like the results, edit your palette image and re-run the application.

 

I don't have time to write something like this, but I thought I would put the idea out there.

  • Upvote 1

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

Solutions like that result in loss of resolution, which is why things start looking washed out instead of warm. We want consistency of similar hues, not a loss of resolution.

 

Notice the colors are different, but look somehow consistent:

transformers-the-game-screenshot-big.jpg

 

Here's a good example of "random colors syndrome":

2029.jpg

 

Here is the same image multiplied by an orange tint. This looks like a lot of the screenshots I have seen. Even though the tint sort of forces it to look consistent, there is a loss of resolution and the odd colors still look odd:

 

post-1-12621227445257_thumb.jpg

 

Relying too much on colored lighting only washes out detail and makes everything look muddy.

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

Ha, that is brilliant! You could start with a photo and have a program that enters all the unique values into an image to make the palette. ;)

 

Here's my attempt. I just resized the image (using pixel resize, so there is no blending of colors). I scaled it back up so it was easier to see.

 

post-1-12621258520475_thumb.jpeg

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

Ha, that is brilliant! You could start with a photo and have a program that enters all the unique values into an image to make the palette. ;)

 

Here's my attempt. I just resized the image (using pixel resize, so there is no blending of colors). I scaled it back up so it was easier to see.

 

post-1-12621258520475_thumb.jpeg

I would offer different modes.

  • Optimize palette for 256, 512, 1024, etc colors
  • Create palette from all unique colors at raw resolution
  • Create palette from all unique colors after resizing to 16x16, 32x32, etc
  • Any other suggestion?

Link to comment
Share on other sites

You might want to start with a simple hard-coded app to see if this idea actually works, before you start adding a UI. I have no idea if the results will be useful or not.

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

You might want to start with a simple hard-coded app to see if this idea actually works, before you start adding a UI. I have no idea if the results will be useful or not.

 

Fortunately I have no life to waste, so I don't mind if it doesn't.

Link to comment
Share on other sites

I like main Idea. most of times I paint my textures by myself in same level, as possible as I can. its easy enough for me. :( and when I need a new color scheme, I will use Color Scheme Designer.

 

If I could rate this feature, I would say:

Feature status to: Useful

Feature severity to: 1 - Low

:D

Omid Saadat

OD Arts Blog

 

AMD Phenom II X4 940 - Geforce 8800GTS - 4GB RAM - XP x86

AMD 6000+ - Geforce 9800 GT - 2GB RAM - XP x86 (Home pc)

Intel Core i7 - Geforce 310M - 4GB Ram - Win7 x64 (Laptop)

Link to comment
Share on other sites

I agree that this is low priority but I do like the basic idea of being able to substitute texture colours with those from a consistent color palette as that may help us fellow programmers get a somewhat more consistent feel to our scenes. However, whether this would prove effective in practice remains to be seen but it's a nice idea. Good luck with this Ubu as I think it's worth exploring.

Intel Core i5 2.66 GHz, Asus P7P55D, 8Gb DDR3 RAM, GTX460 1Gb DDR5, Windows 7 (x64), LE Editor, GMax, 3DWS, UU3D Pro, Texture Maker Pro, Shader Map Pro. Development language: C/C++

Link to comment
Share on other sites

@Marcus: Although I'm a programmer, I have an extensive knowledge of colors and palettes as well. Making matching colors for my own assets wouldn't be hard at all, except I don't always get assets from the same location.

@Davaris: Recoloring images in real-time based on a palette is practically impossible.

Link to comment
Share on other sites

I like main Idea. most of times I paint my textures by myself in same level, as possible as I can. its easy enough for me. :blink: and when I need a new color scheme, I will use Color Scheme Designer.

 

If I could rate this feature, I would say:

Feature status to: Useful

Feature severity to: 1 - Low

:D

 

 

Also programmers who can't get afford an artist will be buying assets from lots of different places, so something like this will make their scenes look like they were made by the same artist. If this works like the picture Josh posted, it will be terrific.

Win 7 Pro 64 bit

AMD Phenom II X3 720 2.8GHz

GeForce 9800 GTX/9800 GTX+

4 GB RAM

Link to comment
Share on other sites

  • 2 weeks later...

After having a long break from coding private stuff i have worked today on small app that creates palettes from a source image

and converts a given image to use this palette as a base. This is the current result:

 

The palette: (taken from the weapon image in the first post)

paletteMain.png

 

And the result of the convertation:

result-1.jpg

  • Windows 10 Pro 64-Bit-Version
  • NVIDIA Geforce 1080 TI
Link to comment
Share on other sites

Nice result.

 

You know, there should be a paint applications that stores color as an entry in a palette, and lets you redefine the palette. Maybe there already is.

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

  • 2 months later...

ok . i have my post-shader done

i will send it there, you can make screenshot of your game, load in into photoshop, edit colours as you wish, save gradient map of colours .. whoalaa ;-) Your scene is realisticaly coloured ! and It's fast.

 

 

There is no need for contract/saturate/light shader .. because this can do everything :) You can tune everything with photoshop colour curves.

 

preparing demo....

-= Phenom II X4 965 3.4Ghz - ATI HD5870 - 6 GB DDR3 RAM - Windows 8 Pro 64x=-

Website: http://www.flamewarestudios.com

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...