Please support our sponsor:
DirectX4VB.Com - All You Need For Multimedia Visual Basic Programming

Main Site Links Resources Tutorials
News VB Gaming Code Downloads DirectX 7
Contact Webmaster VB Programming Product Reviews DirectX 8
  General Multimedia Articles DirectX 9
      Miscellaneous

 

Textures/materials
Adding materials and textures is an integral part of the modeling process - especially when dealing with low-polygon meshes. The loss of detail caused by having a low-polygon count can be drastically reduced by the clever usage of texturing, so having a powerful set of tools is generally a good idea!


click to enlarge

Above is a standard view of max 5's material browser - it hasn't changed greatly in the last 3 versions of the software (it hasn't needed to). Each version has added different shader parameters and functions, but the general layout is the same. You're allowed 24 material slots, which can then be applied to various components in the image. Obviously, it gets rather tricky should you want to use more than 24 different textures/materials on a model/scene, but this is unlikely to happen most of the time.

Textures are stored as part of a material, so essentially they are one-and-the-same. All materials are built up as a series of layers - you select the basic type, and then add diffuse, bump, specular, opacity and gloss options (to name only a few).  Each of these sub-types has it's own roll-out of options to give very fine and precise control over the system. 

Unfortunately it's not directly possible to export these material settings to your own models (and hence your real-time application). It is possible to plug in your own shader-scripts (for D3D pixel/vertex shaders) and let an artist customize the various parameters, you can then export these parameters and everything should work fine. In the long term however, max 5 is intending to use "effect files" - these are a more generalized (and far more powerful) graphics-effects language. They are present in D3D8 (should you know of them, or want to look at them), but they'll make a bit more of an impact when D3D9 is released.

Texture mapping is where Max 5 shines, and it shines very brightly indeed. In many other programs (including previous versions of 'Max) it was often a rather tedious chore to texture map objects; this is still the case occasionally - but much of the irritation has been removed by the new tools.


click to enlarge

The texturing tools presented in this software are by far the most intuitive tools that I've used so far - and I've seen quite a few now (including making my own). Once you've done the initial setup you can select the faces from your model in the main viewport, and they become active in the "unwrap uvw" modifier window. You can then manipulate them to display the correct part of the texture - whilst seeing the final result re-appear as you make the changes. Any faces that you select in the uvw editor will become selected in the main viewport and vice-versa. When you're actually editing the UV projection it makes sense to use the new all-in-one manipulation box (shown in yellow in the previous screenshot). This gadget has controls build in for translation, rotation and scaling - even allowing you to reconfigure the center of rotation (the yellow cross).

Texture mapping has always been fairly powerful in 3ds max, version 5 has left the core tools pretty much the same (no need to fix something that isn't broken), but it's added a few useful extra's to smooth over some rough edges in previous versions. Of most use is probably the new mapping tools - it's one thing to manually select all the faces and group them accordingly, but it's definitely better when you can get 3ds max do it for you...

 
click to enlarge

In the above two images we can see (on the left) the default mapping for a sphere, and (on the right) the same sphere mapped using the "normal mapping" tools. You can also employ several other new tools to make texture mapping far easier. For example, when Max 5 unwrapped the sphere above certain edges must be next to each other (in geometry terms), when you select the edge of a group, it's corresponding edge is highlighted - very useful, and if you want/need them joined up you can select "stitch" from the menu and Max 5 will re-join them together for you (see next screenshot). For more complicated meshes where there may be "holes" in the UV projection you can ask max to fill these up with smaller segments - making optimal use of the available texture space.


Matching edges and vertices are shown for easier
projection manipulation.

Rendering
3ds max has long been used for computer-generated film rendering (Toy Story and Shrek like films), such that the final rendered movie(s) and image(s) are of a high quality. However, this has much less use for a real-time artist - except for previewing animations and models.

There are several occasions however when you won't be modeling for a real-time scenario - instead you could be making intro-movies (for games) or a simple spinning-logo/title screen for a CAD program, or you could just be making a movie for personal enjoyment. In my tests, 3ds max 5 is a bit faster than previous versions, but unless you're doing work that would normally take several hours to complete you won't notice the differences hugely. For those with professional budgets (and the hardware to match!) multi-processor systems and network rendering are all supported out-of-the-box, as well as the simpler 3D Now!/MMX/SSE instruction extensions.

One of the big changes for 3ds max 5 in this area is it's inclusion of a more comprehensive lighting solution. In previous versions it was necessary to use other tools and plugins to get a complete lighting solution for a scene, whereas in Max 5 radiosity and complex ray-tracing is supported by default.


the radiosity test scene. blue is under-exposed, 
red is over-exposed and green is correct.

These lighting solutions will be of huge benefit if you're rendering static images and/or movies, but there is little way to make them useful for real-time art creation. Clever use of MaxScript may well yield some results, but out-of-the-box it won't do anything. trueSpace 6's texture baking, whilst it has many flaws, is a more useful step for real-time media creation and advanced lighting.


an example of the images possible with 3ds max 5.
image by Marcelo Souza

Supporting tools
Out of the box 3ds max 5 is an extremely powerful piece of software with more features than most sane-persons can probably handle. However, it doesn't stop there - 3ds max packs two more very powerful punches.

Firstly we have plugins - a staple product of most 3d modelers these days. These can be reasonably easily created using Visual C++ if you have the MaxSDK (this comes with 3ds max 5). There are quite a few plugins available from Discreet, but the majority are going to be from 3rd party efforts - there are more than enough available for 3ds max 4 that will work fine with max 5. Bare in mind that some people will charge a small fortune for their plugins.

Secondly, if you're not satisfied with making/using plugins, you can write your own scripts using the built in MaxScript. Over the last few versions its progressively evolved from a simple scripting language to a complete object-oriented programming language with a very comprehensive API. MaxScript is definitely something to learn - the power to customize Max's features to your own liking is a very useful one. 3ds max 5 comes with all the tools necessary to use MaxScript built in - all accessible from a menu in the main UI. You can even use a "Visual MAX script editor" - a visual-studio like IDE/dialog editor.


click to enlarge

Working with games / real-time multimedia
3ds max 5, as shown over the last few pages has more than enough powerful features to attract any real-time artists who aren't already using the software. It is extremely common to find many professional studios that use this software - if you read through any online accounts from developers/artists, it's so common that they often refer to it only as "max" - and people know what they mean.

One of the most powerful features of MaxScript is that you can export geometry as you see fit - there are several common file formats built in, and many more accessible by downloading plugins, but when it comes to games (in particular) it is very useful to export only the information you need, and to export it in a way that is optimal for reading quickly or easily streamed. It does mean you need to learn MaxScript before you can get the most out of it - there are books thicker than my two books on C and C++ on this subject alone.

The other aspect that will interest real-time artists and development teams is Max's strong use of the Direct3D API. Combine this with various plugins and the texture-plugins (shaders) you can allow artists un-paralleled control over how their art looks on screen - without spending too much time writing custom tools.

Max 5 ships with support for Direct3D8.1 and Direct3D9, although at time of writing, the D3D9 interfaces won't be hugely useful for most people - the final release isn't available yet, there's little hardware with few drivers available. Also, it was built around early-releases of the DirectX9 API - something that is still changing constantly (I'm on the beta testing program) - the developers are hoping to avoid a patch to upgrade this part of the program, but I'd reckon it is quite likely.


Conclusion
Well, that finishes the 3 page round up of the latest version of Discreets premier 3D modeling package: 3ds max 5.

It would be easy to say now that max 5 has improved on previous versions, rather than make huge changes they have chosen to revise, smooth and enhance the software over previous versions. 3ds max 4 was a powerful piece of software with very few dissenting voices, so it was necessary for Discreet to retain a similar overall appearance for fear of alienating it's existing (huge) user base. In my opinion, they've done a good job. 

Many people will be happy with 3ds max 4, but those who do upgrade will find the many 100's of small additions, revisions and changes make it well worth a new release.

The only problem for many will be the price-tag, at $3945 as a full package it's not an investment to take lightly. The chances are that only professional/semi-professional teams will be able to justify this price tag - smaller developers will have to rely on the lower-end solutions. There is an online form for a demo-CD should you wish to take a closer look at the software, and can be found here.

Another useful thing to bare in mind - you can buy the software, but it doesn't finish there. 3ds max has, as I've said several times, a huge user base - there are literally hundreds of websites, newsgroups, forums and tutorials available on the internet. It may take a bit of time before they take this new version into account, but it'll definitely happen sooner or later. Discreet also offers the 'Sparks' program/database for artists - very similar to the MSDN programming archives (for those of you who are programmers), if you want to make full use of this system you do have to pay for it, but there's a reasonable amount of content available before you have to pay up.

Previous Page <<

Good Points Bad Points
• Has stuck to the well established interface of previous versions. • Expensive
• Has changed enough things to warrant a new release • For all the great revisions, additions and changes there are few new truly ground-breaking/revolutionary tools.
• A very good feature-set for real-time artists / low-polygon modelers. • Requires a high-specification computer.
• A very intuitive interface for manipulating all features, and is easy to pick up and get used to. • You need to be a 1/2 decent artist to make good use of many of the tools provided
• Very strong animation system for bones/skeletal animation techniques • As intuitive and obvious as the software gets, it's still not a beginners learning tool.
• Powerful texture manipulation tools.
• Room for expansion - both built in (shader-based materials) and using MaxScript/plugins.
• Many new tools vastly ease/improve workflow and speed.
• Good community/3rd party support
• Overall, a very solid product.

Review Contents:
Page 1: Introduction, The Full Package, The User Interface
Page 2: Geometry Manipulation, Animation
• Page 3: Textures/Materials, Rendering, Supporting Tools, real-time multimedia, Conclusion

DirectX 4 VB © 2000 Jack Hoxley. All rights reserved.
Reproduction of this site and it's contents, in whole or in part, is prohibited,
except where explicitly stated otherwise.
Design by Mateo
Contact Webmaster
This site is hosted by Exhedra Solutions, Inc., the parent company of RentACoder.com and PlanetSourceCode.com