Anti-aliasing filter plug-in are used for filtering and anti-aliasing an image
Anti Aliasing Filters - \samples\render\aaFilters
Implements numerous anti-aliasing filters.
Cube-map Vertex Shader - \samples\hardwareshaders\CubeMap
Light Map Shader - \samples\hardwareshaders\LightMap
Metal Bump Selector - \samples\hardwareshaders\mb_select
A DirectX shader plug-in.
Metal Bump Shader - \samples\hardwareshaders\MetalBump
A DirectX shader plug-in.
Viewport Manager - \samples\hardwareshaders\ViewportManager
How-to Samples:
SineWave XTC Modifier - \howto\hwardwareshaders\SineWave
Sample shader - \howto\hardwareshaders\SampleShaderplug-in
A simple shader plug-in.
Image filter (also called post-filter) plug-ins alter images in the video post data stream. Filters can operate on a single image or can combine two images together to create a new composite image. Also see the section on Working with Bitmaps and the class ImageFilter
.
Image Alpha Filter - \samples\postfilters\alpha
Replaces the image's alpha channel with the channel specified by the filter mask.
Negative Filter - \samples\postfilters\negative
Inverts the colors in the scene, making it negative like a negative color photograph.
Add Filter - \samples\postfilters\add
Combines two image filters.
Fade Filter - \samples\postfilters\fade
The Fade filter fades an image in or out over time. The rate of the fade is determined by the length of the Fade filter's time range.
Starfield Filter - \samples\postfilters\starfield
Generates a realistic starfield with optional motion blur. The Starfield Filter requires a camera view. Any motion of the stars is a result of camera motion.
Simple Wipe Filter - \samples\postfilters\wipe
The Simple Wipe filter reveals or erases the foreground image with a wipe transition. Unlike the Wipe Layer compositor, Wipe Filter wipes across a fixed image.
How-to Samples
The following how-to samples demonstrate utilties for working with the network rendering system.
Job Assign - \howto\NetRender\JobAssign
A command line executable that demonstrates assigning jobs for netrendering.
List Jobs - \howto\NetRender\ListJobs
A command line executable that demonstrates listing netrendered jobs.
Network Manager Notification Program - \howto\utilities\notify
The Notify sample is used simply as a demonstration. It plays a different wave file for each of the event types. If invoked with no command line, it brings up a dialog box asking the user to define each of the three wave files. The dialog has "Browse" buttons next to each wave file field that puts the user right into the Windows' "Media" directory where wave files are saved. There are also "play" buttons next to each sound for testing.
The notify.exe program in the 3ds Max folder is invoked by the network manager to handle network progress notifications. A developer can write another "notify" program to perform any proprietary type of notifications. Note that "notify" can be either a native code executable (.exe) or a Windows script (.bat). This allows a user to create a simple script without having to resort to create a native a stand-alone program.
A renderer plug-in derives from the class Render
.
How-to Samples
Simple Renderer - \howto\render\CJRender
Implements a fully functioning simple renderer. (Note. In order to open the dialogs in the resource editor, you must first make sure that buildver.h is set in the right directory relative to your project directory. Open up the resource file in a text editor, and in the top of the page, you will see a path to buildver.h that needs to be in place)
Render elements allow renderers to output to separate bitmaps portions of the final shaded image so that they can be manipulated/composited at a later time, without re-rendering.
A rendering effect is a post-rendering image-processing effect. This kind of plug-in appears under the Rendering menu and displays the Rendering Effects dialog. This lets the user apply image processing without using Video Post, and has the added advantage of allowing animated parameters and references to scene objects. Most rendering effects derive from the Effect
class.
Blur - \samples\render\rendereffects\blur
The Blur effect allows the user to blur your image in three different methods: Uniform, Directional, and Radial.
Brightness And Contrast - \samples\render\rendereffects\brightcon
Allows the user to adjust the contrast and brightness of an image. This can be used to match rendered scene objects with background images or animations.
File Output - \samples\render\rendereffects\fileout
The file output rendering effect allows you to take a snapshot"of a rendering before some or all of the other render effects are applied, depending on the placement of file output in the render effects stack. You can save different channels such as luminance, depth, or alpha to a separate file while rendering an animation
Film Grain - \samples\render\rendereffects\filmgrain
Film Grain is used to recreate the look of film grain in a rendered scene. When applied, Film Grain automatically randomizes to create the look of moving frames.
How-to Samples
A sampler is a plug-in that determines where inside a single pixel the shading and texture samples are computed. The user interface of samplers appears in the SuperSampling rollout in the Sampler drop-down. The core class for a sampler plug-in is Sampler
.
Samplers - \samples\render\samplers
Various standard sampler plug-ins.
The shader is the piece of code which controls how light is reflected off the surface. Every material has a shader, it handles all the texturing for the material and manages the user interface. A shader plug-in should derive from Shader
instead of BaseShader
otherwise the interactive renderer won't know how to render the shader in the viewports.
Blinn Shader - \samples\materials\stdmtl.cpp
Has the same features as the Phong shader, but its mathematics are more accurate. This is the default shader for standard materials.
Strauss Shader - \samples\materials\shaders\shaderstrauss.cpp
For modeling metallic surfaces. It uses a simpler model and has a simpler interface than the Metal shader.
Anisotropic - \samples\materials\shaders\shaderaniso.cpp
Used for brushed metal or hair. Creates a highlight that is stretched and angled, rather than the standard circular highlight.
Translucent - \samples\materials\shaders\shadertranslucent.cpp
Similar to Blinn shading, but it also lets you specify translucency. A translucent object allows light to pass through, and also scatters light within the object. You can use translucency to simulate frosted and etched glass
Oren-Nayar Shader - \samples\materials\shaders\shaderonb.cpp
An adaptation of the Blinn shader. It gives objects a porous, non-plastic appearance, and is suitable for surfaces like skin.
Phong Shader - \samples\materials\shaders\stdmtl.cpp
A classic shading method that was the first to enable specular highlights. Suitable for plastic surfaces.