Artists Like the Dark

Published April 05, 2011
Advertisement
[size="3"] So I've spent a little while dimming the lights...

e_17a.jpg

I think it's a big improvement.

Working hard to bring procedurally generated compound leaf types. After that... occlusion shading. If you're wondering, the interface is MFC +C+. All common controls are sub classed for custom colors and bitmaps. The property grid (right) is a custom control, made by me. The color picker uses the XColorSpectrum control by Hans Dietrich. Thanks Hans.

Will post again when I have some shots of the new compound leaf nodes. The images above still use the single leaf type geometry.
0 likes 3 comments

Comments

Servant of the Lord
The GUI looks beautiful.
April 07, 2011 04:22 AM
Jason Z
I agree - the GUI looks really great. I haven't seen anyone use MFC for a nice looking GUI in a while... Would you be interested in throwing together a short description of how you did that? I know I would find it useful, and it is always hard to find a solution for building a native GUI app, so I assume other would like it too.

Just a suggestion, but it would be really great to hear more details!
April 09, 2011 06:58 AM
RSI
Thanks for the nice words.

Honestly a lot of work went into getting MFC to do all of that. A short write up would take some time to prepare as there are so many different classes which make up the interface. I may release some of the more unique controls on my personal site at some point and then you can see how they work.

Essentially I use a Dialog based project. All panels are dialog controls with header controls (CWnd base). Background colors are set using something like:

[code]// Erase background - color dialog
BOOL Dialog_Control::OnEraseBkgnd(CDC* pDC)
{
CRect rect;

GetClientRect(&rect);

// Color background
CBrush brush(___painter_options.___color_base);
CBrush* last_brush_pointer = pDC->SelectObject(&brush);
BOOL bRes = pDC->PatBlt(0, 0, rect.Width(), rect.Height(), PATCOPY);

pDC->SelectObject(last_brush_pointer);

return bRes; // CDialog::OnEraseBkgnd(pDC);
}[/code]

First thing I do is draw what I want the interface to look like in Photoshop. Once I'm happy with the color scheme, layout, etc. I start coding it. There is a lot of information on creating owner drawn custom controls at [url="http://www.codeproject.com/KB/MFC/"]Code Project[/url].
April 13, 2011 11:59 PM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement