20/08: DDNA DEFINITIONS
Subject: Definitions
This is a multimedia encyclopedia of terminology used in the digital art industry, created by leaders in the field. If you are a member and have access to post in this page we encourage you to do so.
HTML is enabled throughout this site so if you're trying to import an image or a video simply insert the IMG SRC, OBJECT and EMBED tags where needed.
HTML is enabled throughout this site so if you're trying to import an image or a video simply insert the IMG SRC, OBJECT and EMBED tags where needed.
05/11: MIP Mapping
MIP Mapping is a technique used in 3D graphics to help minimize aliasing on monitors. It works by creating multiple copies of each texture in the scene at various resolutions in -0.25 increments. For example: A texture that is 512x512 pixels will get resized as follows: 512x512 > 256x256 > 128x128 > 64x64 > 32x32 > 16x16 > 8x8 > 4x4. Depending on the type of compression used, the smallest MIP may be 1x1 pixels or 4x4. It's important to note that the resizing is always proportional to the original, so if the starting texture was rectangular (256x128), its neighboring MIP map would be 128x64, and so on and so forth.
(image needed)
To maximize efficiency, some engines will do this automatically and fit all of the MIPs in one texture page. Consequently, a texture that was once 512x512 will (once mipped) inherit a canvas size of 1024x1024, giving the engine enough space to fit all of the subsequent MIPs in one file. This of course makes for wasted space, but reduces the number of textures that need to be loaded/called.
(image needed)
Another related term is MIP LOD Bias which is a value that can be adjusted to postpone the display of the first and all subsequent MIPs. Before explaining this further, we need to understand that each MIP has a number: The original unaltered texture is called MIP 0 (zero). Then the first MIP that's reduced in size is called MIP 1 (one) and so on and so forth.
(image needed)
The MIP LOD Bias is an integer that allows you to adjust the distance at which MIP 1,2,3,4,etc show up. For example, if you've created a texture for a wall that is 1024 pixels wide and your screen display is also 1024 pixels wide, then MIP 0 (zero) will only be displayed when the wall is as large as your screen or larger. But as soon as the camera moves away from the wall and the wall becomes smaller than the screen, MIP 1 (one) will be displayed as your wall texture. This means that instead of the wall texture being 1024 pixels wide, it will be 512 pixels wide, even if the wall is just one pixel smaller than your screen. Unfortunately, if you're using a bilinear interpolation between MIPS (meaning that they pop on and off from one to the next) you'll usually notice a drastic change. Adjusting the MIP LOD Bias is one way of working around this. By setting the MIP LOD Bias to -1 (negative one), you've in effect extended the display life of MIP 0.
Here's a comparison to help explain the concept:
MIP LOD Bias of "0" (zero)
0,1,2,3,4,5,...
MIP LOD Bias of "-1" (negative one)
0,0,2,3,4,5,...
MIP LOD Bias of "-2" (negative two)
0,0,0,2,3,4,5,...
Notice how the display life of MIP zero becomes extended every time you decrease the MIP LOD Bias.
The more you extend the life of MIP 0 (zero) the greater are your chances of seeing aliasing on the screen and also slowing down the framerate of your application.
(image needed)
To maximize efficiency, some engines will do this automatically and fit all of the MIPs in one texture page. Consequently, a texture that was once 512x512 will (once mipped) inherit a canvas size of 1024x1024, giving the engine enough space to fit all of the subsequent MIPs in one file. This of course makes for wasted space, but reduces the number of textures that need to be loaded/called.
(image needed)
Another related term is MIP LOD Bias which is a value that can be adjusted to postpone the display of the first and all subsequent MIPs. Before explaining this further, we need to understand that each MIP has a number: The original unaltered texture is called MIP 0 (zero). Then the first MIP that's reduced in size is called MIP 1 (one) and so on and so forth.
(image needed)
The MIP LOD Bias is an integer that allows you to adjust the distance at which MIP 1,2,3,4,etc show up. For example, if you've created a texture for a wall that is 1024 pixels wide and your screen display is also 1024 pixels wide, then MIP 0 (zero) will only be displayed when the wall is as large as your screen or larger. But as soon as the camera moves away from the wall and the wall becomes smaller than the screen, MIP 1 (one) will be displayed as your wall texture. This means that instead of the wall texture being 1024 pixels wide, it will be 512 pixels wide, even if the wall is just one pixel smaller than your screen. Unfortunately, if you're using a bilinear interpolation between MIPS (meaning that they pop on and off from one to the next) you'll usually notice a drastic change. Adjusting the MIP LOD Bias is one way of working around this. By setting the MIP LOD Bias to -1 (negative one), you've in effect extended the display life of MIP 0.
Here's a comparison to help explain the concept:
MIP LOD Bias of "0" (zero)
0,1,2,3,4,5,...
MIP LOD Bias of "-1" (negative one)
0,0,2,3,4,5,...
MIP LOD Bias of "-2" (negative two)
0,0,0,2,3,4,5,...
Notice how the display life of MIP zero becomes extended every time you decrease the MIP LOD Bias.
The more you extend the life of MIP 0 (zero) the greater are your chances of seeing aliasing on the screen and also slowing down the framerate of your application.
24/08: Clipping Plane
The near and far clipping planes are properties you can change in your CG camera to determine how near and far sighted the camera is. One might wonder though, why even specify a range? Why not let the camera see infinitely far and infinitely close? The answer is: objects would not sort correctly because your video card and/or rendering software have a limited z-depth resolution or z-buffer bit depth. By specifying a near and far clipping plane you can distribute that resolution within an optimal range for the scene you are rendering.
In plain English what this means is that each camera has a depth resolution, not too unlike an image has an X & Y (horizontal and vertical) resolution. Let's say an object's depth resolution is ten units, and there are ten objects in front of your camera, each evenly distributed from near to far. If all ten are within your camera's near and far clipping planes, all objects should sort correctly. If you were to add one more object, however, and place it between any two objects, your camera won't necessarily know that this new object is any closer or further away from the objects it's in-between. Consequently, what will happen is both objects will compete to be drawn first, causing a flicker (z-fighting). In essence you can think of your z-buffer as a series of transparent layers that the camera uses to place objects in (from near to far). If there are more objects than there are layers, then those in-between objects will be forced to fit on a neighboring layer which when shared with other objects will cause them to compete with each other.
Interesting to note is that the z-buffer is designed to distribute most of its z-resolution near the camera and less so as things become more distant. This is why a common way to solve z-fighting is to increase your near clipping plane because doing so extends your resolution to objects that are further away.
And lastly, if you place an object closer than its nearest clipping plane or further than its far clipping plane, the object will simply disappear, which limits how much the camera can see and thus improves overall performance.
In plain English what this means is that each camera has a depth resolution, not too unlike an image has an X & Y (horizontal and vertical) resolution. Let's say an object's depth resolution is ten units, and there are ten objects in front of your camera, each evenly distributed from near to far. If all ten are within your camera's near and far clipping planes, all objects should sort correctly. If you were to add one more object, however, and place it between any two objects, your camera won't necessarily know that this new object is any closer or further away from the objects it's in-between. Consequently, what will happen is both objects will compete to be drawn first, causing a flicker (z-fighting). In essence you can think of your z-buffer as a series of transparent layers that the camera uses to place objects in (from near to far). If there are more objects than there are layers, then those in-between objects will be forced to fit on a neighboring layer which when shared with other objects will cause them to compete with each other.
Interesting to note is that the z-buffer is designed to distribute most of its z-resolution near the camera and less so as things become more distant. This is why a common way to solve z-fighting is to increase your near clipping plane because doing so extends your resolution to objects that are further away.
And lastly, if you place an object closer than its nearest clipping plane or further than its far clipping plane, the object will simply disappear, which limits how much the camera can see and thus improves overall performance.
20/08: LOD
LOD stands for Level of Detail or Levels of Detail (LOD's). The phrase is most commonly used to describe the process of using multiple models and/or shaders at various levels of detail that change as the subject matter gets closer or further away from the camera. For example, if the camera (representing you, the user) is very close to a video game character, the game will load the highest-detail version of that character, but when the character is far away, the game will load a simpler version of that character. This is also applicable to special effects such as glows, shadows, reflections, etc. as these may not be affordable to render at greater distances. The benefit of using LOD's is overall improvement on CPU and/or GPU performance.
Usually you wouldn't see such a dramatic LOD change in such a short distance but I've exagerated it here to help you grasp the concept.
Usually you wouldn't see such a dramatic LOD change in such a short distance but I've exagerated it here to help you grasp the concept.
20/08: DDNA DEFINITIONS
Subject: Definitions
This is a multimedia encyclopedia of terminology used in the digital art industry, created by leaders in the field. If you are a member and have access to post in this page we encourage you to do so.
HTML is enabled throughout this site so if you're trying to import an image or a video simply insert the IMG SRC, OBJECT and EMBED tags where needed.
HTML is enabled throughout this site so if you're trying to import an image or a video simply insert the IMG SRC, OBJECT and EMBED tags where needed.