NORMAL MAPS: PART II - BEYOND THE BASICS - page 1

Size: px
Start display at page:

Download "NORMAL MAPS: PART II - BEYOND THE BASICS - page 1"

Transcription

1 BEN CLOWARD - Character Animator NORMAL MAPS: PART II - BEYOND THE BASICS - page 1 Introduction After writing the first tutorial, I compiled a list of all of the extra information that I wanted to include on the "Tips and Tricks" page. The list ended up being so long that I decided to create a whole new tutorial. With this second normal mapping tutorial, I'm going to go a bit more in depth for each of the steps of the process of working with normal maps. While learning how to create and use normal maps myself, I've learned a lot of information for how to achieve better results both on my own through trial and error, and also through research on the web. With Part II I'm going to go beyond the nuts and bolts of creating and applying normal maps and get into the jucy tid bits that really make them work well. Note: If you haven't followed the steps in the first tutorial and/or created your own normal maps yet, I recommend that you do that first before proceeding with this tutorial. I lot of the tips presented here cover issues that you'll run into while working with your first normal maps, and they may not make as much sense to you until you've actually tried out the process. In order to make things a little more organized, I've divided this tutorial into four main sections covering the four main steps of normal mapping (so far I've only finished the first one. Come back soon for the other three sections.): Tips for Creating Models As covered in the previous tutorial, normal maps can require creating both a high poly model and a low poly model. This section covers information to keep in mind while creating these models that will help you achieve a better end result. Methods for Creating Normal Maps The previous tutorial covered two methods for creating normal maps: converting a bump map to a normal map, and using ATi's NormalMapper program. This section illustrates some additional (and better!) methods for creating normal maps. Tips for Editing Normal Maps This topic was not covered at all in the previous tutorial but needs to be addressed here since editing a normal map requires some special care and consideration. Tips for Applying and Using Normal Maps I presented one method for applying normal maps in the previous tutorial: Nvidia's Cg plug-in for 3DS Max and Maya. There are several other good methods that I'll explore in this section. One more thing before you jump in. As I said in the first tutorial, I'm an artist, not a programmer. I'm writing this tutorial to help artists better understand the process (which can be quite technical) so they can use it to make better art. I hope it's helpful to you. If you find some problems, know some more information that would be helpful to include, or just would like to give me some feedback, I'd love to hear from you. me! Now get going and make some cool stuff!

2 NORMAL MAPS: PART II - page 2: Tips for Creating Models Tips for Creating Models As I've discussed, the whole goal of normal mapping is to make a low poly model look like a high poly model. This is usually achieved by creating both a low poly model and a high poly model and then using the detail of the high poly model to create a normal map for the low poly model. So we've got two models involved. This page contains tips for creating both the high and low res models that will help you to achieve better final results. First, we'll discuss the order of creation for the models. Which Model Do I Create First? So if you have to create a low poly model and a high poly model, which one do you create first? The honest answer is, which ever one you want! Here are a couple of options: Create the High Poly Model First If you are used to creating high poly models for non-real-time rendering, you might want to create your high poly model first. Once you've created a beautiful model with lots of detail, make a copy of the model. This copy will become your low poly model - you just need to reduce the poly count. Most 3D programs come with a feature to simplify a model. In 3DS Max, the MultiRes modifier works pretty well. Just crank the poly count down to a number that fits in your budget. If the model is a character that needs to deform, be sure that you leave enough detail in the joint areas for realistic deformation. Create the Low Poly Model First A lot of artists in the game industry are more comfortable creating low poly models. If that's you, you'll probably want to create the low poly model first. This gives you very fine control over the low poly mesh. (Sometimes resing down a high poly model, like in the previous method, gives you a very messy mesh.) Once you've got a low poly model you're happy with, make a copy of it. This copy will become your high poly version. Just subdivide it several times. The Mesh Smooth modifier in 3DS Max works well for this. Now go in and add all the detail that you've always wanted to add but couldn't because of your polygon budget. There are other options, but this is probably enough to get you going. Once you get started you'll probably settle on a method that you're most comfortable with. Tips For Creating the Low Poly Model The low poly model is the version that will actually get used in the game. It needs to have a poly count that fits in your engine's budget. Creating a low poly model that uses a normal map is a little different from creating a regular model. Here are some tips for getting good results from your normal map: Only One Smoothing Group, No Hard Edges Up until now, smoothing groups (or hard edges) have been a good way to accentuate features of a low poly model and make the details more clear and readable. It used to be important to use smoothing groups carefully to create a good model. Throw all of that out the window. Smoothing groups are an enemy to normal maps. Your low poly model should have one smoothing group (no hard edges). Here's why:

3 This image illustrates the process of generating a normal map. For every pixel in the normal map, a ray is cast from the surface of the low poly model outward along the normal where the ray started. The high poly model surface normal is recorded at each ray intersection. (A more detailed explaination is available in my first normal mapping tutorial here.) If your model has a hard edge, all of the rays on the polygons that share that edge will be uniform (go in the same direction). This will leave a gap in the rays between the two polygons. No data from the high res model will be recorded in this gap and an ugly seam on your final model will result. This image illustrates the same case but with a soft edge. Here we see that with a soft edge, the low poly normals are interpolated (smoothed) from one polygon to the other. There is no gap in the rays that are cast from the low poly model to the high poly model. No high poly model data is left out. There is a similar principle with regards to the high poly model. Be sure to check it out below in the high poly model tips section. Avoid Extremely Sharp Angles Because you're using one smoothing group, as mentioned above, if your model has sharp angles (greater than 90 degrees or so) you will get bad artifacts in your normal map. These are caused by the large difference between the angle of the faces and the vert normals. Round off your sharp angles with extra faces for better results, or if you need sharp angles, go ahead and use smoothing groups/hard egdes to create them. Hide UV Seams Well The low poly model needs to have UV coordinates applied. You should already be familiar with this process. There are a few things to keep in mind when laying out the UVs. The first is to hide your UV seams as best you can. Put them on the insides of arms, in the back of the head, where the neck meets the shirt, around the waist, etc. Try to find spots on the model were a seam makes sense. UV seams are much more pronounced in a normal map than they are on a regular diffuse texture. There is one method that you can use to erase them. I discuss that on page 4. Flipped UVs Issue In order to save space on the texture map and to achieve a high texel density, most character modelers will unwrap half of the model and then mirror that half for the other side. You can also do this during the unwrap process by selecting a group of UVs and flipping them horizontally or vertically and then laying them down on top of the coresponding set of UVs from the other side of the model. This is a great technique, but it causes some problems when creating normal maps. Here's the issue: The lighting on a normal mapped model is dependant on the surface direction (normal) of the polygons, but also on the normal direction of the UVs. It's as if the UVs have a normal also. When you flip the UV coordinates horizontally or vertically, the effect on the lighting is the same as if you flipped the polygon from front facing to back facing. Suddenly, the lighting looks like it's coming from the opposite direction. If you work for a game company, you can ask your engineers to add some additional code to your model exporter, so that when your models are exported from Max or Maya, etc, the exporter will recognize cases were the normal of the polygon and the normal of the UV coords don't match. In those cases, the exporter can flip the UV normal back the right way for you without effecting the unwrap at all. If they need

