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!
Are you looking for a modeller that will render as you work in realtime, or have a gamelike renderer that will render out in real time?
It does sound like you're looking for something more in-tune with hardware realtime rendering, am I correct in thinking this?
Most programs have an OpenGL/D3D/etc realtime modelling mode, so I guess what I'm asking is, are you looking for something that can give you an accurate representation of what it will look like when rendered in game, using a card's built-in shaders? I guess I'm just getting confused on what you mean by mapping. Are you talking vertex/polygon level procedural mapping, or texture mapping, or what?
I'm also asking these questions so I can guage what a low-poly/gaming modeller is looking to accomplish. All my 3d renderings are done in trueSpace, using raytracing or a hybrid of radiosity/raytracing.
WWJD.... for a Klondike bar?
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.
nobody has converted quake into some sort of modelling program yet?
GoatPigSheep, the 3 most important food groups
The new version (6) of Caligari's trueSpace has "texture baking". It can translate procedural textures into mapped UV surfaces. Pretty nifty set of tools too. Windows only.
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!
Take a look at gmax and Milkshape3D
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.
3DFilm does realtime modeling AND video compositing. I use it a ton....
They might be going Open Source, but they have made some demands like they need to get $100k (Euro, ~95k US) in user donations before they open up the source code...So its not a sure thing.
I work mainly in film and commercials, but I do work on a few games per year (modeling/texturing/animating characters). I don't see whats worng with the current tools. 3dsmax supports both OpenGL and D3D in the viewports. :)
As for your problem with procedurals... Well, procedural textures are, for the most part, 3D textures. Which means you do not need UV coordinates to map an object with a procedural. You can, either by script or plugin, "bake" the procedural into a bitmap and use that.
You also have options to send data in any format you choose to another viewer. There are tons of options available. I dont see why choosing a more limiting system would make life easier. As porjects change, you may very well like the versatility your "fancy" application affords you.
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
The last time I looked quake was using binary space partitions, portals etc... in the rendering process.
These are very quick for real time play, because world is broken up into subspaces and placed in a binary tree when the wold is pre-render compiled for the game.
all of this breaking up takes a hell of a long time, it's also a slow process to merge the subspace trees whenever a space changes, this is why it's all pre-rendered and shiped with the game.
So the quake engine isn't good for dynamic real-time modelling, but it is good for realtime play with a fairly static world.
thank God the internet isn't a human right.
I've had to do a couple of posts because the lameness filter killed the acii art. This is a very brief example, there's far to much for a /. post
And you'll have to do a veiw page source for the correct formatting!
Here's a simple 2d 4 wall world in ascii
\ /
--- \ /
| \
| \
I'll call the walls
\ = A
-- = B
/ = C
! = d
draw a line through the world along line A,
this PARTITIONS the world into two BINARY spaces. B and D are on one side(the space infront) of the partition and and C are on the other side(the space behind).
so we have a partial birnay tree
A
/ \
B+D C
each node can only represent one line through the space
The space infront has two walls in it, B and D. So partition the space infront of A down line B. This gives you D infront of line B and nothing behind line B
The binary space partition looks like this
A
/ \
B C
/ \
D []
thank God the internet isn't a human right.
If you do not have the talent and patience to learn a complex interface, then I doubt you have the talent and patience to do character modeling and animation period.
/getting/ to the plugin can be difficult. Tools should all be immediately accessible and easy to use. There is NO excuse for it to be otherwise. There are at least half a dozen good books on UI design out there that could be followed 100% and have decent results come through, and many more books on UI design that offer a ton of good advice (mixed with a bit of not so good advice. ;) ), check your local library.
That there is complete and utter bull.
The goal of an artistic program is to allow the artist to move their creative vision from their mind (or some other medium if it has already been copied down to it) to the computer with AS LITTLE FUSS AS POSSIBLE.
The program should be natural and easy to use, should work flawlessly and efficiently, be quick and obvious in its usefulness, and all in all feel like a tool and not like a burden.
And that is in the bare minimum.
A truly good program heightens the artists creative potential but offering up new ideas. While it is technically feasible for an artist to use nothing but a pixel by pixel 2d editor to create any image that you could see on your computer screen (and indeed some artists do create that way and do a lovely job of it, they have darn near total understanding of color theory and how the human mind interprets shapes and shades), the rest of us (none artistic-genius types) have to rely on mere external tools to aid us in this process.
Thus why a water effects or flame effects plug-in in Photoshop comes in so much handy. Sure the 'real' artists do it by hand (and yah, odds are their results look a darn fine deal better too), but hey, for those of us who still have a vision but lack that level of understanding about color theory (how to make something look like it is underwater by tinting the pixel just right), the plug-in sure comes in handy.
Of course in the case of some tools even
or better yet somebody start up a fund to send copies of some of those books to the smaller dev teams out there, I realize that not every programming team (especially when it comes to OSS) can afford a usability study, but there is still no excuse for the major UI blunders that any of the so called alternative programs out there make.
Need help treating your acne? Come here!