Software for the Realtime 3D Modeler?
"There are other problems too: modelers that have no concept of polygon strips/fans or that make it very hard to avoid generating polygons that will never be seen (the inside surface of a pipe for example). Even if you have the target 3D hardware on the modeling machine, it's rare to have the modeling windows look anything like the finished product. I'm wondering if anyone has run across a good solution to this. Possiblly a modeling package more geared to hardware capabilities, or some way of adapting an existing modeler to make it more hardware friendly by blocking or modifying features that 3d hardware can't handle. It would seem such a package could be cheaper too, since it wouldn't have to support as many fancy features."
Take a look at MultiGen & SGI's Performer
-----
For great justice!
Both LW and MAX have gotten better in ways that you've described. MAX previews motion blur in OpenGL (Which as some of you know is VERY expensive to render...) and LW now does lens flares, hypervoxels, and fog in OpenGL as well.
LW's VIPER is pretty interesting too. What you do is you do a test render of your object and the resulting image is stored in a buffer. Then, let's say you want to play with the surface texture on it. Fire up VIPER and it shows you a low res version of the image you just rendered. When you modify the surface, it re-updates that image preview, but it only re-renders that particular surface that you're playing with. It's much faster feedback for getting a feel for procedurals than a full bore-render.
Is it real time? Ehh.. no. It's close. 2-3 seconds maybe? I agree with the author, though, that more could be done. Why couldn't they convert a proceedural into a texture and present that in OpenGL?
The good news for the author is that the industry (not just Newtek and Discreet) sees the value in having more real-time feedback. The next couple of major releases for the main packages out there will be very exciting for just that reason.
I write engines now, but I spent a good 10 years as lead programmer of tools groups at various game companies (I distributed the first public reverse-engineering of 3ds file format, I think for version 2, had fun explaining that to a room full of lawyers... :)
I'm still dealing with these issues today. My current employer is starting a major project (MMORPG), we spent a decent part of the last year researching art tools. Ended up picking Maya, as its got a great C++ API that exposes darn near everything, as well as a great C++'ish scripting language for the technically inclined artists to use. (Disclaimer: I have no financial interest in Maya, etc...)
The problem is that it takes years to tune a decent editor - I started out in CAD/CAM/CAE and even I know better than to try and editor unless I've got a few man years to dedicate to infrastructure.
Unless the budget absolutely cannot handle it, I'd recommend taking Max or Maya and extending them with your own tools. Maybe even make some of them open source, like Pierre Terdiman did with his Flexporter system for Max, which saves a good man-year of work on 3ds Max exporter work!
Blender is in the process of becoming open source, and would make an awesome tool for game modeling. Blender had a built in game engine and modeling tools.
Visit Blender3d or elYsiun and help open the source on this program. It could become THE gaming modeller for Linux.
Hmmm... lets look at the phrase "hardware capabilities"
"Hardware capabilities" doesn't have a single definition. Are you talking hardware like the Radeon 8500? (which is pretty sweet and fairly common among gamers) or are you talking hardware like the graphics chip in the Intel 810 motherboard set? (which is pretty weak but extremely common among the general public). Believe it or not, a huge number of games are still spec'd to run on low-end chipsets like the i810 because thats what consumers own. Sure, everyone you know has an 8500 or a GeForce4, but you're not a normal person if you're here reading slashdot. Normal people have old machines with slow graphics cards. A modeler that was designed for 8500 cards would be next to useless on a project aimed at i810's, and vice versa.
More importantly, "hardware capabilities" doesn't have a static definition. Graphics hardware is subject to Moore's law (except that the doubling time is even shorter than for CPUs). In the 12-18 months it would take you to write a high quality hardware-oriented modeling tool, graphics chips would run through at least two, possibly 3 generations. Do you design for the current hot chips, since those will be fairly common by the time your software is ready? Or do you try to guess what hardware will do in 18 months even though only a few hardcore gamers will own cards with those features when your tool is released?
Lets assume you've figured out whether you are going for serious gamer hardware or mass market hardware, and you correctly predicted what year you were targeting and guessed the feature set perfectly. Lets even assume you've written it and finished debugging it. Six months later (when the next generation of chips arrives), do you (a) throw away all your work or (b) invest another 6 months completely revising it because NVidia just announced some whizbang new feature that your user interface can't support?
Chances are, whatever you decide, pretty soon you'll find yourself doing exactly what Alias|Wavefront and Discreet and NewTek and etc. are trying to do: build the very best modeler you can, and let the hardware vendors catch up. You don't need that many more doubling times before all those slick features are "hardware capabilities."
Have patience.
Doesn't nvidia's CG fix most of your problems? They (nvidia) are creating plugind for maya and 3dsmax so that one can see the final product in the viewport. If you dont want to wait for Nvidia, try out Softimage|XSI as it comes with some very robust tools for creating shaders for use in video games (yes it really looks like it would in your game). Check this out for more info: http://www.softimage.com/Products/Xsi/v2/features. htm#rts