4 help figuring out how to do that, this is a good place to start. If you don't work at a game company or have access to programmers that can just whip up stuff like that, your best bet is just to avoid using mirrored texture coordinates all together. That's probably not what you wanted to hear since you'll have to use a lot more texture space to get the results you want, but that's the best you can do. Overlapping UVs Often when applying UVs to a model there are several parts of the model that share the same part of the texture, so the UV coordinates of those pieces are all on top of each other. This will work, but requires some special handling. Generally, programs that create normal maps, like NormalMapper, get all confused if you have overlapping UVs - so the trick is to make a special copy of your low res model that's used only for generating the normal map. On that copy, delete all of the polygons that have overlapping UVs except for one set. That way, when you generate the normal map using the copy, there are no overlapping UVs, but you can then apply the normal map to the original model that has overlapping and evething will work fine. Splitting Up Your Model Many models require more than one normal map. In these cases make a copy of the original low res model, break the copy into multiple pieces, one for each normal map. Put all of the polygons that will be using the first normal map in the first piece, all of the polygons that will be using the second normal map in the second piece, and so on. Then generate the normal maps using the seperate pieces as if each piece was its own model. Once the normal maps are created, you can apply them to your original model. Sometimes it is also necessary to split up a complex model into several different peices even when it's just using one normal map. If you try to generate the normal map for your whole model and it comes out very messy looking with high res details in the wrong places and lots of errors, you can often fix the problem by making a copy of your low res model and breaking it up into pieces along the UV seams. Generate a normal map for each piece seperately and then put all of the parts of the normal map together in a paint program to create a single normal map for your original model. Tips For Creating the High Poly Model The high poly model will only be used to create your normal map. Since it won't be rendered in real-time, you can use as many polyons as you want - even millions! You can model every rivet and every nail head, every skin wrinkle and every pore. You can sub-divide the model until the wireframe is do dense it looks like one solid color. (This kind of modeling is very gratifying for those of us who've been stuck in low poly land for many years.) The only practicle limitation is the amount of time it takes to generate the normal map. Here are some tips to keep in mind when creating your high poly model: You Don't Need UV Coordinates That's right! The high res model does not need UV coordinates. It's just a high detail mesh. Only the low res model needs UV coordinates. Optionally, you can apply UV coordinates to the high res mesh and then apply a bump map to it. Then when the normal map gets created, all of the detail from the high res mesh AND the bump map will go into the normal map (I'll get into more detail about how this is done on page 3 of the tutorial), but this is not required. Be Careful With Straight Extrusions Details that extend straight out from the surface of the mesh don't translate to the normal map very well. If you select some faces on the high res mesh and extrude them straight out from the surface, the detail won't show up in the normal map or it will not look very good because the normal map contains surface direction, not surface height. Consider extruding the faces and then scaling them down a little at the top so that the sides are slightly sloped. Rounded details always translate into the normal map better than sharp grooves and ridges. Remember Your Normal Map Resolution Keep in mind that all of the detail in the high res model is being created for the purpose of creating a normal map. The normal map will be

5 created at a limited resolution (256x256, or 512x512, etc). If you put details on the surface of your high res mesh that are smaller than the pixel size of your normal map, you're wasting your time because they won't show up, they won't be clear. Remember that as you add small details to your high res mesh. I hope that these modeling tips help you get better results when creating your normal maps. This is certainly not a complete list of tips for creating the high and low res models. If you know of additional information that I need to add, please me!

6 NORMAL MAPS: PART II - page 3: Methods for Creating Normal Maps Methods for Creating Normal Maps In the first tutorial, I outlined two methods for creating normal maps. On page 4 of the first tutorial I discussed converting a bump map to a normal map in Photoshop. On page 5 of the tutorial I explained how to generate a normal map from a high and low detail model using ATi's NormalMapper program. In this section I'll explain some additional (and better!) methods for creating normal maps. Normal Mapping Tools in 3DS Max 7 3ds Max 7 ships with some pretty impressive tools for creating normal maps of all types. Since I got the beta version of Max 7, I haven't used NormalMapper anymore. Max's tools are just very good and very easy to use. (There are some bugs in Max 7's shaders for displaying normal maps though. I'll discuss those on page five of the tutorial.) Ben Mathis has written a great tutorial for creating normal maps using the tools in Max 7. You can find it here. Thanks Ben! Normal Mapping Tools in Maya 6 Maya 6 has some great tools for creating normal maps. Jeff Parrott has a simple tutorial on his web site that shows how easy it is to use the normal mapping tools in Maya. You can find his tutorial here. Normal Mapping Tools in Softimage XSI I think that XSI was the first major 3D authoring app to feature tools for creating normal maps. Bartek Dabkowski has created a tutorial that shows how to use these tools. You can find it here. Normal Mapping Tools in Lightwave While Lightwave doesn't have any "built-in" tools for generating normal maps, it has a very flexible plug-in system. Marvin Landis has taken ATi's NormalMapper and turned it into a plug-in for Lightwave's Modeler. He even wrote a nice interface for it! You can get his plug-ins here. Nvidia's MeLODy Nvidia has created a tool called MeLODy that can create normal maps. It also automates the process of creating LODs. You can get it here. To create a normal map for your model using MeLODy, install it and follow the steps below: 1. Create a high and a low res version of your model. The low res version needs UV coords. 2. MeLODy supports OBJ or 3DS format so export both of your models in one of those two formats. 3. Open MeLODy and click the "Normal Map Settings" button. 4. By defualt, MeLODy is set to create its own set of texture coordinates for your low res model. You can leave it that way if you want, but most artists prefer to use their own texture coordinates. You can use use your own coordinates by choosing "Use Existing Normal Map Texture Coordinates." Click the "Close" button at the bottom of the panel. 5. Now you're going to load in your models. In MeLODy, the low res model is called the "Working Model" and the high res model is called the "Reference Model." Click the "Load Working Model" button and browse to the location of your low res OBJ or 3DS file. Now that the low res model is loaded it will appear on the right side of the viewport. 6. Click the "Load Reference Model" button to load the high res version. Browse to the location of your high res OBJ or 3DS file. The high res model will appear on the left side of the viewport. 7. Now you're ready to generate your normal map. Just click the "Generate Normal Map" button and MeLODy will create a normal map for your low res model using the normals of your high res model. 8. Once the normal map is finished, you can see where it has been saved

7 by clicking on the "Console..." button. If you don't get the results you were hoping for, MeLODy has a host of settings for tweeking the way the normal map is created. You can find a detailed description of the settings and how to use them in the User Guide that comes with the MeLODy installation. Creating A Normal Map Right In Your 3D App Did you know that you can create a normal map in ANY 3D program? You don't need any special plug-ins or exporters or extra tools at all when you create a normal map with this technique! I'll explain how to do it, but first there are a few limitations: Your low res model must be a flat plain. The low res model must have a planar UV projection (flat texture coordinates). You can't use this for characters that have specific unwrapped texture coordinates. This technique is really good for environment normal maps like bumpy ground, rock walls, bricks, metal panels, etc. I'll explain the steps to set it up for 3DS Max, but you can do the same thing in ANY other 3D program. Here's how to do it: Open 3DS Max and create a directional light. Rotate it in world space to 0,-90,0. Set the light's color to 255,0,0 (red). Set the multiplier to Create another directional light. Rotate it in world space to -180,-90,0. Set the light's color to 255,0,0 (red). Set the multiplier to 0.5. Create a third directional light. Rotate it in world space to 90,-90,0. Set the light's color to 0,255,0 (green). Set the multiplier to Create a forth directional light. Rotate it in world space to -90,-90,0. Set the light's color to 0,255,0 (green). Set the multiplier to 0.5. Create one more directional light. Rotate it in world space to 0,0,0. Set the light's color to 0,0,255 (blue). Set the multiplier to 0.5. Select each of your lights and check the "Overshoot" box under Directional Parameters so they'll light things that are outside of their cone. Choose "Rendering->Environment..." In the Environment panel set the Ambient color to 127,127,127. Create a free camera. Set the camera rotation to 0,0,0 in world space. Click the "Orthographic Projection" check box so that the camera becomes orthographic (so it has no perspective). Now you create a high resolution model. Apply a material to the model that has a white diffuse color. When you render your model from the point of view of the camera, you'll get a normal map! Here's what the scene looks like when it's all set up:

