Not logged in, Join Here! or Log In Below:  
News Articles Search    

Submitted by Tim Lewis, posted on September 18, 2000

Image Description, by Tim Lewis

Here's the latest shot of my 3d modelling software, Clayworks. It shows my custom GUI which uses my own drawing routines under direct draw for blitting. Although it looks quite different from a standard windows app, it runs alongside other applications and makes use of the clipboard and drag n' drop features, rather than running in full screen only.

The gui will soon handle transparency but as I'm clipping the correctly windows rather than drawing them all from back to front, this is a more complicated matter than in some other GUI's. I've come up with a neat solution but it'll take a bit of hacking to get it working :)

The application itself has been in development for quite a while although I haven't released this latest iteration yet. The older DOS version are available from my site ( but the new one is far in advance of this. The modelling tools are quite extensive, including polygonal mesh construction (with 'post-creation' parametric alterations available ala 3dstudio max), splines and metaballs. The selection and manipulation tools include the standard translation, scaling and rotation functions but also include a wide range of more specialized tools for scaling on an axis, rotating around and axis, twisting, shearing, tapering and so on. All of these tools can be combined with copying and extrusion functions which come in really handy for mesh modelling.

Clayworks supports quite a few popular file formats too with a wide range of image and mesh import/export functions. Currently included are lightwave lwo files, 3ds files, md3 quake models, clayworks internal file format and a couple of other slightly more obscure formats. I'm planning on extending this list to include POVray and softimage files amongst others.

Hopefully I'll have a release version available later this year. If you want to encourage me to hurry up, drop me an email at either or

Tim Lewis.

Image of the Day Gallery


Message Center / Reader Comments: ( To Participate in the Discussion, Join the Community )
Archive Notice: This thread is old and no longer active. It is here for reference purposes. This thread was created on an older version of the flipcode forums, before the site closed in 2005. Please keep that in mind as you view this thread, as many of the topics and opinions may be outdated.

September 18, 2000, 12:53 AM

First! and wewp looks good!


September 18, 2000, 01:08 AM

second! :)

Nice 3D editor, or should I say "studio" :)

I've used your older editor in the DOS days a few years ago, so I'm looking forward to use this one.

I hope it'll be released very soon :)

Warren Marshall

September 18, 2000, 01:18 AM

I'm just going to make this plea for the good of all mankind. Can we not start the "First!" crap here please? I personally find it really annoying when the first 2 or 3 messages are garbage everytime ... and that's what it becomes after a while ...

1. "First!"
2. "First!"
3. "Doh! So close!"
4. "Hahaha!"

I also think it'll be rude to the person whose pic was posted. Looking for feedback and comments, and they get that stuff.

So anyway, I've said my piece. :)


September 18, 2000, 01:33 AM

Mmm...Clean graphics. Gotta love the UI too. Call me crazy but I really like sleek simple UIs. Windows' is simple but sure it sure as hell isn't sleek.


September 18, 2000, 02:51 AM

Very cool design of your GUI there. Reminds me of Bryce and Kais Power goo which both have a cool designed GUI.
But you could have used a "better" controller like the N64 controller or the WaveBird ;)

André Rieussec

September 18, 2000, 03:50 AM

Now that looks sweet ! You gotta be proud of yourself.

I'm not into creating 3D graphics but that's the kind of software that would get me to try.

One feature that I think would be neat is the addition of some kind of scripting to the saving and, why not, loading of files. This would allow users to make their own "translators" for the file formats they use in their game for example. Also, your sofwtare would then be able to load and save files formats yet to come.

Just my $0.02 ...


September 18, 2000, 04:49 AM


Do, so close..!


September 18, 2000, 05:36 AM

