Josh Posted December 29, 2009 Share Posted December 29, 2009 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": And an example of consistent textures, even if it is a little extreme: 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. 1 Quote 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 More sharing options...
Canardia Posted December 29, 2009 Share Posted December 29, 2009 Can't you just do EntityColor() Quote ■ Ryzen 9 ■ RX 6800M ■ 16GB ■ XF8 ■ Windows 11 ■ ■ Ultra ■ LE 2.5 ■ 3DWS 5.6 ■ Reaper ■ C/C++ ■ C# ■ Fortran 2008 ■ Story ■ ■ Homepage: https://canardia.com ■ Link to comment Share on other sites More sharing options...
Josh Posted December 29, 2009 Author Share Posted December 29, 2009 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: Here's a good example of "random colors syndrome": 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: Relying too much on colored lighting only washes out detail and makes everything look muddy. Quote 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 More sharing options...
L B Posted December 29, 2009 Share Posted December 29, 2009 I like the idea, except the part of "First, you define a palette of colors". This is where people are most likely going to fail. If it wasn't for that, I'd code it. Quote Link to comment Share on other sites More sharing options...
Josh Posted December 29, 2009 Author Share Posted December 29, 2009 Use the Quake palette to test with. Quote 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 More sharing options...
Rick Posted December 29, 2009 Share Posted December 29, 2009 I also agree that if the issue is partly to help programmers get a more consistent color, as a programmer I would most likely fail at making a color palette that is worth anything. I would be interested in seeing the results of something like this though. Quote Link to comment Share on other sites More sharing options...
L B Posted December 29, 2009 Share Posted December 29, 2009 I attempted to make a color palette. First step: Google. Then, GIMP. I came up with this palette from that tropical picture: Kind of tiny. Scale it up if you want. Could start coding it now. Quote Link to comment Share on other sites More sharing options...
Josh Posted December 29, 2009 Author Share Posted December 29, 2009 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. Quote 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 More sharing options...
L B Posted December 29, 2009 Share Posted December 29, 2009 Started working on it. So far done: UI, palette loading from any format (including DDS, JPG, PNG, GIF, TGA, and whatnot), HSL values storing. I hope I'll be able to code something that creates a palette from an image for you. Quote Link to comment Share on other sites More sharing options...
L B Posted December 29, 2009 Share Posted December 29, 2009 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. 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? Quote Link to comment Share on other sites More sharing options...
Josh Posted December 29, 2009 Author Share Posted December 29, 2009 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. Quote 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 More sharing options...
L B Posted December 29, 2009 Share Posted December 29, 2009 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. Quote Link to comment Share on other sites More sharing options...
Marcus Posted December 30, 2009 Share Posted December 30, 2009 You programmers are funny. Getting a consistent palette is a non issue for artists. Your time is probably better spent on documentation...yes still waiting. 2 Quote Link to comment Share on other sites More sharing options...
Michael Betke Posted December 30, 2009 Share Posted December 30, 2009 You are right Marcus. Made me smile a bit. An artist has to read some books about basic coding to get basic stuff done. A coder has to read some books about basic color theory instead of writing tools to tint the textures. Quote Pure3d Visualizations Germany - digital essences AAA 3D Model Shop specialized on nature and environments Link to comment Share on other sites More sharing options...
omid3098 Posted December 30, 2009 Share Posted December 30, 2009 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 Quote 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 More sharing options...
Pixel Perfect Posted December 30, 2009 Share Posted December 30, 2009 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. Quote 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 More sharing options...
Davaris Posted December 30, 2009 Share Posted December 30, 2009 Could this tool be used to change color schemes at will? If so it would be very handy if you are experimenting to get the right look. Quote 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 More sharing options...
L B Posted December 31, 2009 Share Posted December 31, 2009 @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. Quote Link to comment Share on other sites More sharing options...
Davaris Posted January 1, 2010 Share Posted January 1, 2010 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 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. Quote 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 More sharing options...
Rekindled Phoenix Posted January 1, 2010 Share Posted January 1, 2010 For the modelers / designers creating a world with symmetry, this is a great idea. Syncing color by use of a unified palette helps from making an app have what you called 'random color syndrome'. Quote Link to comment Share on other sites More sharing options...
klepto2 Posted January 11, 2010 Share Posted January 11, 2010 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) And the result of the convertation: Quote Windows 10 Pro 64-Bit-Version NVIDIA Geforce 1080 TI Link to comment Share on other sites More sharing options...
Josh Posted January 12, 2010 Author Share Posted January 12, 2010 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. Quote 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 More sharing options...
Niosop Posted January 12, 2010 Share Posted January 12, 2010 Photoshop has a Match Color function that does this. http://www.unfocusedbrain.com/projects/match_color/ There's also a way to do simple tone shifting w/ GIMP, http://www.gimpguru.org/Tutorials/SampleToning/ Quote Windows 7 x64 - Q6700 @ 2.66GHz - 4GB RAM - 8800 GTX ZBrush - Blender Link to comment Share on other sites More sharing options...
AndyGFX Posted April 6, 2010 Share Posted April 6, 2010 Here is link to photoshop color operation, writed to GLSL. Photoshop math with GLSL shaders + sample crossprocessing-shader Quote [HW] C2D Q6600, 4GB RAM, NV8800GTX, Vista Ultimate x64 [sW] Blide Plus, BlitzMax, Delphi, C++, 3DWS 5.53, Leadwerks 2.xx Link to comment Share on other sites More sharing options...
wh1sp3r Posted April 6, 2010 Share Posted April 6, 2010 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.... Quote -= 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 More sharing options...
Recommended Posts
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.