8 I like creating normal maps this way because they render much faster and I don't have to use any external software. I got the idea for this technique from this web page: If you're having a hard time setting it up, you can download a sample file for Maya, Max, or Lightwave at the bottom of that page. Using My Normal Map Shader In 3DS Max 6 and 7 When you boil it down, a normal map is just an image of your high res model where every pixel is colored to represent surface direction instead of surface color and lighting. With this in mind, all you really need to create a normal map is a material or shader on your high res model that gives you normal colors instead of surface colors. I've written a shader in HLSL FX format that does exactly that. You can grab it here. When you apply that shader to your model in 3ds Max 6 or 7 (follow these instructions to apply it) you get an instant normal map. Just take a screen shot of your model, open it in an image editing program, crop it, and save it out. You're all done! The main draw back to this method (and the previous one also) is that you can't make a normal map that wraps around a 3d character. This technique is best for creating tilable normal maps that you're planning to apply to the environment. Normal Map Formats Since a normal map is a way to use color data to represent surface normals, there are several ways that the color data can be used - or several normal map "formats." In order for your normal map to give you the correct results, the program that generates the normal map and the program (or shader) that uses the normal map must use the same format. Tangent Space vs Object Space vs World Space The main way in which normal map formats differ is in what "space" they use. "Space" refers to the point of reference for the X,Y, and Z values (the R,G, and B of the normal map). All of the info that I've been discussing in my tutorials so far has been covering normal maps created in "Tangent Space." Tangent Space normal maps use texture coordinate space, so X and Y are the U and V of the texture coordinates and Z is the surface normal. Tangent space normal maps appear mostly light blue (127,127,255) because the Blue channel represents the direction that the underlaying model surface is facing. The red (X) and green (Y) channels are for offseting that direction. Tangent Space normal maps are best used on characters that deform and when tilable normal maps need to be applied to curved surfaces in the environment. Object Space normal maps use the orientation of the model as their X, Y, and Z. Y is most commonly in the direction of the top of the model while X is to the left of the model and Z in the direction the model is facing. Object Space normal maps usually appear rainbow colored because they represent normals that face in every direction instead of just a 180 degree hemisphere like Tangent Space normal maps. Object Space normal maps can be used on rigid objects that need to rotate and have a unique set of texture coordinates (not a tiled texture). World Space normal maps are very similar to Object Space normal maps - except they use the X, Y, and Z of the world as their coordinates. They also appear rainbow colored. Because they depend on the world coordinates, you can't rotate a model with a World Space normal map and have the lighting still appear correctly. For that reason, World Space normal maps can only be used on static objects that have a unique set of texture coordinates. In my opinion, Tangent Space normal maps are the best. They can be used for everything. You can apply them to deformable characters, rigid objects, and world geometry. Unlike Object Space or World Space normal maps, Tangent Space normal maps can be created to be tilable and then applied anywhere - on the walls, ceilings, floors, etc. They are a bit more expensive computationally, but this extra expense is insignificant on today's graphics hardware.

9 Positive or Negative Y When using Tangent Space normal maps, the most common difference in formats is the direction that the green channel is lit. Some programs light the green channel from the left (postive Y) and others light the green channel from the right (negative Y). Some programs give you the option to choose positive or negative Y. If your normal map isn't being lit correctly, the first thing that you should try is to flip the green channel. Just open the normal map in Photoshop, select the green channel, and choose "Invert." That will give you the same result as if you had rendered the normal map in the other format. So there you have it: A bunch of extra stuff about generating normal maps! Now I bet you're asking yourself, "If my normal map has problems, can't I just open it in Photoshop and paint out the errors?" The answer is a most definite and totally confident "sort of." :0) There are a few things that you should know about editing your normal map in a paint program. I'll discuss those on the next page.

10 Mip-Maps NORMAL MAPS: PART II - page 4: Tips for Editing Normal Maps Tips for Editing Normal Maps So you've created your normal map, you apply it to your model and it looks great! -- Except for those annoying seams and those few spots that didn't turn out quite right. Well that's easy, you can just open the normal map in Photoshop and fix those with the clone tool, right? WRONG! A normal map is very different from a regular texture, because the colors represent the X, Y, and Z values of a directional vector instead of just a color. Not only that, but the three values together must yield a directional vector whose unit lenth is one (a normalized vector). This means that only a very specific set of colors can be used. So you can't just go painting colors and expect them to give you good lighting when used as a normal map. "Can't I just paint with the colors that are already there?" - Yes, but if your brush has a soft edge, the blending will give you colors that no longer result in a vector length of one. Just about any editing that you do in your paint program that doesn't preserve the exact colors that were there when you started will give you incorrect results. "So I can't edit my normal map at all in a paint program?" - You can. But there are a few things that you need to watch out for and a few tips that will help you get better results. Read on! Re-normalization The main thing that you need to do to avoid the problems that I mentioned above is to "re-normalize" your normal map. You can paint on it, and use the clone tool and edit all you like as long as you make sure all of the colors result in a vector with unit length one (normalized) when you're done. Luckyly, Nvidia has created a very cool Photoshop plug-in that will do this for you. When you're done with your editing, you just run the plug-in and it looks at every pixel in the normal map and adjusts the colors so they give you normalized vectors! You can grab the plug-in here. Download the "Adobe Photoshop Normal Map Plugin" and install it. Once you're done with the installation, follow the step below to "re-normalize" your normal map If you added layers while you were editing, flatten your image so it's all on the base layer. Get rid of any alpha channels if you have them. Choose "Filter -> nvtools -> NormalMapFilter..." This will bring up the Normal Map filter options window. There are options here for converting a bump map into a normal map, but since we already have a normal map, we're just going to use the normalization feature. Under "Alternate Conversions" choose "Normalize only." Click "OK." That's it! Your normal map is now normalized again, just like it was before you started editing. Now you can save it and apply it to your model. Seams One of the main problems that occurs when creating normal maps is that there are seams at the edges of UV regions. This problem can be solved in several ways. The best way is to have the program that creates the normal map expand the colors of the map beyond the edges of the UV regions. In some normal map creation software this is called "edge padding" and in others it's called "expand border texels." There may be other names for this feature, but that's the first thing you should try if you're having trouble with seams. If that doesn't work, another method is to paint a small buffer strip of light blue (127, 127, 255) along both of the edges of the seam. This light blue color represents the vector that points straight out of the surface. If both edges of the seam are using this color, they'll match each other better. You might lose a little of your high res detail, but at least you won't have an ugly seam. I recommend only using this method if you really need it.

