[]
Builtin DistantDiffuse effect.
public class DistantDiffuse : Effect, IDisposable, IUnknown
Initializes a new instance of the DistantDiffuse class.
public DistantDiffuse(IntPtr nativePtr)
nativePtr
System.IntPtrThe native pointer.
The direction angle of the light source in the XY plane relative to the X-axis in the counter clock wise direction. The units are in degrees and must be between 0 and 360 degrees.
public float Azimuth { get; set; }
The color of the incoming light. This property is exposed as a Vector3 – (R, G, B) and used to compute LR, LG, LB.
public Vector3 Color { get; set; }
The ratio of diffuse reflection to amount of incoming light. This property must be between 0 and 10,000 and is unitless.
public float DiffuseConstant { get; set; }
The direction angle of the light source in the YZ plane relative to the Y-axis in the counter clock wise direction. The units are in degrees and must be between 0 and 360 degrees.
public float Elevation { get; set; }
The size of an element in the Sobel kernel used to generate the surface normal in the X and Y direction. This property maps to the dx and dy values in the Sobel gradient. This property is a Vector2 (Kernel Unit Length X, Kernel Unit Length Y) and is defined in (device-independent pixels (DIPs)/Kernel Unit). The effect uses bilinear interpolation to scale the bitmap to match size of kernel elements.
public Vector2 KernelUnitLength { get; set; }
The interpolation mode the effect uses to scale the image to the corresponding kernel unit length. There are six scale modes that range in quality and speed. If you don't select a mode, the effect uses the interpolation mode of the device context. See Scale modes for more info.
public DistantDiffuseScaleMode ScaleMode { get; set; }
The scale factor in the Z direction. The value is unitless and must be between 0 and 10,000.
public float SurfaceScale { get; set; }
Initializes a new instance of DistantDiffuse effect.
public static DistantDiffuse Create(DeviceContext context)
context
DeviceContext