Crimson Daggers — Art forum

Full Version: New Painting Tool. Colour Constructor!
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
[Image: BQHuUbc.png]

So i have had the idea to make this thing for a long time now, just getting around to it now though.

I am a nerd for colour and lighting theory, and i love that most lighting theory can be baked down into a simple equation, so i thought making a simple tool that would let you see this stuff happen in real time, without needing to resort to a 3d program would be great.

So ideally the way you would use this is to set up your light, ambient and a bunch of local colours for objects in your scene, and then copy and paste the swatches into your file so that you have a solid basis for drawing all the colours.

Currently it only has the bare essential features, but if you want to give this thing a try, send me a pm. I can also do a mac build if people are interested enough.

The current feature list im hoping to get implemented are

-preview window
-exposure control
-HSV sliders
-colour picker
-multiple ambients
-SSS component (for skin tones)
-Saving and loading
-metalic specular(this probably won't be very useful...)

Anything else that would be helpful?

I'll probably end up selling it on gumroad for a few bucks.

Send me a PM if you want to test a build.
Love it so far. Lets you play around with some color schemes and gives you the list of colors in the scene. Very useful little tool.

I think once you have that list implemented it will be very nice.

Here are some things off the top of my head that could possibly be added in:
- Different materials on the objects?
- Different shapes e.g. Cube, Triangle, Sphere
- "Glassy" Transparency slider on objects?
- A few preset color schemes
Thanks! Glad to know that I'm on the right track!

For different materials, they all use the same algorithm for the shading colour. the only thing that actually changes is the reflectivity. when reflectivity goes up, brightness of the material has to go down. So really all i could do there is just have the specular get blurry on the material (not easy with how I'm doing it)

I think as soon as i get in HSV and the autoclipboard button, it's going to be a lot better.

Transparency slider, interesting idea, though wouldn't you just paint something then turn down it's opacity for that though?

Preset schemes, yeah great idea. At the very least i was going to make a nice default setup.
[Image: RDZ31tj.png]

Here is a test on a more complicated example image. Not a great result, seems setting up these masks is an art in itself.
HSV!

[Image: AjP8HIG.png?1]
[Image: wHGnfcW.png]

Ok here we go, a bunch more work has gone in.

New features-
-Light and ambient Exponents.
-New object button
-Make swatches, so far this just puts the swatches conveniently in a box for taking the screenshot, clipboard will take me some more work! (got to make a new panel if you add more objects after, i'll fix that later)
Comin along great.

That would be pretty damn sweet if you incorporate something complex like that girl with the hammer into the program, just so people can get a better idea of what they want.
I'm currently doing a code refactor so i can scale this thing up properly, but that's on the next feature list.

:)
Sweet stuff. I remember anthony jones also made something similar for artist, not sure if you know about it. (Hopefully not hijacking your project by sharing this)

Art Habit
https://www.youtube.com/watch?v=6KhSKnwlzLo
Ah, Kind of interesting. I think what anthony doing is cool, but it doesn't have specifically the same goal as this. This is about removing information and data from lighting so that things become understandable, and a secondary tool as a pallette manager. Imagine if you will if you were working on a 2d animated film, and you needed to work out your palletes throughout the film despite all the crazy lighting differences. This will let you perfectly work out what your flat shaded colours should be in any situation :D!!! As you can imagine that goal wouldn't be met by what anthony is doing.

It might sound weird to be touting simplicity as a feature, but the results im seeing from artists are really making me excited!

Check Astraphos post here. http://polykarbonbbs.com/showthread.php?...post426143
So I have a dilemma. For the sake of prototyping, i have made it a 2d game engine that i already know. However it is lacking core features like being able to save files anywhere on the harddrive, drag and drop and the like. I thought i found a work around, but that seems to be a dead end.

Now i have two options. I could keep going and get out a functional version for people to use. I could get out a public build in the next few days if i do this, dev will be super rapid.

The other option is to move to a framework actually designed for making software like this, but there is a learning curve here, i have no idea how long it would take to even get back to the current stage i am in the current engine.

I want to keep going with the current engine, and treat it as a shippable prototype, and once i get that into a nice place, start work on porting it over to a more capable framework.

Regardless of what way i plan on going, the current plan is to sell it on gum-road for $5, and offer lifetime upgrades.

What do you guys think?
I gave it a go briefly. It's a cool little tool. I like the ability to track a whole buncha local colours under the same lighting conditions and then tweak.
Because my personal preference with colour is to do it more intuitively on canvas, a tool like this as great as it is I'm not sure I would use very much in my process. Hard to say. I will have to give it a go with a painting soon and will post anything I do here for you.

Like Dennis said I think specularity and material would be a nice feature.
I found it a bit hard to imagine the final colour scheme given all the different little windows for each local colour. I almost wished that all the spheres were in one window, so I could really judge the effects in proximity. Like a little primitives scene.

One thing I think would be really useful if you could swing it, is a bit of reverse engineering. If you could load in any image, extract a pallette from selected areas easily in some way, we could then use it to do really easy iterations of the same scene under different conditions. That feature alone would be exceedingly useful.
Or perhaps a halfway stage would be to be able to load in a pre-done palette swatch and then work on objects built from within the swatch.
I think the thing that will make or break that, will be how easy it is for the user to set up.

Out of interest I don't know if you have seen this? http://www.zvork.fr/vls/
It's not what you are doing at all, but might be of interest. Ability to add multiple light sources. I thought it was a useful tool if a bit limited in terms of the models available.
Thanks for the feedback!

Specularity stuff in here is something that seems like a great idea until you actually use this in a painting, it's just not necessary beyond giving you the specular colour.


"Because my personal preference with colour is to do it more intuitively on canvas, a tool like this as great as it is I'm not sure I would use very much in my process. Hard to say. I will have to give it a go with a painting soon and will post anything I do here for you."

Yeah that's just it. If you want to design that way that's fine, i don't expect this tool to be useful for everyone. Though for people like me and others i know, a tool like this just makes things soooo much easier to explain, and makes it easier to plan a large piece.

Also that tool... cool in theory, It's way to easy to get terrifying results though! I think the most shocking thing about all these tools people have been getting me to check out. They are all terribly programmed, with really crappy useability. It really just confirms that something like this is needed!

-----------------------------------------
Ok i just finished getting all this hooked up. All the code is properly setup to be object oriented now, all the text inputs work, and so do the hex panels.

Saving, and loading works now, and it will load the last save on load.

For saving and loading presets, and your own, i might just put a scene name input, and have a drop-down for saved presets.

I'm thinking that saving lighting and preset panels should be separate?

[Image: Eg5iHVV.png]
"Specularity stuff in here is something that seems like a great idea until you actually use this in a painting"
Yeah I guess keep it simple. The billiard balls just personally throw me off a bit in terms of visualisation, but I guess technically it wouldn't matter. All the info is there.

"Also that tool... cool in theory. It's way to easy to get terrifying results though! "

Ha, yeah it's a totally crap UI, and artist choice will always play the predominant part in pallette choices, so any tool can and will result in terrifying results. And yeah the models look horrible too. :)


I will definitely give it a go and see how it would fit it into my process well. Without doing a painting with it, it's all just theoretical on my part really. I do see how for something like colour keys or comics, where objects have consistent colours, but different lighting situations, this might be very efficient.
Thanks man :)!


I threw together a quick logo.
[Image: EIrQv7P.png]

EDIT:

Iteration 2

[Image: ZKiKimt.png]
[Image: QHWmMd3.png]

ALMOST THERE!!!

So currently i just need to make some new preview images, and make a way to change them, hook up ambient 2 to them, and make the save and load dialog properly. And we should be at our first release for gumroad after some usability testing.
[Image: B2PaLnQ.png]

Here are some more preview images. These are inspired by trying to make something that would help the two tone scenes Astrapho(User on another forum) has been painting.

This is also a great example of the new fake HDR system I'm using for the preview images. I managed to work out how to use multiple images, to extend the range of an 8bit image, that i am using for the lighting. I'm kind of amazed it even worked!

I'm still working out how to make the masks, as it's pretty difficult to get them looking good. I think i'll just get better at it as i do them.

Also if all goes according to plan we'll be able to have custom masks!!!!

[Image: KqcBM3D.png]

You just need to make sure they are all the right size, and make sure that they have the correct tags in the name. Draw order is alphabetical, so that's what the number at the start is.

Quote: --[[
METHODS

LOCAL - Draw a solid.
BGLIGHT - the background with the light applied
BAMBIENT - the background with the ambient applied
BAMBIEN2 - the background with the ambient applied
GAMBIENT - For the ground colour local colour derived from the ambient
LEXTRA - HILLBILLY HDR
LAMBIENT -ambient 1 rendering + local
LAMBIEN2 -ambient2 rendering + local

]]
Those are the methods if you are curious. They are badly named so i'll have to rename them for readability. Though how i'm detecting the string names means i can't have a full name repeat with a second number on the end.

So one thing i am having trouble with is working just how much information to display in the swatches. These more advanced previews are showing a lot of complex colour interaction, but the swatches aren't quite showing that, especially in a high ambient scene like this example, where a lot of form is defined by ambient occlusion, and the shadow colors mixed with an ambient are still very bright.

Is having three ramps per material getting a bit rediculous?
Great update! The new objects and lighting look so much slicker.

I think at the point you are at with the range of colours on display you almost might want to allow the user to be able to just clipboard the objects themselves to use as a colour picking reference rather than add more swatches.
And the windows version is on sale! I'll have the mac version up asap as well.

Yippee!

Save dialogs are all in place and the initial feature set is in place.

Huge thanks to astrapho for letting me use this sweet image!

https://gumroad.com/l/ColorConstructor/



I can't wait to see all the cool art people make with it!
Congrats Muzz! You have done really well, and I keep seeing that logo pop up in my feed on facebook too. You have some good contacts :)

Hope it sells like hotcakes!!
Pages: 1 2