11 Real-time textures use mip-maps to reduce texture flickering and sizzling when the texture is smaller on the screen than it is in resolution. Mip-maps are smaller copies of the texture. The smaller the texture appears on screen, the smaller the copy of the texture that gets used. Usually the mip-maps are automatically generated when the texture is used and the artist doesn't have to worry about them at all. With normal maps, it's a different story. Mip-maps are generated by copying the texture and scaling it down. For regular textures, this works fine, but for normal maps, the scaling also de-normalizes all of the normals. That means that as your model moves away from the camera, all of the normals will get de-normalized and the lighting on your model won't look that good. The solution to this problem is to make sure that when mip-maps are created for normal maps, the mip-maps get renormalized. This is probably a step that a graphics engine programmer could do pretty easily. If you don't have a graphics engine programmer handy, you can do it yourself by using DDS as your image file format. 3DS Max will read DDS image format. DDS stands for Direct Draw Surface. It's an image file format that is used natively by DirectX. It contains extra information that DirectX can use - like mip-maps. Nvidia makes a plug-in for Photoshop that will read and write DDS format. The plug-in allows you to do a ton of stuff with the image when you save it in DDS format. Most importantly it allows you to normalize all of the mip-maps. If you installed the plug-in that I talked about above in the "Re-normalization" section you already have it. If not, you can get it here. Once you're done with the installation, follow the step below to "re-normalize" your mip-maps. 1. In Photoshop open your normal map and choose "Save As..." Pick DDS format and click "Save." 2. When you click the Save button, this options dialog will appear that allows you to specify all of the parameters for saving your image. I was really impressed with how much control all of these options gave me over exactly what I wanted to do with my image. You can do a lot more with DDS format than we're going to cover in this tutorial. 3. Under MIP Map Generation, choose "Generate MIP maps." The plug-in will automatically create mip-maps for your normal map when you're ready to save. The mip-maps will be stored as a part of the DDS format image. 4. Click on the "Normal Map Settings..." button to access the normal map conversion options. The following window will open:

12 5. Make sure that the "Convert to Tangent Space Normal Map" box is checked. Under "Alternate Conversions" choose "Normalize only." Click "OK." These settings will ensure that when your mip-maps are generated, they will be re-normalized. Now click the "Save" button. Now you've got a DDS image saved that has correctly normalized mip-maps. The lighting detail will remain correct regardless of the model's distance from the camera. Texture Compression To allow for as many textures as possible, most video games use some type of texture compression. Most use S3TC, DXTC, or some type of palletization. These types of texture compression work well for diffuse textures, but they don't work so well for normal maps. All of these compression techniques change that colors of the image so that it can be smaller. This causes the normals to become denormalized. The compression also introduces other artifacts. These artifacts aren't as obvious on a diffuse texture, but on a normal map they really stick out. The following table illustrates the effects of texture compression on a normal map. The left column shows the normal map itself with several different types of texture compression. The right column shows the lit model with the normal map applied.

13 While the file size savings is significant, the quality loss is also significant with all types of compression. It's pretty obvious from the chart that 8 bit compression is not usable at all. You might be able to use 16 bit, but it's only 2:1 compression. There is very little difference between DXT5 and DXT1 except that DXT5 also has an alpha channel (not shown here) which can contain extra information - like a height map. Obviously, the best thing to do is to not use any texture compression at all on normal maps. If you absolutely have to use compression, DXT1 seems to be the best option. It has the smallest file size and is better looking than 8 bit. There is another option, but it requires that your normal map be changed around a bit and also that your shader be edited slightly. DXT5 gives the most quality to the green channel and to the alpha channel. We can take advantage of this to "hijack" the DXT5 format and turn it into a normal map compression format. First we need to re-arrange the data in the normal map. Take the red channel data (X) and put it in the alpha channel. Now make the red and blue channels black. Now we need to adjust the shader to switch the data back around for us. The shader needs to be told that the red channel data is in the alpha channel of the texture and that it needs to calculate the blue channel values itself. This is possible with a little algebra because we can assume that the vector that results from R,G, and B will be unit length one. If you are able to make these changes to both the normal map and the shader, you'll get 4 to 1 normal map compression with very little quality loss!

14 All of the normal mapping shaders on my web site now offer this compression solution as a second technique in the shader - so you can get four to one texture compression and good normal map quality as well. I hope that the tips on this page have been helpful for you. I've learned that the data in normal maps is very sensitive and can't just be treated like any other color map. I hope that as a result of the things I've written, you'll be able to more successfully handle and edit normal map data. In the first Normal Map Tutorial, I explained how to use the Nvidia Cg Plugin for 3DS Max 5 to apply your normal map to a model. On the next page I'll explain lots of other good methods to apply your normal map to your model. Read on!

CREATING AND USING NORMAL MAPS - A Tutorial

CREATING AND USING NORMAL MAPS - A Tutorial CREATING AND USING NORMAL MAPS - A Tutorial Introduction In the last 10 years or so we ve seen lots of video games released that use low poly count models for the game play and then tell the story using

More information

lundi 7 janvier 2002 Blender: tutorial: Building a Castle Page: 1

lundi 7 janvier 2002 Blender: tutorial: Building a Castle Page: 1 lundi 7 janvier 2002 Blender: tutorial: Building a Castle Page: 1 www.blender.nl this document is online at http://www.blender.nl/showitem.php?id=4 Building a Castle 2000 07 19 Bart Veldhuizen id4 Introduction

More information

Polygon Modeling Basics Chapter 1 - Vertices

Polygon Modeling Basics Chapter 1 - Vertices Polygon Modeling Basics Chapter 1 - Vertices In this tutorial we will cover the basic tools necessary for Polygon Modeling using the Vertex sub-object selection. It is less of a how to tutorial and more

More information

Textures and UV Mapping in Blender

Textures and UV Mapping in Blender Textures and UV Mapping in Blender Categories : Uncategorised Date : 21st November 2017 1 / 25 (See below for an introduction to UV maps and unwrapping) Jim s Notes regarding Blender objects, the UV Editor

More information

Caustics - Mental Ray

Caustics - Mental Ray Caustics - Mental Ray (Working with real caustic generation) In this tutorial we are going to go over some advanced lighting techniques for creating realistic caustic effects. Caustics are the bent reflections

More information

MITOCW MIT6_172_F10_lec18_300k-mp4

MITOCW MIT6_172_F10_lec18_300k-mp4 MITOCW MIT6_172_F10_lec18_300k-mp4 The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for

More information

Rock Tutorial: Creating A Rock Like Seen In Gears Of War With A Focus On Normal

Rock Tutorial: Creating A Rock Like Seen In Gears Of War With A Focus On Normal http://www.icantbelieveitsnothighpoly.com/tutorials_new.html To view finished product 360 degrees around Instructions // Download: Video (Rotation of Final Mesh)/// (Right click and save) This is an advanced

More information

This view is called User Persp - perspective. It's good for rendering, but not for editing. Ortho will be better.

This view is called User Persp - perspective. It's good for rendering, but not for editing. Ortho will be better. Create a crate simple placeable in Blender. In this tutorial I'll show you, how to create and texture a simple placeable, without animations. Let's start. First thing is always to have an idea, how you

More information

ZBrush To Softimage XSI 16-Bit Displacement Guide

ZBrush To Softimage XSI 16-Bit Displacement Guide ZBrush To Softimage XSI 16-Bit Displacement Guide Greg Punchatz Senior Creative Director, Janimation November 10, 2005 2005 Pixologic, Inc. All rights reserved. Pixologic and the Pixologic logo, and ZBrush

More information

Tangents. In this tutorial we are going to take a look at how tangents can affect an animation.

Tangents. In this tutorial we are going to take a look at how tangents can affect an animation. Tangents In this tutorial we are going to take a look at how tangents can affect an animation. One of the 12 Principles of Animation is called Slow In and Slow Out. This refers to the spacing of the in