Thanks for all the comments guys (apart from the seventh one.. all sig, no comments :)
Just to point out, the clayworks email address that I gave on the text above is incorrect; it should read
As for scripting, that's an idea I've been toying with for quite a while but I haven't really done much with it. I coded a simple VM that ran a byte code language that could be used internally but I'll have to write some sort of compiler for that. Other than that, I could impliment some sort of plugin system using DLLs.
If I code a scripting system, I want it to do more than just enable people to write file filters. It would be really great to use such a system for animation behaviours, procedurial texture generation and so on. I'm going to code a behaviour heirarchy soon (a directed graph where nodes can take inputs from the outputs of other nodes. Great for animation) and adding scripting nodes to that would be really rather neat.
I choose the playstation joypad as that's what I've got sitting on my desk at work (I'm not sure if I could fit an N64 controller on my rather untidy desk, they're huge!) and we needed the model for a PS2 demo. I like making excuses to use my software :)
If anybody else has anything they'd like me to implement in Clayworks, please let me know.



September 18, 2000, 07:19 AM

Warren: I'm very sorry for typing that 'second' thing in my first (2nd :) reply, I'll never do it again.

Question 1: Do we have to pay for it? (I would love to pay for such a great program :)
How much?

Question 2: Are the BMRT supported?


September 18, 2000, 07:55 AM

Ten Thousandth! OOH SO CLOSE!! bleh...

PitDroid: hehehehehe
PitDroid: hehehehehe

But enough of this... (you people on #flipcode know what I mean :)

Looks very nice! I think this would be a cool editor. Personally I have never learned how to use 3D modelers very well, only coarse models, so all those polygons at once confuse me :-)

Here's a suggestion: How about making some kind of mesh hierarchy thing? Where a human consists of two arms two legs a torso, head etc.



September 18, 2000, 09:02 AM

I think that's what his comment about the nodes of one object interacting with nodes on another object was about...

yes looks great, I'd love to try it also, all I've ever used was Corel Dream 3D. I couldn't edit any of the "simple objects" though and that annoyed me to no end.

for example I might want to use a sphere as a starting point and edit the geometry of the sphere until it looks like I want it

maybe this is already implemented in the better 3d art apps?


September 18, 2000, 09:58 AM

Hi Tim,

The UI looks fantastic. Adding a capability to write one's own exporters would be *really* nice. 3DS Max has this, but even with the "free for gamers" bit (has anyone actually gotten a legal, free copy?) I certainly haven't started writing for it.



September 18, 2000, 10:21 AM

Looks cool.:) does it support user skins, like WinAmp?


Hannu Kankaanpää.

September 18, 2000, 10:43 AM

Looks really cute :).. I mean great!
I just hope that your new GUI doesn't make your program slower, like custom GUI's so often tend to do.

What kind of fps are you getting and on what system? ;)


September 18, 2000, 11:30 AM


"I might want to use a sphere as a starting point and edit the geometry of the sphere until it looks like I want it"

This is possible in 3DS MAX, where all of the primitives can be converted into polygon meshes which you can then tweak,



September 18, 2000, 12:55 PM

At first I thought, "Wow, someone else is using Linux," since that looks just like some of the various window managers out there for Linux. Oh well, I can keep on dreaming, I guess...

Looks neat anyway, even if it IS only a DirectDraw-based meta-GUI. :)


September 18, 2000, 01:55 PM

Very very nice.. Man I woud love to swap ideas on gui design with you.

zed zeek

September 18, 2000, 05:56 PM

that was my first thought too, linux looks so much better than windows. one thing ild love to see which 3dmax doesnt have, is the ability to take a mesh for it and then to produce a bitmap for it with the meshes outline drawn on it, so you can paint a skin on it. though i could see this as a feindishly difficult thing to do right

Mark Friedenbach

September 18, 2000, 09:36 PM

I think you're refering to "gman" - discreet's upcomming MAX based product aimed at mod makers. It hasn't been released yet, but they claim that downloadable for free when it is.


September 18, 2000, 10:00 PM

