Filters Overviews and Tutorials

This section contains overviews and tutorials for Microsoft DirectX Transform filters.

Getting Started

How Transforms Work

In a general sense, each transform is a set of rules for how to produce one graphic output.

What is DirectX Transform?

Microsoft DirectX Transform is a Microsoft DirectX media API you can use to create, animate, and edit digital images. Microsoft DirectX Transform works with 2-D images, which can be used to create stand-alone Windows applications or dynamic plug-ins for Web graphics.



About Procedural Surfaces

The Microsoft DirectX Transform architecture enables you to write procedural surfaces. These DXSurfaces are not stored as an array of samples, but instead as a set of instructions that specify how to render a surface of arbitrary size and resolution. Procedural surfaces take up a fraction of the memory used to store bitmap images, and they can produce realistic marble and wood textures. The resulting surfaces can be used as background images.

About Transforms and DXSurfaces

Microsoft DirectX Transform objects apply space and time effects to Microsoft DirectDraw objects. Microsoft DirectX Transform objects read data from a source, modify it, and write it to a destination object. In certain cases the source and destination data objects can be the same if the transform is capable of executing in place. Microsoft DirectX Transform exposes a number of Component Object Model (COM) interfaces and data types that enable you to create your own unique effects and plug them into the existing architecture.


In order to properly use Microsoft DirectX Transform objects and interfaces, it is important to know what they are and how they all relate to one another.

Author's Guide to Transforms

This article should be considered required reading for transform authors. It contains important information that you need in order for your transform to function correctly under Microsoft DirectX Transform containers. It also includes conventions and tips that are useful for writing transforms.

Building DirectX Transform Samples and Applications

This overview explains the download and installation procedures necessary to prepare your build environment to build the samples and applications described in the Microsoft DirectX Transform documentation.

CDXMMXInfo Constructor

This constructor is used to to determine whether MMX instructions are present.

Copyright Information

Microsoft DirectX Transform provides a way for you to secure the transforms you write so that only registered users can legally use your copyrighted transforms with their content. You can easily implement this, and it provides you with legal recourse for copyright violations.

DirectX Transform C++ Samples

Several sample applications are provided to demonstrate the various features of transforms.

DXETool for Transform Users

The Microsoft DirectX Transform documentation includes an application called DXETool.exe, which helps you verify that your transforms work properly within the Microsoft DirectX Transform architecture. You can also use this application to view transform output and determine settings for the custom properties.

DXETool for Transform Writers

The DXETool application is a useful tool in the transform writing process. This overview provides instructions for setting-up and using DXETool.

Example: The Wipe Transform

This topic walks you through the Wipe transform sample code. This transform uses custom helper functions and elements common to all DLL files that use Microsoft DirectX Transform routines.

Example: The WipeDlg Application

Microsoft DirectX Transform provides you with powerful tools for manipulating 2-D image data. With Microsoft DirectX Transform, you can perform operations on a single image—for example, the MotionBlur or BasicImage transform—or combine two images to form a single output image—for example, the Iris or Wheel transform.

Getting Started

This overview provides a starting point for readers new to Microsoft DirectX Transform.

How to Implement Procedural Surfaces

This tutorial describes the process of implementing procedural surfaces with Microsoft Visual Studio.

Implementation Guide

This overview provides a procedure for building an image transform DLL using Microsoft Visual C++ and the Microsoft DirectX Transform interfaces.

Supported Pixel Formats

One of the most useful capabilities of Microsoft DirectX Transform is that it enables you to import and export graphics data in a number of standard pixel formats.

Understanding DXSurfaces

A DirectX surface object, DXSurface, is an abstract image whose pixel data is obtainable in 32-bit ARGB color format, regardless of the underlying pixel representation. Microsoft DirectX Transform uses this data object for both input and output images. The DXSurface enables you to concentrate on the logical aspects of designing the transform, while letting the supporting software take care of numerous details, such as alpha blending, dithering, and converting among different pixel formats.

Using the CDXBaseNTo1 Base Class

CDXBaseNTo1 is a base class that you can use to implement transforms that take multiple images as inputs and produce a single image. If you choose not to use this base class, you can create a transform by directly implementing the IDXTransform interface, the IObjectWithSite COM interface, and, if you are using an image transform, the IDXSurfacePick interface. However, you will find it easier to use this base class because it performs parameter validation, preprocesses data, and implements the full IDXTransform interface. This simplifies development by only requiring implementation of the code specific to the transform.

Using Transforms

This overview suggests further reading regarding how to use a Microsoft DirectX Transform in a Windows application.

Using Transforms in C++

To use a transform in a C++ application, you must be familiar with a few key interfaces, methods, and objects. This section describes how to use an existing transform in a C++ application.

Writing Transforms

Microsoft DirectX Transform enables you to produce effects on images. The API provides sophisticated graphics tools for modifying and combining images. These tools include scaling, dithering, compositing, alpha blending, image filtering, and many others. You can use transforms in your own image-based applications.