More information

Where to get Blender. Go to Download the latest version

Where to get Blender. Go to  Download the latest version Basic Building in Where to get Blender Go to www.blender.org Download the latest version Heads up! If using Linux the Software Center's safe version is out of date and doesn't do all that the new one does,

More information

Mastering Truspace 7

Mastering Truspace 7 How to move your Truespace models in Dark Basic Pro by Vickie Eagle Welcome Dark Basic Users to the Vickie Eagle Truspace Tutorials, In this first tutorial we are going to build some basic landscape models

More information

All the Polygons You Can Eat. Doug Rogers Developer Relations

All the Polygons You Can Eat. Doug Rogers Developer Relations All the Polygons You Can Eat Doug Rogers Developer Relations doug@nvidia.com Future of Games Very high resolution models 20,000 triangles per model Lots of them Complex Lighting Equations Floating point

More information

UV Mapping to avoid texture flaws and enable proper shading

UV Mapping to avoid texture flaws and enable proper shading UV Mapping to avoid texture flaws and enable proper shading Foreword: Throughout this tutorial I am going to be using Maya s built in UV Mapping utility, which I am going to base my projections on individual

More information

Android Programming Family Fun Day using AppInventor

Android Programming Family Fun Day using AppInventor Android Programming Family Fun Day using AppInventor Table of Contents A step-by-step guide to making a simple app...2 Getting your app running on the emulator...9 Getting your app onto your phone or tablet...10

More information

NVIDIA Tools for Artists

NVIDIA Tools for Artists NVIDIA Tools for Artists GPU Jackpot October 2004 Will Ramey Why Do We Do This? Investing in Developers Worldwide Powerful tools for building games Software Development Content Creation Performance Analysis

More information

The Auto-MipMapper Shader

The Auto-MipMapper Shader The Auto-MipMapper Shader for CARRARA 4,5 & 6 Version 0.2 The Auto-MipMapper reduces or removes moire patterns and twinklies in both still renders and animations. Unlike the MipMapper the Auto-MipMapper

More information

Note: Photoshop tutorial is spread over two pages. Click on 2 (top or bottom) to go to the second page.

Note: Photoshop tutorial is spread over two pages. Click on 2 (top or bottom) to go to the second page. Introduction During the course of this Photoshop tutorial we're going through 9 major steps to create a glass ball. The main goal of this tutorial is that you get an idea how to approach this. It's not

More information

User Guide. Melody 1.2 Normal Map Creation & Multiple LOD Generation

User Guide. Melody 1.2 Normal Map Creation & Multiple LOD Generation User Guide Melody 1.2 Normal Map Creation & Multiple LOD Generation DA-01601-001-v01 November 2004 Table of Contents Introduction to Melody...1 Features... 1 Using Melody...1 Loading a Model... 1 Model

More information

Pump Up Your Pipeline

Pump Up Your Pipeline Pump Up Your Pipeline NVIDIA Developer Tools GPU Jackpot October 4004 Will Ramey Why Do We Do This? Investing in Developers Worldwide Powerful tools for building games Software Development Content Creation

More information

Point based global illumination is now a standard tool for film quality renderers. Since it started out as a real time technique it is only natural

Point based global illumination is now a standard tool for film quality renderers. Since it started out as a real time technique it is only natural 1 Point based global illumination is now a standard tool for film quality renderers. Since it started out as a real time technique it is only natural to consider using it in video games too. 2 I hope that

More information

Brief 3ds max Shaping Tutorial

Brief 3ds max Shaping Tutorial Brief 3ds max Shaping Tutorial Part1: Power Key Axe Shaft Written by Maestro 1. Creation: Go to top view, create a 6 sided cylinder, 0.1 radius this is the perfect shaft thickness to fit in the hand, so

More information

Chapter 17: The Truth about Normals

Chapter 17: The Truth about Normals Chapter 17: The Truth about Normals What are Normals? When I first started with Blender I read about normals everywhere, but all I knew about them was: If there are weird black spots on your object, go

More information

ROTOSCOPING AND MATTE PAINTING In Blender v2.48a

ROTOSCOPING AND MATTE PAINTING In Blender v2.48a In the world of Visual Effects, Rotoscoping, Matte Painting and Garbage Painting are necessary and complementary functions. They are used each time a cut-out in the image is necessary, to remove a background

More information

MITOCW watch?v=0jljzrnhwoi

MITOCW watch?v=0jljzrnhwoi MITOCW watch?v=0jljzrnhwoi The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for free. To

More information

1 of 8 11/25/ :42 PM

1 of 8 11/25/ :42 PM 1 of 8 11/25/2008 12:42 PM ART 484 - UV Mapping a Suitcase This page is designed as a supplement to lectures. It is not intended to be a stand alone tutorial. The task is to recreate this old suitcase.

More information

Texturing laying out Uv's part I - Levitateme

Texturing laying out Uv's part I - Levitateme Texturing laying out Uv's part I - Levitateme In this tutorial, I am going to try and teach people my method of laying out uvs. I think laying out uvs is a art form, I think everyone has there own style,

More information

The Stack, Free Store, and Global Namespace

The Stack, Free Store, and Global Namespace Pointers This tutorial is my attempt at clarifying pointers for anyone still confused about them. Pointers are notoriously hard to grasp, so I thought I'd take a shot at explaining them. The more information

More information

Taking the Best Reference Photos

Taking the Best Reference Photos Sides Three and Four To fill in the other two sides select the top vertice and the corners on a side where there is no face yet. Again, use FKEY to fill in a face. Repeat this for the last side to have

More information

3D & 2D TREES. Andy Simmons Andy Simmons

3D & 2D TREES. Andy Simmons Andy Simmons Hopefully this tutorial will give you an insight into how I create 3d and draw trees. There are four parts all dealing with trees. Amorphium, Bryce and Photoshop. I have had many requests for this tutorial,

More information

Visualization Insider A Little Background Information

Visualization Insider A Little Background Information Visualization Insider A Little Background Information Visualization Insider 2 Creating Backgrounds for 3D Scenes Backgrounds are a critical part of just about every type of 3D scene. Although they are

More information

developer.nvidia.com The Source for GPU Programming

developer.nvidia.com The Source for GPU Programming developer.nvidia.com The Source for GPU Programming Latest documentation SDKs Cutting-edge tools Performance analysis tools Content creation tools Hundreds of effects Video presentations and tutorials

More information

Character Modeling IAT 343 Lab 6. Lanz Singbeil

Character Modeling IAT 343 Lab 6. Lanz Singbeil Character Modeling IAT 343 Lab 6 Modeling Using Reference Sketches Start by creating a character sketch in a T-Pose (arms outstretched) Separate the sketch into 2 images with the same pixel height. Make

More information

Bricks'n'Tiles. Tutorial Creating a brick file and texturing a medieval tower. Easy Creation of Architectural Textures.

Bricks'n'Tiles. Tutorial Creating a brick file and texturing a medieval tower. Easy Creation of Architectural Textures. Bricks'n'Tiles Easy Creation of Architectural Textures www.bricksntiles.com Tutorial Creating a brick file and texturing a medieval tower 1 Introduction Welcome this this Bricks'n'Tiles Tutorial. Brick'n'Tiles

More information

PROFESSOR: Last time, we took a look at an explicit control evaluator for Lisp, and that bridged the gap between

PROFESSOR: Last time, we took a look at an explicit control evaluator for Lisp, and that bridged the gap between MITOCW Lecture 10A [MUSIC PLAYING] PROFESSOR: Last time, we took a look at an explicit control evaluator for Lisp, and that bridged the gap between all these high-level languages like Lisp and the query