zed: It's actually quite easy to render a mesh-guide texture like you describe. Just draw 2D primitives into u,v space rather than 3D primitives into x,y,z space. :) All of the Quake2 et al modellers I've seen do that. Also, one of the Quake2 modellers out there (called q2mdl or something similarly uncreative like that) has retromap skinpainting, where you paint directly on the 3D-rendered model, and I believe that NST (a skinning program, also for Q2 models) has this sort of functionality. The easy way to do it is to just render to a texture coordinate lookup table and then apply the texture to the screen using that LUT, then you can just paint to the screen and it'll retromap onto the texture using the LUT. You can't get hardware acceleration with that, though, and that mentality actually ends up not working very well for detailed texture editing, though it does work very well to create a guide texture.

Another thing you can do is 'render' your object's surface normals to the texture and then display that default texture on the object as a painting guide. Provided realtime updates I think that'd work rather well, and that's the sort of thing I'm going to go for in my own renderer's mesh/texture editor. (The way I'm storing meshes precludes using traditional polygonal modelling tools like 3DS.) You can also put in the mesh outlines if you want and get the best of several worlds.

Kurt Miller

September 18, 2000, 10:48 PM

Zed, here's a tutorial that explains how to manually do what you described (laying out a model on a bitmap) using 3D Studio Max:

But doing this "automatically" from a program is a bit more difficult. In many ways, at least the way I see it, this is an artist issue anyway. Suppose the artist wants the most resolution out of the model's "head and face". How will the program know? If details like this don't really matter for your application, you can always try that Unwrap plugin for Max, or some of the 3D paint programs out there such as UView, Painter3D, Deep Paint 3D, etc.


September 18, 2000, 11:10 PM

To answer some of the questions that have popped up:
As for tweaking a sphere, that kind of functionality has been in there since day one. You create base primatives, select their control points and can move then around in many different ways, extrude them, windowize (make polygons within polygons or groups of polygons) and much more. Selecting stuff is pretty easy, you can either drag a box over a set of primatives (primatives being either vertices, edges, polygons or whole objects depending on the selection mode) or click on them to select them. The latter method is most useful in the 3d view to select polygons in odd places. You can also toggle and remove elements from a selection using the same methods.
As for the speed of the GUI, it's actually a lot faster than using the GDI. I use direct draw to blit directly to the screen, clipping things myself (I merge in the output of the direct draw clipper with my own clipping list). Moving windows about, resizing and so on is all very fast and generally flicker free. You won't have any speed problems that seem to crop up in other skinned apps. I have noticed some problems in windows 2k however, when I drag another app over the top of my application. Windows starts to think that redrawing the whole desktop is a good idea for some strange reason. I think that there's something wrong with the directdraw drivers here, I've never seen this problem in 95 or 98. Other applications exhibit this behaviour in 2k, apple quick time being one of them.
Talking of skins, you can edit them and alter them however you please. I'm thinking of including a little skin design app with the release version, to make the job easier.



September 18, 2000, 11:52 PM

Richard: If you'll have to pay for it (haven't really decided yet), it won't be much. This is a personal project and although I could use some extra cash, I'm not really trying to make a commercial enterprise out of it. I'd like to support the BMRT but first I'd have to do the renderman shader language some kind of realtime jutice and provide a UI for creating complex shaders. I'm overhauling the way I handle materials at the moment but doing it as well as they do is not an easy task.



September 19, 2000, 06:10 PM

Oops, I didn't quite understand what you were saying. I thought you meant with the artist's texture coordinates already placed. Heh.

For what it's worth, my mesh representation scheme makes what Kurt said rather easy (and the modeller will reflect this), and you can always assume that polygon density == texel density for a truly trivial mapping.



June 12, 2001, 09:01 PM

Haha, maybe you're not still reading this, but they might also find it rude when they find posts like yours. Just a thought...

This thread contains 25 messages.
Hosting by Solid Eight Studios, maker of PhotoTangler Collage Maker.