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

Submitted by Kurt Miller, posted on October 13, 2000

Image Description, by Kurt Miller

Here's a screenshot of a simple utility that I wrote about a week or two ago for my game engine. Its a material editor (as you've probably guessed) with various settings for each layer, including blending options, UV manipulators, and a few other things. Scrolling and rotating UVs are pretty fun for special effects as well as common game features including scrolling cloud layers, simple water pools, and so on.

I realize this image isn't exactly amazing compared to some of the cool stuff that people post here, but I posted it simply because the IOTD queue is currently empty! If you'd like to post your own Image Of The Day, send along a screenshot of something development-related that you're working on, and it just might make it up here. The IOTD queue is FIFO, so send those images to asap! ;]

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.

October 13, 2000, 08:42 AM


Where did you get the teapot model? I haven't found it on the net anywhere in a useful (i.e. polygonal) model.



October 13, 2000, 08:47 AM

3DS MAX has the teapot as a primitive, which you can convert into a polygonal mesh.


Joris Mans

October 13, 2000, 08:50 AM

I hope you are kidding about the teapot model.
But if you arent, if i find some spare time i can model one ESPECIALLY FOR YOU!!! It will take about 3 weeks to complete, without mapping, but i ll model it in a .max file.




October 13, 2000, 08:57 AM

I thought the teapot was somehow linked into glut, or was that the torus?


- Betelgeuse

The Wolf

October 13, 2000, 09:16 AM

very handy! you got a link for the engine?

Francis Shanahan

October 13, 2000, 09:28 AM

Oh you crazy kids. The teapot is a primitive of OpenGL. So is the Torus and Sphere. If memory serves they're part of the glut AND the auxillary library (glaux.lib). Try searching for api's like glWireTorus() and auxSolidTeapot().

Kurt, nice job. Looks cool. When you say this is a material editor, what do you mean ? Does this save any info to a file ? If so what is that info and how do you use it. Or is it such that you just use this tool to experiment, note down the setting and then program that into the engine?



October 13, 2000, 09:43 AM

You may want to check The History of The Teapot for more information about the infamous teapot.


October 13, 2000, 10:14 AM

Its nice to see that the 3D graphics worlds as their own "Hello World" equivilant.

and its: printf("Hello World");

not: cout


October 13, 2000, 10:27 AM

hello world equivelant?
What does that mean?

and what is with the printf("Hello World"); ?
Someday people will realize that C has its useful purpose, as does C++ as does Visual Basic as does Lisp, etc. if I see another C/C++ comparison I think I will puke on your shoes.

Anyway, Kurt, nice work. Was that in OpenGL or Direct3D? I didn't know that OpenGl used materials. I'm not too knowledged in OpenGL.

The IOTD queue is empty! C'mon people I cant go too long with no new IOTDs!


October 13, 2000, 10:49 AM

Thanks, guys :) Yes, I am very familiar with the Utah Teapot. My question is: where can I get an indexed face set representation of it? I'm not using OpenGL, don't have 3DS Max, etc. The original is a bunch of Bezier patches, not polys.

Does anyone have a triangle dump of it I can use, or are you going to make me go tesselate the Beziers myself? From the flurry of responses, it sounds like many people have easy access to the data I want-- please post it somewhere!



October 13, 2000, 11:21 AM

"hello world equivelant?
What does that mean?"

As long as you ask questions like that I think there won't be a single coder in the world that would take you seriously :)


October 13, 2000, 11:27 AM

I have seen the tea pot in the opengl programmers guide but dont remember if there was anythin in the source. Looks hany


October 13, 2000, 11:48 AM

Cool job Kurt.

Antonio Lattanzio

October 13, 2000, 12:51 PM

It's Neat.. do u support Layered Materials?



October 13, 2000, 01:33 PM

Just as a heads up, you can get GLUT's teapot model out of GLUT pretty easily using OpenGL's semi-obscure feedback mode, so if you have any implementation of OpenGL and GLUT sitting around, it should be relatively simple to rape it for the mesh.

Kurt Miller

October 13, 2000, 02:07 PM

Thanks for the comments.

morgan: The teapot is indeed just a mesh exported from 3DSMax.

Francis: Yeah, it saves the information to a file, and when its loaded back, my renderer tries to find the best way to do the neccesary blending, which could still use a bit of optimization. It updates the UVs each frame based on a timer; hence the UV per second thing. Its pretty much just as you see it in the image, nothing fancy about it. There are n layers, each with a texture and some blending/UV options.

bit64: The windowed tool uses OpenGL, but the main application uses Direct3D. I guess "material" is a bit of a misnomer since OpenGL and Direct3D have their own concept of materials which is pretty different from what I was talking about. I guess I'll call it something else at some point.


October 13, 2000, 02:59 PM

As long as you ask questions like that I think there won't be a single coder in the world that would take you seriously :)


I think maybe you completely misunderstood the question, as happens sometimes when people don't think.
What I meant was this: I dont think that Kurt's material editor is an equivalent to the hello world program. Perhaps the author was talking about the teapot, I'm not sure. That's why I was asking. Can you take that seriously? I hope so.

The Wolf

October 13, 2000, 03:41 PM

enough with teapot already (It was interesting back in the day), give the man some credit for his work instead!!

Kurt Miller

October 13, 2000, 04:58 PM

Oops, missed this comment the first time through. Info on my 3D engine is available here:

The page isn't really up to date though.


October 13, 2000, 05:52 PM


Couldn't you use the texture transformation matrix from the rotation/translation part, and let the GPU do the work?

Just a thought..

// Magnus


October 13, 2000, 06:09 PM

Nice work, Kurt (on both the engine and this site).

What do you use for creating the UI. Is it completely custom-made, do you use a library of some sort or is it made with MSVC?

Kurt Miller

October 13, 2000, 06:12 PM

Yes, I use texture matrices. I have to update the "current rotation angle" and "current uv deltas" though each frame, which are just numbers.

Pierre Terdiman

October 13, 2000, 09:15 PM

The MAX teapot:

erik robson

October 13, 2000, 09:25 PM

This would be invaluable as a general-purpose art tool. I really, really mean it -- most artists would do anything to generate materials like this and see the changes in real-time.

Have you thought about hooking up Q3 shader support? That would truly be a killer app. (I don't *think* there's anything like that right now, is there?)

Anyway, nice work.


October 14, 2000, 10:08 AM

Look nice!!

Have u thought to do the same think with a max plugin?

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