More information

TSBK03 Screen-Space Ambient Occlusion

TSBK03 Screen-Space Ambient Occlusion TSBK03 Screen-Space Ambient Occlusion Joakim Gebart, Jimmy Liikala December 15, 2013 Contents 1 Abstract 1 2 History 2 2.1 Crysis method..................................... 2 3 Chosen method 2 3.1 Algorithm

More information

Texturing Theory. Overview. All it takes is for the rendered image to look right. -Jim Blinn 11/10/2018

Texturing Theory. Overview. All it takes is for the rendered image to look right. -Jim Blinn 11/10/2018 References: Real-Time Rendering 3 rd Edition Chapter 6 Texturing Theory All it takes is for the rendered image to look right. -Jim Blinn Overview Introduction The Texturing Pipeline Example The Projector

More information

FAQ - Podium v1.4 by Jim Allen

FAQ - Podium v1.4 by Jim Allen FAQ - Podium v1.4 by Jim Allen Podium is the only plug-in to run natively within SketchUp, and the only one to have a true 'one click' photorealistic output. Although it is about as simple as you can expect

More information

Max scene used to generate the image from the second pdf in this tutorial.

Max scene used to generate the image from the second pdf in this tutorial. Tutorial covers creating vector drawings from a 3ds max scene and methods for compositing these drawings back into a rendering. Rendering set up is based of the lighting set up from the mental ray/skylight/mr

More information

Real-Time Shadows. Last Time? Textures can Alias. Schedule. Questions? Quiz 1: Tuesday October 26 th, in class (1 week from today!

Real-Time Shadows. Last Time? Textures can Alias. Schedule. Questions? Quiz 1: Tuesday October 26 th, in class (1 week from today! Last Time? Real-Time Shadows Perspective-Correct Interpolation Texture Coordinates Procedural Solid Textures Other Mapping Bump Displacement Environment Lighting Textures can Alias Aliasing is the under-sampling

More information

NVIDIA Developer Toolkit. March 2005

NVIDIA Developer Toolkit. March 2005 NVIDIA Developer Toolkit March 2005 1 Why Do We Do This? Investing in Developers Worldwide Powerful tools for building games Performance Analysis Content Creation Software Development Practical SDK with

More information

Skin Texturing and Shading in Maya Part 2

Skin Texturing and Shading in Maya Part 2 Skin Texturing and Shading in Maya Part 2 In part 1, I gave an overview of Mental Ray's skin shader. In this chapter, I'll be discussing some of the techniques I've used to make texture maps in the past.

More information

Modeling a Gear Standard Tools, Surface Tools Solid Tool View, Trackball, Show-Hide Snaps Window 1-1

Modeling a Gear Standard Tools, Surface Tools Solid Tool View, Trackball, Show-Hide Snaps Window 1-1 Modeling a Gear This tutorial describes how to create a toothed gear. It combines using wireframe, solid, and surface modeling together to create a part. The model was created in standard units. To begin,

More information

Actions and Graphs in Blender - Week 8

Actions and Graphs in Blender - Week 8 Actions and Graphs in Blender - Week 8 Sculpt Tool Sculpting tools in Blender are very easy to use and they will help you create interesting effects and model characters when working with animation and

More information

Tutorial 4: Texture Mapping Techniques

Tutorial 4: Texture Mapping Techniques Tutorial 4: Texture Mapping Techniques Completion time 40 minutes In the previous tutorial we learned how to create materials, and how to assign texture maps to those materials. In this tutorial we will

More information

Last Time. Why are Shadows Important? Today. Graphics Pipeline. Clipping. Rasterization. Why are Shadows Important?

Last Time. Why are Shadows Important? Today. Graphics Pipeline. Clipping. Rasterization. Why are Shadows Important? Last Time Modeling Transformations Illumination (Shading) Real-Time Shadows Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Graphics Pipeline Clipping Rasterization

More information

LEVEL 1 ANIMATION ACADEMY2010

LEVEL 1 ANIMATION ACADEMY2010 1 Textures add more realism to an environment and characters. There are many 2D painting programs that can be used to create textures, such as Adobe Photoshop and Corel Painter. Many artists use photographs

More information

Full Screen Layout. Main Menu Property-specific Options. Object Tools ( t ) Outliner. Object Properties ( n ) Properties Buttons

Full Screen Layout. Main Menu Property-specific Options. Object Tools ( t ) Outliner. Object Properties ( n ) Properties Buttons Object Tools ( t ) Full Screen Layout Main Menu Property-specific Options Object Properties ( n ) Properties Buttons Outliner 1 Animation Controls The Create and Add Menus 2 The Coordinate and Viewing

More information

An Approach to Content Creation for Trainz

An Approach to Content Creation for Trainz An Approach to Content Creation for Trainz Paul Hobbs Part 6 GMax Basics (Updates and sample files available from http://www.44090digitalmodels.de) Page 1 of 18 Version 3 Index Foreward... 3 The Interface...

More information

Volume Shadows Tutorial Nuclear / the Lab

Volume Shadows Tutorial Nuclear / the Lab Volume Shadows Tutorial Nuclear / the Lab Introduction As you probably know the most popular rendering technique, when speed is more important than quality (i.e. realtime rendering), is polygon rasterization.

More information

Real-Time Shadows. Last Time? Today. Why are Shadows Important? Shadows as a Depth Cue. For Intuition about Scene Lighting

Real-Time Shadows. Last Time? Today. Why are Shadows Important? Shadows as a Depth Cue. For Intuition about Scene Lighting Last Time? Real-Time Shadows Today Why are Shadows Important? Shadows & Soft Shadows in Ray Tracing Planar Shadows Projective Texture Shadows Shadow Maps Shadow Volumes Why are Shadows Important? Depth

More information

What's the Slope of a Line?

What's the Slope of a Line? What's the Slope of a Line? These lines look pretty different, don't they? Lines are used to keep track of lots of info -- like how much money a company makes. Just off the top of your head, which of the

More information

Shadow Techniques. Sim Dietrich NVIDIA Corporation

Shadow Techniques. Sim Dietrich NVIDIA Corporation Shadow Techniques Sim Dietrich NVIDIA Corporation sim.dietrich@nvidia.com Lighting & Shadows The shadowing solution you choose can greatly influence the engine decisions you make This talk will outline

More information

Chris' Makefile Tutorial

Chris' Makefile Tutorial Chris' Makefile Tutorial Chris Serson University of Victoria June 26, 2007 Contents: Chapter Page Introduction 2 1 The most basic of Makefiles 3 2 Syntax so far 5 3 Making Makefiles Modular 7 4 Multi-file

More information

Arduino IDE Friday, 26 October 2018

Arduino IDE Friday, 26 October 2018 Arduino IDE Friday, 26 October 2018 12:38 PM Looking Under The Hood Of The Arduino IDE FIND THE ARDUINO IDE DOWNLOAD First, jump on the internet with your favorite browser, and navigate to www.arduino.cc.

More information

Rendering and Radiosity. Introduction to Design Media Lecture 4 John Lee

Rendering and Radiosity. Introduction to Design Media Lecture 4 John Lee Rendering and Radiosity Introduction to Design Media Lecture 4 John Lee Overview Rendering is the process that creates an image from a model How is it done? How has it been developed? What are the issues

More information

For Intuition about Scene Lighting. Today. Limitations of Planar Shadows. Cast Shadows on Planar Surfaces. Shadow/View Duality.

For Intuition about Scene Lighting. Today. Limitations of Planar Shadows. Cast Shadows on Planar Surfaces. Shadow/View Duality. Last Time Modeling Transformations Illumination (Shading) Real-Time Shadows Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Graphics Pipeline Clipping Rasterization

More information

--APOPHYSIS INSTALLATION AND BASIC USE TUTORIAL--

--APOPHYSIS INSTALLATION AND BASIC USE TUTORIAL-- --APOPHYSIS INSTALLATION AND BASIC USE TUTORIAL-- Table of Contents INSTALLATION... 3 SECTION ONE - INSTALLATION... 3 SIDE LESSON - INSTALLING PLUG-INS... 4 APOPHYSIS, THE BASICS... 6 THE TRANSFORM EDITOR...

More information

Chapter 23- UV Texture Mapping

Chapter 23- UV Texture Mapping Chapter 23- UV Texture Mapping Since games need to be able to process operations as fast as possible, traditional rendering techniques (specular, ray tracing reflections and refractions) cannot typically

More information

Real-Time Shadows. Last Time? Schedule. Questions? Today. Why are Shadows Important?

Real-Time Shadows. Last Time? Schedule. Questions? Today. Why are Shadows Important? Last Time? Real-Time Shadows The graphics pipeline Clipping & rasterization of polygons Visibility the depth buffer (z-buffer) Schedule Questions? Quiz 2: Thursday November 2 th, in class (two weeks from

More information

5 Subdivision Surfaces

5 Subdivision Surfaces 5 Subdivision Surfaces In Maya, subdivision surfaces possess characteristics of both polygon and NURBS surface types. This hybrid surface type offers some features not offered by the other surface types.

More information

Rendering 17 Mixed Lighting

Rendering 17 Mixed Lighting Catlike Coding Unity C# Tutorials Rendering 17 Mixed Lighting Bake only indirect light. Mix baked and realtime shadows. Deal with code changes and bugs. Support subtractive lighting. This is part 17 of

More information

Atmospheric Reentry Geometry Shader

Atmospheric Reentry Geometry Shader Atmospheric Reentry Geometry Shader Robert Lindner Introduction In order to simulate the effect of an object be it an asteroid, UFO or spacecraft entering the atmosphere of a planet, I created a geometry

More information

Shadows in the graphics pipeline

Shadows in the graphics pipeline Shadows in the graphics pipeline Steve Marschner Cornell University CS 569 Spring 2008, 19 February There are a number of visual cues that help let the viewer know about the 3D relationships between objects

More information

Last Time. Reading for Today: Graphics Pipeline. Clipping. Rasterization

Last Time. Reading for Today: Graphics Pipeline. Clipping. Rasterization Last Time Modeling Transformations Illumination (Shading) Real-Time Shadows Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Scan Conversion (Rasterization) Visibility

More information

SketchUp Tool Basics

SketchUp Tool Basics SketchUp Tool Basics Open SketchUp Click the Start Button Click All Programs Open SketchUp Scroll Down to the SketchUp 2013 folder Click on the folder to open. Click on SketchUp. Set Up SketchUp (look

More information

Could you make the XNA functions yourself?

Could you make the XNA functions yourself? 1 Could you make the XNA functions yourself? For the second and especially the third assignment, you need to globally understand what s going on inside the graphics hardware. You will write shaders, which

More information

How to Use a Push Modifier: Creating a Blanket and Adjusting Clothing Fit

How to Use a Push Modifier: Creating a Blanket and Adjusting Clothing Fit How to Use a Push Modifier: Creating a Blanket and Adjusting Clothing Fit Copyright 2017 by Rich Schafermeyer (RGcincy on Daz Forums) This is a tutorial on using a push modifier so that a primitive plane

More information

Porsche 91 1GT D m o d e ling tutorial - by Nim

Porsche 91 1GT D m o d e ling tutorial - by Nim orsche 911GT 3D modeling tutorial - by Nimish In this tutorial you will learn to model a car using Spline modeling method. This method is not very much famous as it requires considerable amount of skill

More information

Photoshop Tutorial: Basic Selections

Photoshop Tutorial: Basic Selections Photoshop Tutorial: Basic Selections Written by Steve Patterson, Edited by Mr. Nickel In this Photoshop tutorial, we're going to look at how to get the most out of Photoshop's basic selection tools, such

More information

Research Method: I plan to research existing literature on the subject and conducting tests in the lab.

Research Method: I plan to research existing literature on the subject and conducting tests in the lab. Personal Inquiry Proposal. Name: James Morgan Course: MA3D Animation Subject: Creating simple muscle solutions for game and animation in XSI. Brief Explanation: I plan to investigate a practical and simple

More information

Create a Rubber Duck. This tutorial shows you how to. Create simple surfaces. Rebuild a surface. Edit surface control points. Draw and project curves

Create a Rubber Duck. This tutorial shows you how to. Create simple surfaces. Rebuild a surface. Edit surface control points. Draw and project curves Page 1 of 24 Create a Rubber Duck This exercise focuses on the free form, squishy aspect. Unlike the flashlight model, the exact size and placement of the objects is not critical. The overall form is the

More information

Crack-Free Tessellation Displacement

Crack-Free Tessellation Displacement Documentation Crack-Free Tessellation Displacement (CFTD) version: 1.6 package link: http://u3d.as/n5k support: assetstore -(at)- pandishpan.com Thank you for purchasing CFTD! 1 Table of Contents CFTD

More information

Dominic Filion, Senior Engineer Blizzard Entertainment. Rob McNaughton, Lead Technical Artist Blizzard Entertainment

Dominic Filion, Senior Engineer Blizzard Entertainment. Rob McNaughton, Lead Technical Artist Blizzard Entertainment Dominic Filion, Senior Engineer Blizzard Entertainment Rob McNaughton, Lead Technical Artist Blizzard Entertainment Screen-space techniques Deferred rendering Screen-space ambient occlusion Depth of Field

More information

Lesson 01 Polygon Basics 17. Lesson 02 Modeling a Body 27. Lesson 03 Modeling a Head 63. Lesson 04 Polygon Texturing 87. Lesson 05 NURBS Basics 117

Lesson 01 Polygon Basics 17. Lesson 02 Modeling a Body 27. Lesson 03 Modeling a Head 63. Lesson 04 Polygon Texturing 87. Lesson 05 NURBS Basics 117 Table of Contents Project 01 Lesson 01 Polygon Basics 17 Lesson 02 Modeling a Body 27 Lesson 03 Modeling a Head 63 Lesson 04 Polygon Texturing 87 Project 02 Lesson 05 NURBS Basics 117 Lesson 06 Modeling

More information

MAKING OF BY BRUNO HAMZAGIC SOFTWARE USED: MAYA AND ZBRUSH

MAKING OF BY BRUNO HAMZAGIC SOFTWARE USED: MAYA AND ZBRUSH MAKING OF BY BRUNO HAMZAGIC SOFTWARE USED: MAYA AND ZBRUSH This month s Making of shows us the creation of this amazing image that gave Bruno Hamzagic the opportunity to mix two of his passions 3D artwork

More information

Ambient Occlusion Pass

Ambient Occlusion Pass Ambient Occlusion Pass (Soft Shadows in the Nooks and Crannies to Replicate Photorealistic Lighting) In this tutorial we are going to go over some advanced lighting techniques for an Ambient Occlusion

More information

COS 116 The Computational Universe Laboratory 10: Computer Graphics

COS 116 The Computational Universe Laboratory 10: Computer Graphics COS 116 The Computational Universe Laboratory 10: Computer Graphics As mentioned in lecture, computer graphics has four major parts: imaging, rendering, modeling, and animation. In this lab you will learn

More information

Sliding and Rotating Objects. Appendix 1: Author s Notes

Sliding and Rotating Objects. Appendix 1: Author s Notes AnimationWorks User Guide AnimationWORKS Introduction Camera Paths Cameras Moving Objects Moving Object Paths Sliding and Rotating Objects Light Objects Class Visibility Objects Transparency Objects Appendix

More information

10 Connector Designer

10 Connector Designer PRELIMINARY Connector Designer 10-1 10 Connector Designer About this Section In this section you will learn how to create your own custom connectors and edit them using the optional software connector

More information

Initial Alpha Test Documentation and Tutorial

Initial Alpha Test Documentation and Tutorial Synfig Studio Initial Alpha Test Documentation and Tutorial About the user interface When you start Synfig Studio, it will display a splash graphic and boot itself up. After it finishes loading, you should

More information

O Hailey: Chapter 3 Bonus Materials

O Hailey: Chapter 3 Bonus Materials O Hailey: Chapter 3 Bonus Materials Maya s Toon Line For those familiar with toon lines in Maya, you may skip ahead past this section. Those not familiar might find it useful to understand the basics of

More information

Lesson 11. Polygonal Spaceship

Lesson 11. Polygonal Spaceship 11 Polygonal Spaceship In this lesson, you will build and texture map a polygonal spaceship. Starting with a polygonal cube, you will extrude facets until you have a completed ship. You will then be able

More information

Linked Lists. What is a Linked List?

Linked Lists. What is a Linked List? Linked Lists Along with arrays, linked lists form the basis for pretty much every other data stucture out there. This makes learning and understand linked lists very important. They are also usually the

More information

Import / Object modes: 5 Layers for organising your scene are available at the top of the screen.

Import / Object modes: 5 Layers for organising your scene are available at the top of the screen. LUMION 1 VS LUMION 2 SCENES - In Lumion 2, the sky, clouds, fog, material settings, ambient shadows and reflections have been overhauled, so don't expect your Lumion 1 scenes to look identical when you

More information

AGDC Per-Pixel Shading. Sim Dietrich

AGDC Per-Pixel Shading. Sim Dietrich AGDC Per-Pixel Shading Sim Dietrich Goal Of This Talk The new features of Dx8 and the next generation of HW make huge strides in the area of Per-Pixel Shading Most developers have yet to adopt Per-Pixel

More information

Azon Master Class. By Ryan Stevenson Guidebook #5 WordPress Usage

Azon Master Class. By Ryan Stevenson   Guidebook #5 WordPress Usage Azon Master Class By Ryan Stevenson https://ryanstevensonplugins.com/ Guidebook #5 WordPress Usage Table of Contents 1. Widget Setup & Usage 2. WordPress Menu System 3. Categories, Posts & Tags 4. WordPress

More information

Platformer Tutorial 8 - Adding Mr.Green and Character Animation. Last month. Character FX

Platformer Tutorial 8 - Adding Mr.Green and Character Animation. Last month. Character FX Last month Things became a lot more dangerous as traps and deadly particles were added. It just wouldn t be the same without Mr.Green so he s making his debut this month. As this has always been the plan,

More information

You can select polygons that use per-poly UVs by choosing the Select by Polymap command ( View > Selection > Maps > Select by Polygon Map).

You can select polygons that use per-poly UVs by choosing the Select by Polymap command ( View > Selection > Maps > Select by Polygon Map). UV Texture What is UV Mapping? Sometimes, when mapping textures onto objects, you will find that the normal projection mapping just doesn t work. This usually happens when the object is organic, or irregular

More information

3D Programming. 3D Programming Concepts. Outline. 3D Concepts. 3D Concepts -- Coordinate Systems. 3D Concepts Displaying 3D Models

3D Programming. 3D Programming Concepts. Outline. 3D Concepts. 3D Concepts -- Coordinate Systems. 3D Concepts Displaying 3D Models 3D Programming Concepts Outline 3D Concepts Displaying 3D Models 3D Programming CS 4390 3D Computer 1 2 3D Concepts 3D Model is a 3D simulation of an object. Coordinate Systems 3D Models 3D Shapes 3D Concepts

More information

COS 116 The Computational Universe Laboratory 10: Computer Graphics

COS 116 The Computational Universe Laboratory 10: Computer Graphics COS 116 The Computational Universe Laboratory 10: Computer Graphics As mentioned in lecture, computer graphics has four major parts: imaging, rendering, modeling, and animation. In this lab you will learn

More information

Editing Polygons. Adding material/volume: Extrude. Learning objectives

Editing Polygons. Adding material/volume: Extrude. Learning objectives Learning objectives Be able to: use the Extrude tool to add volume to a polygon know what edge loops are and how to insert edge loops in a polygon cut edges in a polygon know multiple methods of sewing

More information

PATTERN MAKING FOR THE PHOENIX HOOP

PATTERN MAKING FOR THE PHOENIX HOOP PATTERN MAKING FOR THE PHOENIX HOOP This tutorial will walk you through making the most basic of pattern for the Phoenix Hoop and try to explain how the hoop interprets them. If you get confused, don t

More information

Shadow Casting in World Builder. A step to step tutorial on how to reach decent results on the creation of shadows

Shadow Casting in World Builder. A step to step tutorial on how to reach decent results on the creation of shadows Shadow Casting in World Builder A step to step tutorial on how to reach decent results on the creation of shadows Tutorial on shadow casting in World Builder 3.* Introduction Creating decent shadows in

More information

Draw Guide. Chapter 7 Working with 3D Objects

Draw Guide. Chapter 7 Working with 3D Objects Draw Guide Chapter 7 Working with 3D Objects Copyright This document is Copyright 2011 2014 by the LibreOffice Documentation Team. Contributors are listed below. You may distribute or modify it under the

More information

MITOCW watch?v=w_-sx4vr53m

MITOCW watch?v=w_-sx4vr53m MITOCW watch?v=w_-sx4vr53m The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high-quality educational resources for free. To

More information

Physically-Based Laser Simulation

Physically-Based Laser Simulation Physically-Based Laser Simulation Greg Reshko Carnegie Mellon University reshko@cs.cmu.edu Dave Mowatt Carnegie Mellon University dmowatt@andrew.cmu.edu Abstract In this paper, we describe our work on

More information

UV Mapping tips and tricks Discussion. Author Name: Renier Johannes Banninga Contact Information:

UV Mapping tips and tricks Discussion. Author Name: Renier Johannes Banninga Contact Information: UV Mapping tips and tricks Discussion. Author Name: Renier Johannes Banninga Contact Information: renierb@streamline-studios.com The movie and game industry has come along in giant leaps and bounds over

More information

Real-Time Shadows. MIT EECS 6.837, Durand and Cutler

Real-Time Shadows. MIT EECS 6.837, Durand and Cutler Real-Time Shadows Last Time? The graphics pipeline Clipping & rasterization of polygons Visibility the depth buffer (z-buffer) Schedule Quiz 2: Thursday November 20 th, in class (two weeks from Thursday)

More information

Making Your First Character

Making Your First Character Create a new canvas on Photoshop (File > New) and set this to 32 x 32 pixels select a transparent background. Remember to set up your preferences under Edit > Preferences > Guides, Grid & Slices Also remember

More information