diff --git a/Build/SlimDX.dll b/Build/SlimDX.dll index f0e8fe1a..15727f7c 100644 Binary files a/Build/SlimDX.dll and b/Build/SlimDX.dll differ diff --git a/Build/SlimDX.xml b/Build/SlimDX.xml index f11c7043..879adf1b 100644 --- a/Build/SlimDX.xml +++ b/Build/SlimDX.xml @@ -4,6 +4,540 @@ "SlimDX" + + Implements line drawing using textured triangles. + ID3DXLine + + + +Determines whether the specified Object instances are considered equal. + + + + + true if is the same instance as or +if both are null references or if objA.Equals(objB) returns true; otherwise, false. + + + +Returns a value that indicates whether the current instance is equal to the specified object. + + Object to make the comparison with. + + true if the current instance is equal to the specified object; false otherwise. + + + +Returns a value that indicates whether the current instance is equal to a specified object. + + Object to make the comparison with. + + true if the current instance is equal to the specified object; false otherwise. + + + +Gets the hash code of the vector object. + + Hash code of the vector object. + + + +Retrieves a string representation of the current object. + + A string that represents the object. + + + +Tests vectors for inequality. + + The first source vector. + The second source vector. + + true if the vectors are not equal; false otherwise. + + + +Tests vectors for equality. + + The first source vector. + The second source vector. + + true if the vectors are equal; false otherwise. + + + +Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + +Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + +Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + +Reverses the direction of a given vector. + + The vector to negate. + A vector facing in the opposite direction. + + + +Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + The difference of the two vectors. + + + +Adds two vectors. + + The first vector to add. + The second vector to add. + The sum of the two vectors. + + + +Returns a vector containing the smallest components of the specified vectors. + + The first source vector. + The second source vector. + When the method completes, contains an new vector composed of the largest components of the source vectors. + + + +Returns a vector containing the largest components of the specified vectors. + + The first source vector. + The second source vector. + A vector containing the largest components of the source vectors. + + + +Returns a vector containing the smallest components of the specified vectors. + + The first source vector. + The second source vector. + When the method completes, contains an new vector composed of the smallest components of the source vectors. + + + +Returns a vector containing the smallest components of the specified vectors. + + The first source vector. + The second source vector. + A vector containing the smallest components of the source vectors. + + + +Performs a normal transformation using the given . + + The normal vectors to transform. + The transformation . + The transformed normals. + + + +Performs a normal transformation using the given . + + The normal vector to transform. + The transformation . + When the method completes, contains the transformed normal. + + + +Performs a normal transformation using the given . + + The normal vector to transform. + The transformation . + The transformed normal. + + + +Performs a coordinate transformation using the given . + + The coordinate vectors to transform. + The transformation . + The transformed coordinates. + + + +Performs a coordinate transformation using the given . + + The coordinate vector to transform. + The transformation . + When the method completes, contains the transformed coordinates. + + + +Performs a coordinate transformation using the given . + + The coordinate vector to transform. + The transformation . + The transformed coordinates. + + + +Transforms an array of 2D vectors by the given rotation. + + The vectors to rotate. + The rotation to apply. + The transformed . + + + +Transforms a 2D vector by the given rotation. + + The vector to rotate. + The rotation to apply. + When the method completes, contains the transformed . + + + +Transforms a 2D vector by the given rotation. + + The vector to rotate. + The rotation to apply. + The transformed . + + + +Transforms an array of 2D vectors by the given . + + The source vectors. + The transformation . + The transformed s. + + + +Transforms a 2D vector by the given . + + The source vector. + The transformation . + When the method completes, contains the transformed . + + + +Transforms a 2D vector by the given . + + The source vector. + The transformation . + The transformed . + + + +Converts the vector into a unit vector. + + The vector to normalize. + When the method completes, contains the normalized vector. + + + +Converts the vector into a unit vector. + + The vector to normalize. + The normalized vector. + + + +Calculates the dot product of two vectors. + + First source vector. + Second source vector. + The dot product of the two vectors. + + + +Calculates the squared distance between two vectors. + + The first vector. + The second vector. + The squared distance between the two vectors. + Distance squared is the value before taking the square root. +Distance squared can often be used in place of distance if relative comparisons are being made. +For example, consider three points A, B, and C. To determine whether B or C is further from A, +compare the distance between A and B to the distance between A and C. Calculating the two distances +involves two square roots, which are computationally expensive. However, using distance squared +provides the same information and avoids calculating two square roots. + + + + +Calculates the distance between two vectors. + + The first vector. + The second vector. + The distance between the two vectors. + + + +Performs a cubic interpolation between two vectors. + + Start vector. + End vector. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the cubic interpolation of the two vectors. + + + +Performs a cubic interpolation between two vectors. + + Start vector. + End vector. + Value between 0 and 1 indicating the weight of . + The cubic interpolation of the two vectors. + + + +Performs a linear interpolation between two vectors. + + Start vector. + End vector. + Value between 0 and 1 indicating the weight of . + When the method completes, contains the linear interpolation of the two vectors. + +This method performs the linear interpolation based on the following formula. +start + (end - start) * amount +Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + +Performs a linear interpolation between two vectors. + + Start vector. + End vector. + Value between 0 and 1 indicating the weight of . + The linear interpolation of the two vectors. + +This method performs the linear interpolation based on the following formula. +start + (end - start) * amount +Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. + + + + +Performs a Hermite spline interpolation. + + First source position vector. + First source tangent vector. + Second source position vector. + Second source tangent vector. + Weighting factor. + When the method completes, contains the result of the Hermite spline interpolation. + + + +Performs a Hermite spline interpolation. + + First source position vector. + First source tangent vector. + Second source position vector. + Second source tangent vector. + Weighting factor. + The result of the Hermite spline interpolation. + + + +Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + When the method completes, contains the clamped value. + + + +Restricts a value to be within a specified range. + + The value to clamp. + The minimum value. + The maximum value. + The clamped value. + + + +Performs a Catmull-Rom interpolation using the specified positions. + + The first position in the interpolation. + The second position in the interpolation. + The third position in the interpolation. + The fourth position in the interpolation. + Weighting factor. + When the method completes, contains the result of the Catmull-Rom interpolation. + + + +Performs a Catmull-Rom interpolation using the specified positions. + + The first position in the interpolation. + The second position in the interpolation. + The third position in the interpolation. + The fourth position in the interpolation. + Weighting factor. + A vector that is the result of the Catmull-Rom interpolation. + + + +Returns a containing the 2D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle. + + A containing the 2D Cartesian coordinates of vertex 1 of the triangle. + A containing the 2D Cartesian coordinates of vertex 2 of the triangle. + A containing the 2D Cartesian coordinates of vertex 3 of the triangle. + Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ). + Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ). + When the method completes, contains the 2D Cartesian coordinates of the specified point. + + + +Returns a containing the 2D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle. + + A containing the 2D Cartesian coordinates of vertex 1 of the triangle. + A containing the 2D Cartesian coordinates of vertex 2 of the triangle. + A containing the 2D Cartesian coordinates of vertex 3 of the triangle. + Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ). + Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ). + A new containing the 2D Cartesian coordinates of the specified point. + + + +Reverses the direction of a given vector. + + The vector to negate. + When the method completes, contains a vector facing in the opposite direction. + + + +Reverses the direction of a given vector. + + The vector to negate. + A vector facing in the opposite direction. + + + +Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + When the method completes, contains the scaled vector. + + + +Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + +Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + When the method completes, contains the scaled vector. + + + +Scales a vector by the given value. + + The vector to scale. + The amount by which to scale the vector. + The scaled vector. + + + +Modulates a vector by another. + + The first vector to modulate. + The second vector to modulate. + When the moethod completes, contains the modulated vector. + + + +Modulates a vector by another. + + The first vector to modulate. + The second vector to modulate. + The modulated vector. + + + +Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + When the method completes, contains the difference of the two vectors. + + + +Subtracts two vectors. + + The first vector to subtract. + The second vector to subtract. + The difference of the two vectors. + + + +Adds two vectors. + + The first vector to add. + The second vector to add. + When the method completes, contains the sum of the two vectors. + + + +Adds two vectors. + + The first vector to add. + The second vector to add. + The sum of the two vectors. + + + +Converts the vector into a unit vector. + + + + +Calculates the squared length of the vector. + + The squared length of the vector. + + + +Calculates the length of the vector. + + The length of the vector. + + + +Initializes a new instance of the class. + + Initial value for the X component of the vector. + Initial value for the Y component of the vector. + + + +Initializes a new instance of the class. + + The value that will be assigned to all components. + Determines whether the specified Object instances are considered equal. @@ -139,7 +673,7 @@ Returns a vector containing the smallest components of the specified vectors. The second source vector. A vector containing the smallest components of the source vectors. - + Projects a 3D vector from screen space into object space. @@ -150,7 +684,7 @@ Projects a 3D vector from screen space into object space. The world matrix. When the method completes, contains the vector in object space. - + Projects a 3D vector from screen space into object space. @@ -161,7 +695,7 @@ Projects a 3D vector from screen space into object space. The world matrix. The vector in object space. - + Projects a 3D vector from object space into screen space. @@ -172,7 +706,7 @@ Projects a 3D vector from object space into screen space. The world matrix. When the method completes, contains the vector in screen space. - + Projects a 3D vector from object space into screen space. @@ -329,14 +863,6 @@ Calculates the cross product of two vectors. Second source vector. The cross product of the two vectors. - - -Calculates the dot product of two vectors. - - First source vector. - Second source vector. - The dot product of the two vectors. - Calculates the dot product of two vectors. @@ -345,21 +871,6 @@ Calculates the dot product of two vectors. Second source vector. The dot product of the two vectors. - - -Calculates the squared distance between two vectors. - - The first vector. - The second vector. - The squared distance between the two vectors. - Distance squared is the value before taking the square root. -Distance squared can often be used in place of distance if relative comparisons are being made. -For example, consider three points A, B, and C. To determine whether B or C is further from A, -compare the distance between A and B to the distance between A and C. Calculating the two distances -involves two square roots, which are computationally expensive. However, using distance squared -provides the same information and avoids calculating two square roots. - - Calculates the squared distance between two vectors. @@ -375,14 +886,6 @@ involves two square roots, which are computationally expensive. However, using d provides the same information and avoids calculating two square roots. - - -Calculates the distance between two vectors. - - The first vector. - The second vector. - The distance between the two vectors. - Calculates the distance between two vectors. @@ -653,6 +1156,368 @@ Initializes a new instance of the class. The value that will be assigned to all components. + + Creates a new instance of a sprite object from a user pointer. + The native user pointer to use for the sprite object. This should +be a pointer to an ID3DXSprite. + The newly created sprite object. + + + Initializes a new instance of a sprite object. + The device to use when creating the new sprite object. + D3DXCreateSprite + + + Provides a set of methods that simplify the process of drawing sprites. + ID3DXSprite + + + +Gets or sets swap chain options. + + + + +Gets or sets swapping effect behavior. + + + + +Gets or sets a value indicating whether or not the swap chain is in windowed mode. + + + + +Gets or sets the swap chain's output handle. + + + + +Gets or sets the number of buffers in the swap chain. + + + + +Gets or sets swap chain's surface usage. + + + + +Gets or sets the swap chain's multisampling properties. + + + + +Gets or sets the swap chain's display mode properties. + + + + +Describes properties of a swap chain. + + + + +Gets the surface's multisampling properties. + + + + +Gets the format of the surface. + + + + +Gets the height of the surface. + + + + +Gets the width of the surface. + + + + +Describes properties of a surface. + + + + +Gets or sets the Y component of the vector. + + The Y component of the vector. + + + +Gets or sets the X component of the vector. + + The X component of the vector. + + + +Defines a two component vector, using half precision floating point coordinates. + + + + +Constructs a new SampleDescription. + + The sample count. + The sample quality. + + + +Gets or sets the sample quality. + + + + +Gets or sets the number of samples per pixel. + + + + +Describes multisample parameters. + + + + +Gets or sets the Z component of the vector. + + The Z component of the vector. + + + +Gets or sets the Y component of the vector. + + The Y component of the vector. + + + +Gets or sets the X component of the vector. + + The X component of the vector. + + + +Defines a three component vector, using half precision floating point coordinates. + + + + +Provides access to the Direct3D performance API, which allows applications to gather performance +data and integrate with PIX for Windows in order to perform detailed analysis. + + + + +Validates the current pipeline state. + + A Result code. + + + +Constructs a new Debug interface. + + The Device with which the Debug interface is to be associated. + + + +Gets or sets the swap chain the runtime will use for automatic presentation. + + + + +Gets or sets the number of milliseconds to delay after a swap chain is presented. + + + + +Gets or sets the flags indicating which debug features are enabled. + + + + +An interface for controlling debug state and validating pipeline settings. + + + + +Presents a rendered image to the attached output. + + Specified how to synchronize the presentation with the vertical blank interrupt. 0 +indicates that presentation should occur immediately, without synchronization. Any other value indicates that +presentation should be synchonized with the specified next vertical blank. + Flags controlling presentation behavior. + A Result code. + + + +Changes the output target's size. + + Properties of the new output display mode. + A Result code. + + + +Changes the swap chain's back buffer size, format, and count. + + The new back buffer count. + The new back buffer width. + The new back buffer height. + The new back buffer format. + Flags controlling swap chain functionality. + A Result code. + + + +Sets the full screen state. + + Set to true for full screen mode, false for windowed mode. + If the current display mode is full screen, this parameter must be the +output containing the swap chain; otherwise, this parameter is ignored. If you set this parameter +to null, DXGI will choose the output based on the swap-chain's device and the output window's placement. + A Result code. + + + +Gets the full screen state. + + Receives a value indicating if the swap chain is running in full screen mode. + Receives the full screen ouput if the swap chain is in full screen mode. Otherwise ignored. + A Result code. + + + +Gets a swap chain back buffer. + + The index of the desired buffer. + The buffer interface, or null on failure. + + + +Constructs a SwapChain. + + The factory used to create the swap chain. + The device used to present images to the swap chain. + Swap chain properties. + + + +Constructs a SwapChain from an unmanaged pointer. + + The unmanaged IDXGISwapChain pointer. + + + +Gets the output containing the swap chain target. + + + + +Gets the number of times this swap chain's Present method has been called. + + + + +Gets statistics about recent frames. + + + + +Gets the swap chain's description. + + + + +Holds one or more surfaces that store rendered data prior to presenting +that data to an output. + + + + +Gets the state of the mouse buttons. + + + + +Gets the Z axis of the mouse. + + + + +Gets the Y axis of the mouse. + + + + +Gets the X axis of the mouse. + + + + +Describes the state of a mouse device. + + + + +Describes the state of a keyboard device. + + + + +Constructs a new exception object. + + The result code that caused this exception. + + + +Constructs a new exception object. + + The message describing the exception. + The exception that caused this exception. + + + +Constructs a new exception object. + + The message describing the exception. + + + +Constructs a new exception object. + + + + +Represents errors that occur in the XInput subsystem. + + + + +Gets a value indicating whether or not the controller is connected. + + + + +HID code corresponding to the input. If there is no corresponding HID code, this value is zero. + + + + +Index of the signed-in gamer associated with the device. Can be a value in the range 0–3. + + + + +Combination of flags that indicate the keyboard state at the time of the input event. + + + + +Virtual-key code of the key, button, or stick movement. + + Determines whether the specified Object instances are considered equal. @@ -850,14 +1715,6 @@ Converts the vector into a unit vector. The vector to normalize. The normalized vector. - - -Calculates the dot product of two vectors. - - First source vector. - Second source vector. - The dot product of the two vectors. - Calculates the dot product of two vectors. @@ -866,21 +1723,6 @@ Calculates the dot product of two vectors. Second source vector. The dot product of the two vectors. - - -Calculates the squared distance between two vectors. - - The first vector. - The second vector. - The squared distance between the two vectors. - Distance squared is the value before taking the square root. -Distance squared can often be used in place of distance if relative comparisons are being made. -For example, consider three points A, B, and C. To determine whether B or C is further from A, -compare the distance between A and B to the distance between A and C. Calculating the two distances -involves two square roots, which are computationally expensive. However, using distance squared -provides the same information and avoids calculating two square roots. - - Calculates the squared distance between two vectors. @@ -896,14 +1738,6 @@ involves two square roots, which are computationally expensive. However, using d provides the same information and avoids calculating two square roots. - - -Calculates the distance between two vectors. - - The first vector. - The second vector. - The distance between the two vectors. - Calculates the distance between two vectors. @@ -1183,1465 +2017,54 @@ Initializes a new instance of the class. The value that will be assigned to all components. - + -Constructs a from a native pointer. +Gets the adapter's unique identifier. - A native ID3D10Texture3D pointer, as an IntPtr. - + -Gets the number of subtextures (mipmap levels). +Gets the number of bytes of system memory shared with the CPU. - + -Gets the depth of the texture in texels. +Gets the number of bytes of system memory not shared with the CPU. - + -Gets the height of the texture in texels. +Gets the number of bytes of video memory not shared with the CPU. - + -Gets the width of the texture in texels. +Gets the adapter's revision number. - + -Constructs a from a native pointer. +Gets the adapter's subsystem ID. - A native ID3D10Texture1D pointer, as an IntPtr. - + -Gets the number of subtextures (mipmap levels). +Gets the adapter's device ID. - + -Gets the width of the texture in texels. +Gets the adapter's vendor ID. - + -Determines whether the specified Object instances are considered equal. +Gets the adapter's description. - - - - true if is the same instance as or -if both are null references or if objA.Equals(objB) returns true; otherwise, false. - + -Returns a value that indicates whether the current instance is equal to the specified object. - - Object to make the comparison with. - - true if the current instance is equal to the specified object; false otherwise. - - - -Returns a value that indicates whether the current instance is equal to a specified object. - - Object to make the comparison with. - - true if the current instance is equal to the specified object; false otherwise. - - - -Gets the hash code of the plane object. - - Hash code of the plane object. - - - -Retrieves a string representation of the current object. - - A string that represents the object. - - - -Tests planes for inequality. - - The first source plane. - The second source plane. - - true if the planes are not equal; false otherwise. - - - -Tests planes for equality. - - The first source plane. - The second source plane. - - true if the planes are equal; false otherwise. - - - -Scales the plane by the given scaling factor. - - The source plane. - The scaling factor. - The scaled plane. - - - -Scales the plane by the given scaling factor. - - The source plane. - The scaling factor. - The scaled plane. - - - -Finds the intersection between a plane and a line. - - The source plane. - The start point of the line. - The end point of the line. - If an intersection is found, contains the intersection point between the line and the plane. - - true if an intersection is found; false otherwise. - - - -Finds the intersection between a plane and a line. - - The source plane. - The start point of the line. - The end point of the line. - If an intersection is found, contains the intersection point between the line and the plane. - - true if an intersection is found; false otherwise. - - - -Transforms an array of normalized planes by a quaternion rotation. - - The normalized source planes. - The quaternion rotation. - The transformed planes. - - - -Transforms a normalized plane by a quaternion rotation. - - The normalized source plane. - The quaternion rotation. - When the method completes, contains the transformed plane. - - - -Transforms a normalized plane by a quaternion rotation. - - The normalized source plane. - The quaternion rotation. - The transformed plane. - - - -Transforms an array of normalized planes by a matrix. - - The normalized source planes. - The transformation matrix. - The transformed planes. - - - -Transforms a normalized plane by a matrix. - - The normalized source plane. - The transformation matrix. - When the method completes, contains the transformed plane. - - - -Transforms a normalized plane by a matrix. - - The normalized source plane. - The transformation matrix. - The transformed plane. - - - -Changes the coefficients of the normal vector of the plane to make it of unit length. - - The source plane. - When the method completes, contains the normalized plane. - - - -Changes the coefficients of the normal vector of the plane to make it of unit length. - - The source plane. - The normalized plane. - - - -Changes the coefficients of the normal vector of the plane to make it of unit length. - - - - -Calculates the dot product of the specified vector and the normal of the plane. - - The source plane. - The source vector. - The dot product of the specified vector and the normal of the plane. - - - -Calculates the dot product of the specified vector and the normal of the plane. - - The source plane. - The source vector. - The dot product of the specified vector and the normal of the plane. - - - -Calculates the dot product of a specified vector and the normal of the plane plus the distance value of the plane. - - The source plane. - The source vector. - The dot product of a specified vector and the normal of the Plane plus the distance value of the plane. - - - -Calculates the dot product of a specified vector and the normal of the plane plus the distance value of the plane. - - The source plane. - The source vector. - The dot product of a specified vector and the normal of the Plane plus the distance value of the plane. - - - -Calculates the dot product of the specified vector and plane. - - The source plane. - The source vector. - The dot product of the specified vector and plane. - - - -Calculates the dot product of the specified vector and plane. - - The source plane. - The source vector. - The dot product of the specified vector and plane. - - - -Initializes a new instance of the class. - - -A vector with the X, Y, and Z components defining the normal to the plane. -The W component defines the distance of the plane along its normal from the origin. - - - - -Initializes a new instance of the class. - - First point of a triangle defining the plane. - Second point of a triangle defining the plane. - Third point of a triangle defining the plane. - - - -Initializes a new instance of the class. - - The normal vector to the plane. - Distance of the plane along its normal from the origin. - - - -Initializes a new instance of the class. - - X component of the normal defining the plane. - Y component of the normal defining the plane. - Z component of the normal defining the plane. - Distance of the plane along its normal from the origin. - - - -Determines whether the specified Object instances are considered equal. - - - - - true if is the same instance as or -if both are null references or if objA.Equals(objB) returns true; otherwise, false. - - - -Returns a value that indicates whether the current instance is equal to the specified object. - - Object to make the comparison with. - - true if the current instance is equal to the specified object; false otherwise. - - - -Returns a value that indicates whether the current instance is equal to a specified object. - - Object to make the comparison with. - - true if the current instance is equal to the specified object; false otherwise. - - - -Gets the hash code of the vector object. - - Hash code of the vector object. - - - -Retrieves a string representation of the current object. - - A string that represents the object. - - - -Tests vectors for inequality. - - The first source vector. - The second source vector. - - true if the vectors are not equal; false otherwise. - - - -Tests vectors for equality. - - The first source vector. - The second source vector. - - true if the vectors are equal; false otherwise. - - - -Scales a vector by the given value. - - The vector to scale. - The amount by which to scale the vector. - The scaled vector. - - - -Scales a vector by the given value. - - The vector to scale. - The amount by which to scale the vector. - The scaled vector. - - - -Scales a vector by the given value. - - The vector to scale. - The amount by which to scale the vector. - The scaled vector. - - - -Reverses the direction of a given vector. - - The vector to negate. - A vector facing in the opposite direction. - - - -Subtracts two vectors. - - The first vector to subtract. - The second vector to subtract. - The difference of the two vectors. - - - -Adds two vectors. - - The first vector to add. - The second vector to add. - The sum of the two vectors. - - - -Returns a vector containing the smallest components of the specified vectors. - - The first source vector. - The second source vector. - When the method completes, contains an new vector composed of the largest components of the source vectors. - - - -Returns a vector containing the largest components of the specified vectors. - - The first source vector. - The second source vector. - A vector containing the largest components of the source vectors. - - - -Returns a vector containing the smallest components of the specified vectors. - - The first source vector. - The second source vector. - When the method completes, contains an new vector composed of the smallest components of the source vectors. - - - -Returns a vector containing the smallest components of the specified vectors. - - The first source vector. - The second source vector. - A vector containing the smallest components of the source vectors. - - - -Performs a normal transformation using the given . - - The normal vectors to transform. - The transformation . - The transformed normals. - - - -Performs a normal transformation using the given . - - The normal vector to transform. - The transformation . - When the method completes, contains the transformed normal. - - - -Performs a normal transformation using the given . - - The normal vector to transform. - The transformation . - The transformed normal. - - - -Transforms an array of 2D vectors by the given rotation. - - The vectors to rotate. - The rotation to apply. - The transformed . - - - -Transforms a 2D vector by the given rotation. - - The vector to rotate. - The rotation to apply. - When the method completes, contains the transformed . - - - -Transforms a 2D vector by the given rotation. - - The vector to rotate. - The rotation to apply. - The transformed . - - - -Transforms an array of 2D vectors by the given . - - The source vectors. - The transformation . - The transformed s. - - - -Transforms a 2D vector by the given . - - The source vector. - The transformation . - When the method completes, contains the transformed . - - - -Transforms a 2D vector by the given . - - The source vector. - The transformation . - The transformed . - - - -Converts the vector into a unit vector. - - The vector to normalize. - When the method completes, contains the normalized vector. - - - -Converts the vector into a unit vector. - - The vector to normalize. - The normalized vector. - - - -Calculates the dot product of two vectors. - - First source vector. - Second source vector. - The dot product of the two vectors. - - - -Calculates the dot product of two vectors. - - First source vector. - Second source vector. - The dot product of the two vectors. - - - -Calculates the squared distance between two vectors. - - The first vector. - The second vector. - The squared distance between the two vectors. - Distance squared is the value before taking the square root. -Distance squared can often be used in place of distance if relative comparisons are being made. -For example, consider three points A, B, and C. To determine whether B or C is further from A, -compare the distance between A and B to the distance between A and C. Calculating the two distances -involves two square roots, which are computationally expensive. However, using distance squared -provides the same information and avoids calculating two square roots. - - - - -Calculates the squared distance between two vectors. - - The first vector. - The second vector. - The squared distance between the two vectors. - Distance squared is the value before taking the square root. -Distance squared can often be used in place of distance if relative comparisons are being made. -For example, consider three points A, B, and C. To determine whether B or C is further from A, -compare the distance between A and B to the distance between A and C. Calculating the two distances -involves two square roots, which are computationally expensive. However, using distance squared -provides the same information and avoids calculating two square roots. - - - - -Calculates the distance between two vectors. - - The first vector. - The second vector. - The distance between the two vectors. - - - -Calculates the distance between two vectors. - - The first vector. - The second vector. - The distance between the two vectors. - - - -Performs a cubic interpolation between two vectors. - - Start vector. - End vector. - Value between 0 and 1 indicating the weight of . - When the method completes, contains the cubic interpolation of the two vectors. - - - -Performs a cubic interpolation between two vectors. - - Start vector. - End vector. - Value between 0 and 1 indicating the weight of . - The cubic interpolation of the two vectors. - - - -Performs a linear interpolation between two vectors. - - Start vector. - End vector. - Value between 0 and 1 indicating the weight of . - When the method completes, contains the linear interpolation of the two vectors. - -This method performs the linear interpolation based on the following formula. -start + (end - start) * amount -Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. - - - - -Performs a linear interpolation between two vectors. - - Start vector. - End vector. - Value between 0 and 1 indicating the weight of . - The linear interpolation of the two vectors. - -This method performs the linear interpolation based on the following formula. -start + (end - start) * amount -Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned. - - - - -Performs a Hermite spline interpolation. - - First source position vector. - First source tangent vector. - Second source position vector. - Second source tangent vector. - Weighting factor. - When the method completes, contains the result of the Hermite spline interpolation. - - - -Performs a Hermite spline interpolation. - - First source position vector. - First source tangent vector. - Second source position vector. - Second source tangent vector. - Weighting factor. - The result of the Hermite spline interpolation. - - - -Restricts a value to be within a specified range. - - The value to clamp. - The minimum value. - The maximum value. - When the method completes, contains the clamped value. - - - -Restricts a value to be within a specified range. - - The value to clamp. - The minimum value. - The maximum value. - The clamped value. - - - -Performs a Catmull-Rom interpolation using the specified positions. - - The first position in the interpolation. - The second position in the interpolation. - The third position in the interpolation. - The fourth position in the interpolation. - Weighting factor. - When the method completes, contains the result of the Catmull-Rom interpolation. - - - -Performs a Catmull-Rom interpolation using the specified positions. - - The first position in the interpolation. - The second position in the interpolation. - The third position in the interpolation. - The fourth position in the interpolation. - Weighting factor. - A vector that is the result of the Catmull-Rom interpolation. - - - -Returns a containing the 2D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle. - - A containing the 2D Cartesian coordinates of vertex 1 of the triangle. - A containing the 2D Cartesian coordinates of vertex 2 of the triangle. - A containing the 2D Cartesian coordinates of vertex 3 of the triangle. - Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ). - Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ). - When the method completes, contains the 2D Cartesian coordinates of the specified point. - - - -Returns a containing the 2D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle. - - A containing the 2D Cartesian coordinates of vertex 1 of the triangle. - A containing the 2D Cartesian coordinates of vertex 2 of the triangle. - A containing the 2D Cartesian coordinates of vertex 3 of the triangle. - Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ). - Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ). - A new containing the 2D Cartesian coordinates of the specified point. - - - -Reverses the direction of a given vector. - - The vector to negate. - When the method completes, contains a vector facing in the opposite direction. - - - -Reverses the direction of a given vector. - - The vector to negate. - A vector facing in the opposite direction. - - - -Scales a vector by the given value. - - The vector to scale. - The amount by which to scale the vector. - When the method completes, contains the scaled vector. - - - -Scales a vector by the given value. - - The vector to scale. - The amount by which to scale the vector. - The scaled vector. - - - -Scales a vector by the given value. - - The vector to scale. - The amount by which to scale the vector. - When the method completes, contains the scaled vector. - - - -Scales a vector by the given value. - - The vector to scale. - The amount by which to scale the vector. - The scaled vector. - - - -Modulates a vector by another. - - The first vector to modulate. - The second vector to modulate. - When the moethod completes, contains the modulated vector. - - - -Modulates a vector by another. - - The first vector to modulate. - The second vector to modulate. - The modulated vector. - - - -Subtracts two vectors. - - The first vector to subtract. - The second vector to subtract. - When the method completes, contains the difference of the two vectors. - - - -Subtracts two vectors. - - The first vector to subtract. - The second vector to subtract. - The difference of the two vectors. - - - -Adds two vectors. - - The first vector to add. - The second vector to add. - When the method completes, contains the sum of the two vectors. - - - -Adds two vectors. - - The first vector to add. - The second vector to add. - The sum of the two vectors. - - - -Converts the vector into a unit vector. - - - - -Calculates the squared length of the vector. - - The squared length of the vector. - - - -Calculates the length of the vector. - - The length of the vector. - - - -Initializes a new instance of the class. - - Initial value for the X component of the vector. - Initial value for the Y component of the vector. - - - -Initializes a new instance of the class. - - The value that will be assigned to all components. - - - -Uses a user-provided function to fill each texel of each mip level of a given texture. - - A function that uses the signature of the Fill2DCallback delegate. - -Uses a user-provided function to fill each texel of each mip level of a given texture. - - A function that uses the signature of the Fill2DCallback delegate. - - - -Function to save the texture to a file. - - Filename and path for the texture. - File format used to encode the image. - -Function to save the texture to a file. - - Filename and path for the texture. - File format used to encode the image. - - - -Function to save the texture to a stream. - - File format used to encode the image. - A graphics stream containing the texture data. - -Function to save the texture to a stream. - - File format used to encode the image. - A graphics stream containing the texture data. - - - -Checks texture-creation parameters. - - Device associated with the texture. - Requested width of the texture. - Requested height of the texture. - Requested number of mip-map levels for the texture. - Usage.None or Usage.RenderTarget. - Requested format for the texture. - Memory class where the resource will be placed. - A value type containing the proposed values to pass to the texture creation functions. - - - -Proposed number of mip-map levels for the texture. - - - - -Proposed format of the texture. - - - - -Proposed depth of the texture. - - - - -Proposed height of the texture. - - - - -Proposed width of the texture. - - - - -Proposed number of mip-map levels for the texture. - - - - -Proposed format of the texture. - - - - -Proposed size of the texture. - - - - -Proposed number of mip-map levels for the texture. - - - - -Proposed format of the texture. - - - - -Proposed height of the texture. - - - - -Proposed width of the texture. - - - - -Callback function used by FillTexture. - - Texture coordinate being sampled. - Dimensions of the texel. - A 4 dimensional vector, representing a color value. X maps to R, G to Y, etc... - - - -Function to extract image information from a stream. - - Stream containing the image. - Information about the image. - -Function to extract image information from a stream. - - Stream containing the image. - Information about the image. - - - -Function to extract image information from a stream. - - Stream containing the image. - TRUE to preserve the stream position, FALSE will move the stream pointer. - Information about the image. - -Function to extract image information from a stream. - - Stream containing the image. - TRUE to preserve the stream position, FALSE will move the stream pointer. - Information about the image. - - - -Occurs when the device is lost. - - - - -Occurs when the device's data buffer overflows. - - - - -Obtains information about the device's identity. - - - - -Gets the capabilities of the device. - - - - -Gets a set of properties that control the behavior of the device. - - - - -Retrieves data from polled objects on a DirectInput device. - - - - -Retrieves buffered data from the device. - - - - -Retrieves the current device state. - - - - -Retrieves the current device state. - - - - -Runs the DirectInput control panel associated with this device. If the -device does not have a control panel associated with it, the default -device control panel is launched. - - The parent control. - - - -Runs the DirectInput control panel associated with this device. If the -device does not have a control panel associated with it, the default -device control panel is launched. - - - - -Sets the device's cooperative level. - - A control to associate with the device. - Flags that describe the cooperative level of the device. - - - -Sets the device's cooperative level. - - A handle of a window to associate with the device. - Flags that describe the cooperative level of the device. - - - -Releases access to the device. - - - - -Obtains access to the input device. - - - - -Disposes of managed and unmanaged resources contained by this class. - - - - -Initializes a new instance of the class. - - A pointer to a previously created DirectInput device. - - - -Initializes a new instance of the class. - - The subsystem identifier. - - - -Used to gain and release access to Microsoft DirectInput devices, manage device -properties and information, set behavior, perform initialization, create and -play force-feedback effects, and open a device's control panel. - - - - -Gets the application-defined action value assigned to this object using action mapping. - - - - -Gets the DirectInput sequence number for the event. All input events are assigned an increasing -sequence number. - - - - -Gets the system time at which the input event was generated, in milliseconds. This value -wraps around approximately every 50 days. - - - - -Gets or sets the data obtained from or sent to the device. For axis input, the data reflects -the absolute or relative mode of the object. - - - - -Initializes a new instance of the class. - - - - -Initializes a new instance of the class. - - - - -Contains buffered device information. - - - - -Japanese J3100 keyboard. - - - - -Japanese AX keyboard. - - - - -Japanese 106-key keyboard. - - - - -Japanese NEC PC98 106-key keyboard. - - - - -Japanese NEC PC98 laptop keyboard. - - - - -Japanse NEC PC98 keyboard. - - - - -Nokia 9140 keyboard. - - - - -Nokia 1050 keyboard. - - - - -IBM PC Enhanced 101/102-key keyboard or Microsoft Natural keyboard. - - - - -IBM PC/AT 84-key keyboard. - - - - -Olivetti 102-key keyboard. - - - - -IBM PC/XT 83-key keyboard. - - - - -Standard game pad that provides the minimum number of objects for -action mapping. - - - - -A yoke for flight simulators. - - - - -A joystick for flight simulators. - - - - -Flight device based upon a remote control for model aircraft. - - - - -Steering device that reports acceleration, break, and clutch pedal values from -separate axes. - - - - -Hand-held steering device. - - - - -Steering device that reports accelerations and break pedal values from separate axes. - - - - -Steering device that reports accelerations and break pedal values from a single axis. - - - - -Unknown subtype for a control device. - - - - -Device that must use its default configuration and cannot be remapped. - - - - -Control used to make communications selections. - - - - -Device with six degrees of freedom; that is, three lateral axes and three rotation axes. - - - - -Device designed for first-person person shooter games. - - - - -Unknown subtype for a first-person device. - - - - -A device that does not provide the minimum number of device objects for -action mapping. - - - - -Specifies the sub type of a DirectInput device. - - - - -Gets a value indicating whether the device is a Human Interface Device. - - - - -Gets the hardware revision number. - - - - -Gets the firmware revision number. - - - - -Gets the driver version number. - - - - -Gets the minimum time, in microseconds, that the device can resolve. The device -rounds any times to the nearest supported increment. - - - - -Gets the minimum time between playback of consecutive raw force commands, in microseconds. - - - - -Gets the number of Point-Of-View controllers available on the device. - - - - -Gets the number of buttons available on the device. - - - - -Gets the number of axes available on the device. - - - - -Gets the device sub-type specifier. - - - - -Gets the device type specifier. - - - - -Gets the flags associated with the device. - - - - -Describes a DirectInput device's capabilities. - - - - -Gets a value indicating whether the device is a Human Interface Device. - - - - -If the device is a Human Interface Device, this member contains -the HID usage page code. - - - - -If the device is a Human Interface Device, this member contains -the HID usage code. - - - - -Gets the friendly name for the product. - - - - -Gets the friendly name for the instance. - - - - -Gets the secondary device type specifier. - - - - -Gets the main device type specifier. - - - - -Gets the unique identifier for the driver being used for force-feedback. The -driver's manufacturer establishes this identifier. - - - - -Gets the unique identifier for the product. This identifier is established -by the manufacturer of the device. - - - - -Gets the unique identifier for the instance of the device. Instance Guids are -specific to a particular computer. - - - - -Contains information about a device's identity. - - - - -Gets or sets extra flags for the object data format. - - - - -Gets or sets the device type that describes the object. - - - - -Gets or sets the object instance number. Setting this value to -1 -indicates that any object instance is permissible. - - - - -Gets or sets the unique identifier for the axis, button, or other input -source. When requesting a data format, making this member equal to - indicates that any type of object -is permissible. - - - - -Initializes a new instance of the class. - - - - -Indicates that a type is a data format specification for DirectInput. - - - - -Gets or sets the flags describing other attributes of the data format. - - - - -Initializes a new instance of the class. - - - - -Indicates that a type is a data format specification for DirectInput. - - - - -Gets the state of the mouse buttons. - - - - -Gets the Z axis of the mouse. - - - - -Gets the Y axis of the mouse. - - - - -Gets the X axis of the mouse. - - - - -Describes the state of a mouse device. - - - - -Gets the state of the specified key. - - - - -Describes the state of a keyboard device. +Describes various properties of an Adapter. @@ -2797,6 +2220,266 @@ Gets the state of each point-of-view controller on the joystick. Describes the state of a joystick device. + + + + +An exception indicating that the appropriate DirectInput runtime could not be found or initialized. + + + + +Relinquishes access to the surface data. + + + + +Acquires access to the surface data. + + Flags specifying CPU access permissions. + A DataRectangle for accessing the mapped data, or null on failure.. + + + +Constructs a Surface from an unmanaged pointer. + + The unmanaged IDXGISurface pointer. + + + +Gets the surface's description. + + + + +A Surface represents container for image data. + + + + +Gets the unmanaged HMONITOR handle for the output. + + + + +Gets rotation performed by the output on a presented image. + + + + +Gets a value indicating whether the output is attached to the desktop. + + + + +Gets output's bounds in desktop coordinates. + + + + +Gets the output's name. + + + + +Describes various properties of an Output. + + + + +Halts the current thread until a vertical blank occurs. + + A Result code. + + + +Release ownership of an output. + + + + +Take ownership of an output. + + The device interface. + If true, ownership is exclusive. + A Result code. + + + +Copies the display surface content to the specified destination surface. + + The destination surface. + A Result code. + + + +Changes the current display surface to the specified surface. + + The new display surface. + A Result code. + + + +Sets gamma control information. + + The gamma control information. + A Result code. + + + +Gets the display mode that best matches the requested mode. + + The device interface. If this parameter is null, only +modes whose format matches the specified mode will be returned; otherwise, only those +formats that are supported for scan-out by the device are returned. + The description of the display mode to match. + Receives the best-matching display mode. + A Result code. + + + +Gets a list of display modes matching certain specifications. + + The display mode color format. + Flags indicating how the display mode scanline order and scaling. + A list of matching display mode descriptions. The list is null if an error occured. + + + +Constructs an Output from an unmanaged pointer. + + The unmanaged IDXGIOutput pointer. + + + +Gets a description of the output's gamma-control capabilities. + + + + +Gets statistics about recent frames. + + + + +Gets the output's description. + + + + +Represents the output of an adapter (such as a monitor). + + + + +Constructs a new ModeDescription. + + The width. + The height. + The refresh rate. + The format. + + + +Gets or sets the display mode scaling. + + + + +Gets or sets the scanline ordering. + + + + +Gets or sets the display mode format. + + + + +Gets or sets the display mode refresh rate. + + + + +Gets or sets the display mode height. + + + + +Gets or sets the display mode width. + + + + +Describes a display mode. + + + + +Defines a rational number as a numerator / denominator pair. + + + + +Gets the list of RGB control points defining the gamma curve. + + + + +Gets or sets an offset applied to gamma RGB values. + + + + +Gets or sets a scaling factor applied to gamma RGB values. + + + + +Describes gamma control settings. + + + + +Gets or sets the color's blue component. + + + + +Gets or sets the color's green component. + + + + +Gets or sets the color's red component. + + + + +A three-component (RGB) color value; each component is a float in the range [0,1]. + + + + +Constructs a new exception object. + + The message describing the exception. + The exception that caused this exception. + + + +Constructs a new exception object. + + The message describing the exception. + + + +Constructs a new exception object. + + + + +An exception indicating that the appropriate Direct3D 9 runtime could not be found or initialized. @@ -2840,99 +2523,706 @@ any other DirectInput methods. Provides an interface to DirectInput. - + + Defines error result codes that are returned by Direct3D 9 functions. + + -Contains system-defined identifiers for device objects. +Represents errors that occur in the XInput subsystem. - + -Gets the system mouse identifier. +Constructs a new exception object. + + The message describing the exception. + The exception that caused this exception. + + + +Constructs a new exception object. + + The message describing the exception. + + + +Constructs a new exception object. - + -Gets the system keyboard identifier. +An exception indicating that the appropriate Direct3DX 9 runtime could not be found or initialized. - + -Contains system-defined identifiers for DirectInput devices. +Gets the state packet number. + + +The packet number indicates whether there have been any changes in the state of the controller. If the value +does not change in sequentially returned State structures, the controller state has not changed. + + + + +Describes instance data for a single sprite rendered by the + interface. + + D3DX10_SPRITE + + + +Gets the Y unit (0, 1). + + A that has a value of (0, 1). + + + +Gets the X unit (1, 0). + + A that has a value of (1, 0). + + + +Gets a with all of its components set to zero. + + A that has all of its components set to zero. + + + +Gets or sets the Y component of the vector. + + The Y component of the vector. + + + +Gets or sets the X component of the vector. + + The X component of the vector. + + + +Defines a two component vector. - + -Checks the specified result code. If it specifies an error, an exception matching that -error will be thrown. - - The result code. - The data key. - The data value. - - - -Checks the specified result code. If it specifies an error, an exception matching that -error will be thrown. - - The result code. - - - -Retrieves the exception that corresponds to the specified result code. - - The result code. - - - -Gets or sets the last error code. +Features of the controller. - + -Initializes a new instance of the class. - - The error message. - The wrapped exception. - - - -Initializes a new instance of the class. - - The DirectInput error code. - The error message. - - - -Initializes a new instance of the class. - - The DirectInput error code. - - - -Initializes a new instance of the class. - - The error message. - - - -Initializes a new instance of the class. +Gets the controller subtype. - + -Initializes a new instance of the class. - - Serialization information. - Streaming context information. - - - -Initializes the class. +Gets the controller type. - + -Provides standard access to all DirectInput exceptions, errors, and result codes. +Describes the capabilities of a controller. + + + + +Gets or sets the right motor speed. + + +Valid values are in the range 0 to 65,535. Zero signifies no motor use; 65,535 signifies 100% motor use. + + + + +Gets or sets the left motor speed. + + +Valid values are in the range 0 to 65,535. Zero signifies no motor use; 65,535 signifies 100% motor use. + + + + +Specifies motor speed levels for the vibration function of a controller. + + +The left motor is the low-frequency rumble motor. The right motor is the high-frequency rumble motor. +The two motors are not the same, and they create different vibration effects. + + + + +This constantmay be used as the value which LeftTrigger and RightTrigger must be greater than to register as pressed. + + + + +Can be used as a positive and negative value to filter the right thumbstick input. + + + + +Can be used as a positive and negative value to filter the left thumbstick input. + + + + +Right thumbstick y-axis value. The value is between -32768 and 32767. + + + + +Right thumbstick x-axis value. The value is between -32768 and 32767. + + + + +Left thumbstick y-axis value. The value is between -32768 and 32767. + + + + +Right thumbstick y-axis value. The value is between -32768 and 32767. + + + + +The current value of the right trigger analog control. The value is between 0 and 255. + + + + +The current value of the left trigger analog control. The value is between 0 and 255. + + + + +Describes the current state of the Xbox 360 Controller. + + +Each of the thumbstick axis members is a signed value between -32768 and 32767 describing the position of the thumbstick. +A value of 0 is centered. Negative values signify down or to the left. Positive values signify up or to the right. +The constants GamepadLeftThumbDeadZone or GamepadRightThumbDeadZone can be used as a positive and negative value to filter a +thumbstick input. + + + + +Values specifying controller subtype. + + + + +Vales specifying controller type. + + + + +The device is a game controller. + + + + +The device has an integrated voice device. + + + + +Values indicating the amount of charge remaining in a battery. + + +These are only valid for wireless, connected devices, with known battery types. The amount of use time remaining depends on the type of device. + + + + +Defines a ray in three dimensions, specified by a starting position and a direction. + + + + +Uses a user-provided function to fill each texel of each mip level of a given texture. + + A function that uses the signature of the Fill2DCallback delegate. + +Uses a user-provided function to fill each texel of each mip level of a given texture. + + A function that uses the signature of the Fill2DCallback delegate. + + + +Checks texture-creation parameters. + + Device associated with the texture. + Requested width of the texture. + Requested height of the texture. + Requested number of mip-map levels for the texture. + Usage.None or Usage.RenderTarget. + Requested format for the texture. + Memory class where the resource will be placed. + A value type containing the proposed values to pass to the texture creation functions. + + + +Function to extract image information from a stream. + + Stream containing the image. + Information about the image. + +Function to extract image information from a stream. + + Stream containing the image. + Information about the image. + + + +Function to extract image information from a stream. + + Stream containing the image. + TRUE to preserve the stream position, FALSE will move the stream pointer. + Information about the image. + +Function to extract image information from a stream. + + Stream containing the image. + TRUE to preserve the stream position, FALSE will move the stream pointer. + Information about the image. + + + Should be called when the Direct3D device has been reset. + + + Should be called when the Direct3D device has been lost. + + + Interface for classes which can respond to device lost and reset events. + + + +Gets the DataStream containing the actual data bytes. + + + + +Gets the number of bytes of data between two consecutive (1D) rows of data. + + + + +A DataRectangle provides supporting information for a DataStream whose +data is organized within two dimensions (a rectangle). + + + + +Gets the DataStream containing the actual data bytes. + + + + +Gets the number of bytes of data between two consecutive (2D) slices of data. + + + + +Gets the number of bytes of data between two consecutive (1D) rows of data. + + + + +A DataBox provides supporting information for a DataStream whose +data is organized within three dimensions (a box). + + + + +Callback function used by FillTexture. + + Texture coordinate being sampled. + Dimensions of the texel. + A 4 dimensional vector, representing a color value. X maps to R, G to Y, etc... + + + +Determines whether the specified Object instances are considered equal. + + + + + true if is the same instance as or +if both are null references or if objA.Equals(objB) returns true; otherwise, false. + + + +Returns a value that indicates whether the current instance is equal to the specified object. + + Object to make the comparison with. + + true if the current instance is equal to the specified object; false otherwise. + + + +Returns a value that indicates whether the current instance is equal to a specified object. + + Object to make the comparison with. + + true if the current instance is equal to the specified object; false otherwise. + + + +Gets the hash code of the plane object. + + Hash code of the plane object. + + + +Retrieves a string representation of the current object. + + A string that represents the object. + + + +Tests planes for inequality. + + The first source plane. + The second source plane. + + true if the planes are not equal; false otherwise. + + + +Tests planes for equality. + + The first source plane. + The second source plane. + + true if the planes are equal; false otherwise. + + + +Scales the plane by the given scaling factor. + + The source plane. + The scaling factor. + The scaled plane. + + + +Scales the plane by the given scaling factor. + + The source plane. + The scaling factor. + The scaled plane. + + + +Finds the intersection between a plane and a line. + + The source plane. + The start point of the line. + The end point of the line. + If an intersection is found, contains the intersection point between the line and the plane. + + true if an intersection is found; false otherwise. + + + +Transforms an array of normalized planes by a quaternion rotation. + + The normalized source planes. + The quaternion rotation. + The transformed planes. + + + +Transforms a normalized plane by a quaternion rotation. + + The normalized source plane. + The quaternion rotation. + When the method completes, contains the transformed plane. + + + +Transforms a normalized plane by a quaternion rotation. + + The normalized source plane. + The quaternion rotation. + The transformed plane. + + + +Transforms an array of normalized planes by a matrix. + + The normalized source planes. + The transformation matrix. + The transformed planes. + + + +Transforms a normalized plane by a matrix. + + The normalized source plane. + The transformation matrix. + When the method completes, contains the transformed plane. + + + +Transforms a normalized plane by a matrix. + + The normalized source plane. + The transformation matrix. + The transformed plane. + + + +Changes the coefficients of the normal vector of the plane to make it of unit length. + + The source plane. + When the method completes, contains the normalized plane. + + + +Changes the coefficients of the normal vector of the plane to make it of unit length. + + The source plane. + The normalized plane. + + + +Changes the coefficients of the normal vector of the plane to make it of unit length. + + + + +Calculates the dot product of the specified vector and the normal of the plane. + + The source plane. + The source vector. + The dot product of the specified vector and the normal of the plane. + + + +Calculates the dot product of a specified vector and the normal of the plane plus the distance value of the plane. + + The source plane. + The source vector. + The dot product of a specified vector and the normal of the Plane plus the distance value of the plane. + + + +Calculates the dot product of the specified vector and plane. + + The source plane. + The source vector. + The dot product of the specified vector and plane. + + + +Initializes a new instance of the class. + + +A vector with the X, Y, and Z components defining the normal to the plane. +The W component defines the distance of the plane along its normal from the origin. + + + + +Initializes a new instance of the class. + + First point of a triangle defining the plane. + Second point of a triangle defining the plane. + Third point of a triangle defining the plane. + + + +Initializes a new instance of the class. + + The normal vector to the plane. + Distance of the plane along its normal from the origin. + + + +Initializes a new instance of the class. + + X component of the normal defining the plane. + Y component of the normal defining the plane. + Z component of the normal defining the plane. + Distance of the plane along its normal from the origin. + + + +Gets or sets the W component of the quaternion. + + The W component of the quaternion. + + + +Gets or sets the Z component of the quaternion. + + The Z component of the quaternion. + + + +Gets or sets the Y component of the quaternion. + + The Y component of the quaternion. + + + +Gets or sets the X component of the quaternion. + + The X component of the quaternion. + + + +Defines a quaternion. + + + + +Defines a 4x4 matrix. + + + + +A bounding sphere, specified by a center vector and a radius. + + + + +An axis aligned bounding box, specified by minimum and maximum vectors. + + + + +Gets the device the object is bound to. + + + + +An object that is bound to a Device. + + + + +Gets the residency status of a list of resources. + + The resources to query. + A list of residency status values, one for each entry in the input resources list. The result will be +null on failure. + + + +Constructs a Device from an unmanaged pointer. + + The unmanaged IDXGIDevice pointer. + + + +Gets the adapter associated with the device. + + + + +Gets or sets the device's GPU thread priority. + + + + +An object that produces image data. + + + + +Obtains information about the device's identity. + + + + +Gets the capabilities of the device. + + + + +Gets a set of properties that control the behavior of the device. + + + + +Retrieves data from polled objects on a DirectInput device. + + + + +Retrieves buffered data from the device. + + + + +Retrieves the current device state. + + + + +Retrieves the current device state. + + + + +Runs the DirectInput control panel associated with this device. If the +device does not have a control panel associated with it, the default +device control panel is launched. + + The parent control. + + + +Runs the DirectInput control panel associated with this device. If the +device does not have a control panel associated with it, the default +device control panel is launched. + + + + +Sets the device's cooperative level. + + A control to associate with the device. + Flags that describe the cooperative level of the device. + + + +Sets the device's cooperative level. + + A handle of a window to associate with the device. + Flags that describe the cooperative level of the device. + + + +Releases access to the device. + + + + +Obtains access to the input device. + + + + +Initializes a new instance of the class. + + A pointer to a previously created DirectInput device. + + + +Initializes a new instance of the class. + + The subsystem identifier. + + + +Used to gain and release access to Microsoft DirectInput devices, manage device +properties and information, set behavior, perform initialization, create and +play force-feedback effects, and open a device's control panel. @@ -3109,6 +3399,379 @@ Retrieves the localized key name for the specified keyboard key. Contains properties that define device behavior. These properties include input buffer size and axis mode. + + + + +Contains system-defined identifiers for device objects. + + + + +Gets the system mouse identifier. + + + + +Gets the system keyboard identifier. + + + + +Contains system-defined identifiers for DirectInput devices. + + + + +Gets the DirectInput sequence number for the event. All input events are assigned an increasing +sequence number. + + + + +Gets the system time at which the input event was generated, in milliseconds. This value +wraps around approximately every 50 days. + + + + +Gets or sets the data obtained from or sent to the device. For axis input, the data reflects +the absolute or relative mode of the object. + + + + +Initializes a new instance of the class. + + + + +Initializes a new instance of the class. + + + + +Contains buffered device information. + + + + +Gets a value indicating whether the device is a Human Interface Device. + + + + +Gets the hardware revision number. + + + + +Gets the firmware revision number. + + + + +Gets the driver version number. + + + + +Gets the minimum time, in microseconds, that the device can resolve. The device +rounds any times to the nearest supported increment. + + + + +Gets the minimum time between playback of consecutive raw force commands, in microseconds. + + + + +Gets the number of Point-Of-View controllers available on the device. + + + + +Gets the number of buttons available on the device. + + + + +Gets the number of axes available on the device. + + + + +Gets the device sub-type specifier. + + + + +Gets the device type specifier. + + + + +Gets the flags associated with the device. + + + + +Describes a DirectInput device's capabilities. + + + + +Gets a value indicating whether the device is a Human Interface Device. + + + + +If the device is a Human Interface Device, this member contains +the HID usage page code. + + + + +If the device is a Human Interface Device, this member contains +the HID usage code. + + + + +Gets the friendly name for the product. + + + + +Gets the friendly name for the instance. + + + + +Gets the secondary device type specifier. + + + + +Gets the main device type specifier. + + + + +Gets the unique identifier for the driver being used for force-feedback. The +driver's manufacturer establishes this identifier. + + + + +Gets the unique identifier for the product. This identifier is established +by the manufacturer of the device. + + + + +Gets the unique identifier for the instance of the device. Instance Guids are +specific to a particular computer. + + + + +Contains information about a device's identity. + + + + +Gets or sets extra flags for the object data format. + + + + +Gets or sets the device type that describes the object. + + + + +Gets or sets the object instance number. Setting this value to -1 +indicates that any object instance is permissible. + + + + +Gets or sets the unique identifier for the axis, button, or other input +source. When requesting a data format, making this member equal to + indicates that any type of object +is permissible. + + + + +Initializes a new instance of the class. + + + + +Indicates that a type is a data format specification for DirectInput. + + + + +Gets or sets the flags describing other attributes of the data format. + + + + +Initializes a new instance of the class. + + + + +Indicates that a type is a data format specification for DirectInput. + + + + +Specifies the device type of an object data format. + + + + +The object must be a type defined by the manufacturer. + + + + +The object must be a toggle button. + + + + +The object must be a push button. + + + + +The object must be a Point-Of-View controller. + + + + +The object must be a valid force-feedback effect trigger. + + + + +The object must contain a force-feedback actuator. + + + + +The object must be a toggle or push button. + + + + +The object must be a relative axis. + + + + +The object must be an absolute or relative axis. + + + + +The object must be an absolute axis. + + + + +Specifies other attributes of an object data format. + + + + +The object must report velocity information. + + + + +The object must report position information. + + + + +The object must report force information. + + + + +The object must report acceleration information. + + + + +No extra flags specified. + + + + +Defines possible mouse object codes. + + + + +The Z axis. + + + + +The Y axis. + + + + +The X axis. + + + + +The eighth button. + + + + +The seventh button. + + + + +The sixth button. + + + + +The fifth button. + + + + +The fourth button. + + + + +The third button. + + + + +The second button. + + + + +The first button. @@ -3296,7 +3959,7 @@ The Page Up key. The Page Down key. - + The British and German OEM102 key. @@ -3616,14 +4279,14 @@ The Caps Lock key. The calculator key. - + The back slash key. - + -The BackSpace. +The Backspace. @@ -3836,309 +4499,71 @@ The number 1. The number 0. - + -Defines possible mouse object codes. +Specifies the main type of a DirectInput device. - + -The Z axis. +A specialized device with functionality unsuitable for main control of an application, +such as pedals with a wheel. - + -The Y axis. +A screen pointer device. - + -The X axis. +A remote-control device. - + -The eighth button. +A mouse or mouse-like device. - + -The seventh button. +A keyboard or keyboard-like device. - + -The sixth button. +A generic joystick. - + -The fifth button. +A console game pad. - + -The fourth button. +Controller for a flight simulation. - + -The third button. +A device for steering. - + -The second button. +Input device used to control another type of device from within the context of +the application. - + -The first button. +A device that does not fall into any other category. - + -Refers to any button. - - - - -Refers to any point-of-view controller. - - - - -Refers to any point-of-view controller. - - - - -Refers to any point-of-view controller. - - - - -Refers to any point-of-view controller. - - - - -Refers to any z-axis. - - - - -Refers to any z-axis. - - - - -Refers to any y-axis. - - - - -Refers to any y-axis. - - - - -Refers to any x-axis. - - - - -Refers to any x-axis. - - - - -Refers to any v-axis. - - - - -Refers to any v-axis. - - - - -Refers to any u-axis. - - - - -Refers to any u-axis. - - - - -Refers to any s-axis. - - - - -Refers to any s-axis. - - - - -Refers to any r-axis. - - - - -Refers to any r-axis. - - - - -Refers to any clutch. - - - - -Refers to any clutch. - - - - -Refers to any brake. - - - - -Refers to any brake. - - - - -Refers to any accelerator. - - - - -Refers to any accelerator. - - - - -Refers to any axis. - - - - -Refers to any axis. - - - - -Refers to any axis. - - - - -Defines object codes that refer to any control type on a device. - - - - -Provides scan codes for the specified Point-Of-View controller. - - - - -Provides scan codes for the specified slider. - - - - -Provides scan codes for the specified button. - - - - -The rotational X axis. - - - - -The rotational X axis. - - - - -The rotational X axis. - - - - -The rotational X axis. - - - - -The rotational X axis. - - - - -The rotational X axis. - - - - -Defines possible joystick object codes. - - - - -The data format for a DirectInput device. - - - - -Joystick data. - - - - -Mouse data. - - - - -Keyboard data. - - - - -Specifies the cooperative level for a DirectInput device. - - - - -Disables the Windows logo key. - - - - -Background operation of the device. - - - - -Foreground operation of the device. - - - - -Non exclusive access to the device. - - - - -Exclusive access to the device. +A first-person action game device. @@ -4224,171 +4649,24 @@ The device is physically attached to the user's computer. The device is a duplicate of another DirectInput device. - + -Specifies the main type of a DirectInput device. +The data format for a DirectInput device. - + -A specialized device with functionality unsuitable for main control of an application, -such as pedals with a wheel. +Joystick data. - + -A screen pointer device. +Mouse data. - + -A remote-control device. - - - - -A mouse or mouse-like device. - - - - -A keyboard or keyboard-like device. - - - - -A generic joystick. - - - - -A console game pad. - - - - -Controller for a flight simulation. - - - - -A device for steering. - - - - -Input device used to control another type of device from within the context of -the application. - - - - -A device that does not fall into any other category. - - - - -A first-person action game device. - - - - -Specifies other attributes of a data format. - - - - -The axes are in relative mode. - - - - -The axes are in absolute mode. - - - - -Specifies other attributes of an object data format. - - - - -The object must report velocity information. - - - - -The object must report position information. - - - - -The object must report force information. - - - - -The object must report acceleration information. - - - - -No extra flags specified. - - - - -Specifies the device type of an object data format. - - - - -The object must be a type defined by the manufacturer. - - - - -The object must be a toggle button. - - - - -The object must be a push button. - - - - -The object must be a Point-Of-View controller. - - - - -The object must be a valid force-feedback effect trigger. - - - - -The object must contain a force-feedback actuator. - - - - -The object must be a toggle or push button. - - - - -The object must be a relative axis. - - - - -The object must be an absolute or relative axis. - - - - -The object must be an absolute axis. +Keyboard data. @@ -4406,330 +4684,191 @@ The axis works with relative data. The axis works with absolute data. - + -Gets the number of parameters in the output signature. +Specifies other attributes of a data format. - + -Gets the number of parameters in the input signature. +The axes are in relative mode. - + -Gets the number of resource (textures and buffers) bound to a shader. +The axes are in absolute mode. - + -Gets the number of constant buffers. +Specifies the cooperative level for a DirectInput device. - + -Gets the creator. +Disables the Windows logo key. - + -Gets the version. +Background operation of the device. - + -Tests if the controller is currently connected. - - -Wireless controllers are not considered active upon system startup, and calls to any of the XInput functions before a wireless controller -is made active return ERROR_DEVICE_NOT_CONNECTED. Game titles must examine the return code and be prepared to handle this condition. -Wired controllers are automatically activated when they are inserted. Wireless controllers are activated when the user presses the START -or Xbox Guide button to power on the controller. - - - - -Gets information on the controllers battery. - - Input flags that identify the device type. - Out reference to BatteryInformation structure that receives the battery status information. - - - -Retrieves a gamepad input event. - - Input flags that identify the device type. - Out reference to KeyStroke structure that receives an input event. - False if no new keys have been pressed. - - - -Retrieves the sound rendering and sound capture device GUIDs that are associated with the headset connected to the specified controller. - - Out reference to Guid structure that receives the GUID of the headset sound rendering device. - Out reference to Guid structure that receives the GUID of the headset sound capture device. - - - -Retrieves the capabilities and features of a connected controller. - - Input flags that identify the device type. - Out reference to Capabilities structure that receives the controller capabilities. - - - -Sends data to a connected controller. This function is used to activate the vibration function of a controller. - - Reference structure containing the vibration information to send to the controller. - - - -Retrieves the current state of the specified controller. - - Out reference to State structure that receives the current state of the controller. - - - -Initializes a new instance of Controller - - Index of the user's controller. - - - - - - -Vibration structure that describes available vibration functionality and resolutions. +Foreground operation of the device. - + -Gamepad structure that describes available controller features and control resolutions. +Non exclusive access to the device. - + -Features of the controller. +Exclusive access to the device. - + -Subtype of the game controller. +Reserved. Always returns 0. - + -Controller type. +Gets a value equivalent to that returned by the unmanaged function QueryPerformanceCounter. - + -Describes the capabilities of a connected controller. - - -Sets the structure members to indicate which inputs the device supports. For binary state controls, such as digital buttons, the corresponding bit reflects -whether or not the control is supported by the device. For proportional controls, such as thumbsticks, the value indicates the resolution for that control. -Some number of the least significant bits may not be set, indicating that the control does not provide resolution to that level. - - - - -Speed of the right motor. Valid values are in the range 0 to 65,535. Zero signifies no motor use; -65,535 signifies 100 percent motor use. +Gets the number of times a vertical blank has occured. - + -Speed of the left motor. Valid values are in the range 0 to 65,535. Zero signifies no motor use; -65,535 signifies 100 percent motor use. +Gets the number of times a vertical blank has occured. - + -Specifies motor speed levels for the vibration function of a controller. - - -The left motor is the low-frequency rumble motor. The right motor is the high-frequency rumble motor. -The two motors are not the same, and they create different vibration effects. - - - - -Gamepad structure containing the current state of an Xbox 360 Controller. +Gets the number of times an image has been presented to an output. - + -State packet number. The packet number indicates whether there have been any changes in the state of the controller. -If the PacketNumber member is the same in sequentially returned State structures, the controller state has not changed. +Provides basic rendering statistics. All counts are relative to machine boot. - + -Represents the state of a controller. +Sets the window handle associated with the factory (the window through which the user signals fullscreen +transitions). + + The window handle. + Flags controlling window association behavior. + A Result code. + + + +Gets the window handle associated with the factory (the window through which the user signals fullscreen +transitions). + + The window handle. + + + +Creates a software adapater interface. + + The module for the software adapter DLL. + The specified adapter, or null on failure. + + + +Creates a software adapater interface. + + The unmanaged HMODULE for the software adapter DLL. + The specified adapter, or null on failure. + + + +Gets the specified adapter. + + The index of the desired adapter. + The specified adapter, or null on failure. + + + +Gets the number of available adapters. + + The number of available adapters. + + + +Constructs a Factory from an unmanaged pointer. + + The unmanaged IDXGIFactory pointer. + + + +Constructs a new Factory. - + -HID code corresponding to the input. If there is no corresponding HID code, this value is zero. +Provides access to connected adapters and window associations. A Factory +is also required to create most DXGI objects. - + -Index of the signed-in gamer associated with the device. Can be a value in the range 0–3. +Determines if a device interface for a graphics component is supported by the adapter. + + The device interface type. + Receives the user-mode driver version of the interface. + True if the device interface is supported, false otherwise. + + + +Determines if a device interface for a graphics component is supported by the adapter. + + The device interface type. + True if the device interface is supported, false otherwise. + + + +Gets the specified output. + + The desired output, or null on failure. + + + +Gets the number of outputs on the adapter. + + The number of outputs on the adapter. + + + +Constructs an Adapter from an unmanaged pointer. + + The unmanaged IDXGIAdapter pointer. + + + +Gets the adapter's description. - + -Combination of flags that indicate the keyboard state at the time of the input event. +A display subsystem (one or more GPUs, DACs, and video memory). - - -Virtual-key code of the key, button, or stick movement. - - - - -Specifies keystroke data returned by Controller.GetKeystroke - - - - -This constantmay be used as the value which LeftTrigger and RightTrigger must be greater than to register as pressed. - - - - -Can be used as a positive and negative value to filter the right thumbstick input. - - - - -Can be used as a positive and negative value to filter the left thumbstick input. - - - - -Right thumbstick y-axis value. The value is between -32768 and 32767. - - - - -Right thumbstick x-axis value. The value is between -32768 and 32767. - - - - -Left thumbstick y-axis value. The value is between -32768 and 32767. - - - - -Right thumbstick y-axis value. The value is between -32768 and 32767. - - - - -The current value of the right trigger analog control. The value is between 0 and 255. - - - - -The current value of the left trigger analog control. The value is between 0 and 255. - - - - -Bitmask of the device digital buttons - - - - -Describes the current state of the Xbox 360 Controller. - - -Each of the thumbstick axis members is a signed value between -32768 and 32767 describing the position of the thumbstick. -A value of 0 is centered. Negative values signify down or to the left. Positive values signify up or to the right. -The constants GamepadLeftThumbDeadZone or GamepadRightThumbDeadZone can be used as a positive and negative value to filter a -thumbstick input. - - - - -Index of the signed-in gamer associated with the device. - - - - -Devices that support batteries. - - - - -Flags that identify the device type. - - - - -The amount of charge remaining in the battery. - - -These are only valid for wireless, connected devices, with known battery types. The amount of use time remaining depends on the type of device. - - - - -Flags for battery type - - - - -Features of the controller. - - - - -The device has an integrated voice device. - - - - -Subtype of the game controller. - - - - -Controller type. - - - - -The device is a game controller. - - - - -Controller input virtual key codes - - - - -Flags that indicate the keyboard state at the time of the input event. - - - - -Bitmask of the device digital buttons - - - + Gets or sets the distance of the plane along its normal from the origin. The distance of the plane along its normal from the origin. - + Gets or sets the normal vector of the plane. @@ -4737,7 +4876,7 @@ Gets or sets the normal vector of the plane. -Defines a 3D mathematical plane. +Defines a plane in three dimensions. @@ -4784,42 +4923,7 @@ Gets or sets the X component of the vector. -Defines a vector with three components. - - - - -Gets the Y unit (0, 1). - - A that has a value of (0, 1). - - - -Gets the X unit (1, 0). - - A that has a value of (1, 0). - - - -Gets a with all of its components set to zero. - - A that has all of its components set to zero. - - - -Gets or sets the Y component of the vector. - - The Y component of the vector. - - - -Gets or sets the X component of the vector. - - The X component of the vector. - - - -Defines a vector with two components. +Defines a three component vector. @@ -4878,7 +4982,53 @@ Gets or sets the X component of the vector. -Defines a vector with four components. +Defines a four component vector. + + + + +Describes the result of an intersection with a plane in three dimensions. + + + + +Describes how one bounding volume contains another. + + + + +Gets or sets the viewport's maximum Z depth. + + + + +Gets or sets the viewport's minimum Z depth. + + + + +Gets or sets the viewport's height. + + + + +Gets or sets the viewport's width. + + + + +Gets or sets the viewport's Y position. + + + + +Gets or sets the viewport's X position. + + + + +Defines a rectangular region of a render-target surface onto which +a 3D rendering is projected. @@ -4919,97 +5069,121 @@ Tests the device to see if it supports conversion from one display format to ano 0 if successful. Otherwise an HRESULT error code for the function. TRUE if successful, FALSE if not. - + -ZBuffer usage types. +Constructs a new exception object. + + The result code that caused this exception. + + + +Constructs a new exception object. + + The message describing the exception. + The exception that caused this exception. + + + +Constructs a new exception object. + + The message describing the exception. + + + +Constructs a new exception object. - - Used to enable a W-buffer. - - - Used to disable the depth buffer. - - - Used to enable the depth buffer. - - + -Stencil operations. +Represents errors that occur in the XInput subsystem. - - Decrement the stencil value. - - - Increment the stencil value. - - - Invert the stencil value. - - - Decrement and clamp stencil value. - - - Increment and clamp stencil value. - - - Replace the stencil value. - - - Zero the stencil value. - - - Keep the stencil value. - - + -Comparison operations. +Gets the list of curve control point positions. - - Always accept. - - - Accept if greater than or equal - - - Accept if not equal. - - - Accept if greater than. - - - Accept if equal or less than. - - - Accept if equal. - - - Accept if less than. - - - Never accept - - + -Shading modes. +Gets a value indicating the minimum range of the curve control point positions. - - Gouraud shading. - - - Flat shading. - - + -Gets the height of the texture in texels. +Gets a value indicating the maximum range of the curve control point positions. - + -Gets the width of the texture in texels. +Gets a value indicating whether gamma scale and offset transformation is supported. + + + + +Describes gamma control capabilities. + + + + +Constructs a new exception object. + + The result code that caused this exception. + + + +Constructs a new exception object. + + The message describing the exception. + The exception that caused this exception. + + + +Constructs a new exception object. + + The message describing the exception. + + + +Constructs a new exception object. + + + + +Represents errors that occur in the DXGI subsystem. + + + + +Gets or sets the W component of the vector. + + The W component of the vector. + + + +Gets or sets the Z component of the vector. + + The Z component of the vector. + + + +Gets or sets the Y component of the vector. + + The Y component of the vector. + + + +Gets or sets the X component of the vector. + + The X component of the vector. + + + +Defines a four component vector, using half precision floating point coordinates. + + + + +A half precision (16 bit) floating point value. @@ -5022,17 +5196,710 @@ Gets the resource's dimension (type). Gets or sets the resource's eviction priority. - + -Function to convert a standard RECT to a GDI+ rectangle. +Constructs a Resource from an unmanaged pointer. - RECT to convert. - A GDI+ rectangle structure. + The unmanaged ID3D10Resource pointer. + + -Function to convert a standard RECT to a GDI+ rectangle. +Z-buffer usage types. + + + + +Used to enable a W-buffer. + + + + +Used to disable the depth buffer. + + + + +Used to enable the depth buffer. + + + + +Stencil operations. + + + + +Decrement the stencil value. + + + + +Increment the stencil value. + + + + +Invert the stencil value. + + + + +Decrement and clamp stencil value. + + + + +Increment and clamp stencil value. + + + + +Replace the stencil value. + + + + +Zero the stencil value. + + + + +Keep the stencil value. + + + + +Shading modes. + + + + +Gouraud shading. + + + + +Flat shading. + + + + +Comparison operations. + + + + +Always accept. + + + + +Accept if greater than or equal + + + + +Accept if not equal. + + + + +Accept if greater than. + + + + +Accept if equal or less than. + + + + +Accept if equal. + + + + +Accept if less than. + + + + +Never accept + + + + Gets the internal pointer to the current stream's backing store. + An IntPtr to the buffer being used as a backing store. + + + Gets or sets the position within the current stream. + The current position within the stream. + Stream Class + + + Gets the length in bytes of the stream. + A long value representing the length of the stream in bytes. + + + Gets a value indicating whether the current stream supports writing. + + true if the stream supports writing; false otherwise. + + + Gets a value indicating whether the current stream supports seeking. + Always true. + + + Gets a value indicating whether the current stream supports reading. + + true if the stream supports reading; false otherwise. + + + +Not supported. + + Always ignored. + Always thrown. + + + +Not supported. + + Always thrown. + + + +Reads an array of values from the current stream, and advances the current position +within this stream by the number of bytes written. + + The type of the values to be read from the stream. + An array of values that was read from the current stream. + This stream does not support reading. + + is less than zero. + + + +Reads a sequence of bytes from the current stream and advances the position +within the stream by the number of bytes read. + + An array of values to be read from the stream. + The zero-based byte offset in buffer at which to begin storing +the data read from the current stream. + The maximum number of bytes to be read from the current stream. + This stream does not support reading. + + is a null reference. + + or leads outside the bounds of . + + + +Reads a single value from the current stream and advances the current +position within this stream by the number of bytes read. + + The type of the value to be read from the stream. + The value that was read. + This stream does not support reading. + There is not enough space in the current +stream to read a value of this type. + + + +Writes a range of bytes to the current stream, and advances the current position +within this stream by the number of bytes written. + + A pointer to the location to start copying from. + The number of bytes to copy from source to the current stream. + This stream does not support writing. + + is a zero pointer. + + is less than zero. + + + +Writes an array of values to the current stream, and advances the current position +within this stream by the number of bytes written. + + An array of values to be written to the current stream. + This stream does not support writing. + + is a null reference. + + + +Writes an array of values to the current stream, and advances the current position +within this stream by the number of bytes written. + + The type of the values to be written to the stream. + An array of values to be written to the stream. + The zero-based offset in data at which to begin copying values to the current stream. + The number of values to be written to the current stream. If this is zero, +all of the contents will be written. + This stream does not support writing. + + is a null reference. + + or leads outside the bounds of . + + + +Writes a sequence of bytes to the current stream and advances the current +position within this stream by the number of bytes written. + + An array of bytes. This method copies count bytes from buffer to the current stream. + The zero-based byte offset in buffer at which to begin copying bytes to the current stream. + The number of bytes to be written to the current stream. + This stream does not support writing. + + is a null reference. + + or leads outside the bounds of . + + + +Writes a single value to the stream, and advances the current position +within this stream by the number of bytes written. + + The type of the value to be written to the stream. + The value to write to the stream. + This stream does not support writing. + There is not enough space +remaining in the stream to write this type of value. + + + Sets the position within the current stream. + Attempted to seek outside of the bounds of the stream. + + + +Initializes a new instance of the DataStream class, using a user provided buffer as a backing store. + + A pointer to the buffer to be used as a backing store. + The size of the buffer provided, in bytes. + + true if reading from the buffer should be allowed, false otherwise. + + true if writing to the buffer should be allowed, false otherwise. + + is a zero pointer. + + is less than 1. + + + +Initializes a new instance of the DataStream class, and allocates a new buffer to use as a backing store. + + The size of the buffer to be allocated, in bytes. + + true if reading from the buffer should be allowed, false otherwise. + + true if writing to the buffer should be allowed, false otherwise. + + is less than 1. + + + +Provides a stream interface to a buffer located in unmanaged memory. + + + + +Gets or sets the color's alpha component. + + + + +Gets or sets the color's blue component. + + + + +Gets or sets the color's green component. + + + + +Gets or sets the color's red component. + + + + +A four-component (RGBA) color value; each component is a float in the range [0,1]. + + + + +Values which control a swap chain's window association behavior. + + + + +Gets the device the object is bound to. + + The device, or null on failure. + + + +Constructs a DeviceChild from an unmanaged pointer. + + The unmanaged ID3D10DeviceChild pointer. + + + +An object that is bound to a Device. + + + + +Flags that control the behavior of rendering. + + D3DX10_SPRITE_FLAG + + + +Increases the reference count of textures when DrawSpritesBuffered is called. + + + + +Saves render state when sprites are rendered, and restores the previous state once rendering +is complete. + + + + +Sort the sprites from front to back based on their depth; sprites closer to the +camera will be rendered first. + + + + +Sort the sprites from back to front based on their depth; sprites further away from the +camera will be rendered first. + + + + +Group sprites by texture before rendering; improves performance when many sprites +share textures. + + + + +No flags. + + + + +Performs object cleanup. + + + + +Gets or sets a string identifying the object for debug purposes. + + + + +Gets or sets a value indicating whether or not the object is in the default allocation pool. + + + + +Gets a stack trace to the location +that the object was created. + + + + +Gets an IntPtr to the underlying native COM interface. + + + + +Gets a value that indicates whether the object has been disposed. + + + + +The base class for all SlimDX types which represent COM interfaces. + + + + +Generates a report of all outstanding COM objects (objects that have not been disposed) +tracked by SlimDX. The report includes the object's type and a stack trace to its creation point. + + A string containing the leak report. + + + +Removes a COM object from the table. + + The object to remove. + + true if the object was in the table and was removed; otherwise, false. + + + +Adds a COM object to the table. This will set the object's CreationSource parameter if +object tracking is on. + + The object to add. + + + +Gets a list of all the COM objects tracked by SlimDX. + + + + +Maintains a list of all the COM objects managed by SlimDX. + + + + +Constructs a new exception object. + + The result code that caused this exception. + + + +Constructs a new exception object. + + The message describing the exception. + The exception that caused this exception. + + + +Constructs a new exception object. + + The message describing the exception. + + + +Constructs a new exception object. + + + + +Represents errors that occur in the Direct3D 10 subsystem. + + + + +When overridden in a derived class, sets the SerializationInfo with information about the exception. + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + +Constructs a new exception object. + + The result code that caused this exception. + + + +Constructs a new exception object. + + The message describing the exception. + The exception that caused this exception. + + + +Constructs a new exception object. + + The message describing the exception. + + + +Constructs a new exception object. + + + + +Gets the Result code for the exception. This value indicates +the specific type of failure that occured within SlimDX. + + + + +The base class for errors that occur in SlimDX. + + + + +Clear out all watches on all result codes. + + + + +Remove a watch on the specified result code. +If no watch was set, this call is ignored. + + The result code to stop watching. + + + +Add a watch indicating the action to be taken when a method returns the +specified result code is returned. + + The result code to watch for. + The action to take when the specified result code occurs. + + + +Gets or sets whether SlimDX detects double disposal of objects. If set to true, SlimDX will throw +an ObjectDisposedException when an already disposed object is disposed. If set to false, double +disposals will be silently ignored. The default value is false. + + + + +Gets or sets whether SlimDX defaults to throwing exceptions on result codes +that indicate errors. The default value is true. + + + + +Gets or sets whether SlimDX is currently tracking call stacks from object creation. If set to false, +objects will not carry a call stack from when they were created. The default value is false. + + Object tracking is a useful debugging facility, but may have a significant negative +impact on performance. It will default to enabled when the DEBUG symbol is defined. + + + +Used to control global options that affect all of SlimDX. + + + + +Returns a value indicating whether the two results are equivalent. + + The first value to compare. + The second value to compare. + + true if has the same value as ; otherwise, false. + + + +Returns a value indicating whether this instance is equal to the specified result. + + A to compare with this instance. + + true if has the same value as this instance; otherwise, false. + + + +Returns a value indicating whether this instance is equal to the specified object. + + An object to compare with this instance. + + true if has the same value as this instance; otherwise, false. + + + +Returns the hash code for this instance. + + A 32-bit signed integer hash code. + + + +Converts the value of the result to its equivalent string representation. + + The string representation of the value of this instance. + + + +Tests for inequality between two results. + + The first value to compare. + The second value to compare. + + true if has a different value than ; otherwise, false. + + + +Tests for equality between two results. + + The first value to compare. + The second value to compare. + + true if has the same value as ; otherwise, false. + + + +Gets the last recorded result of a method or operation. + + + + +Gets a value indicating whether or not the result represents a failed operation. + + + + +Gets a value indicating whether or not the result represents a successful operation. + + + + +Gets the friendly description of the result. + + + + +Gets the name of the result. + + + + +Gets the actual HRESULT result code. + + + + +Represents the result of a method or operation. + + + + +Specifies possible behaviors of result watches. + + + + +Throw an exception whenever the result occurs. + + + + +Break whenever the result occurs. + + + + +Always ignore the result. + + + + +Specifies possible performance profiling options. + + + + +Do not allow performance profiling. + + + + +No performance options specified. - RECT to convert. - A GDI+ rectangle structure. \ No newline at end of file diff --git a/Build/d3dx9_36.dll b/Build/d3dx9_36.dll deleted file mode 100644 index 05831a41..00000000 Binary files a/Build/d3dx9_36.dll and /dev/null differ diff --git a/Build/d3dx9_37.dll b/Build/d3dx9_37.dll new file mode 100644 index 00000000..cc1d8eb9 Binary files /dev/null and b/Build/d3dx9_37.dll differ diff --git a/Build/dxwebsetup.exe b/Build/dxwebsetup.exe new file mode 100644 index 00000000..aea6472f Binary files /dev/null and b/Build/dxwebsetup.exe differ diff --git a/Source/Builder.csproj b/Source/Builder.csproj index e0e84254..20f69c87 100644 --- a/Source/Builder.csproj +++ b/Source/Builder.csproj @@ -354,10 +354,7 @@ False ..\Build\Sharpzip.dll - - False - ..\Build\SlimDX.dll - + diff --git a/Source/Controls/MouseInput.cs b/Source/Controls/MouseInput.cs index abddddd4..2ba44762 100644 --- a/Source/Controls/MouseInput.cs +++ b/Source/Controls/MouseInput.cs @@ -69,7 +69,7 @@ namespace CodeImp.DoomBuilder.Controls // Set cooperative level mouse.SetCooperativeLevel(source, - CooperativeLevel.NonExclusive | CooperativeLevel.Foreground); + CooperativeLevel.Nonexclusive | CooperativeLevel.Foreground); // Aquire device try { mouse.Acquire(); } @@ -112,11 +112,10 @@ namespace CodeImp.DoomBuilder.Controls MouseState ms; float changex, changey; - try + // Poll the device + Result result = mouse.Poll(); + if(result.IsSuccess) { - // Poll the device - mouse.Poll(); - // Get the changes since previous poll ms = mouse.GetCurrentState(); @@ -127,16 +126,7 @@ namespace CodeImp.DoomBuilder.Controls // Return changes return new Vector2D(changex, changey); } - // Lost device? - catch(InputLostException) - { - // Reaquire device - try { mouse.Acquire(); } - catch(Exception) { } - return new Vector2D(); - } - // Lost device? - catch(DeviceNotAcquiredException) + else { // Reaquire device try { mouse.Acquire(); } diff --git a/Source/General/General.cs b/Source/General/General.cs index 06845ea5..e9b878cb 100644 --- a/Source/General/General.cs +++ b/Source/General/General.cs @@ -395,6 +395,9 @@ namespace CodeImp.DoomBuilder // Enable OS visual styles Application.EnableVisualStyles(); Application.DoEvents(); // This must be here to work around a .NET bug + + // Hook to DLL loading failure event + AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve); // Get a reference to this assembly thisasm = Assembly.GetExecutingAssembly(); @@ -452,7 +455,9 @@ namespace CodeImp.DoomBuilder // Start Direct3D General.WriteLogLine("Starting Direct3D graphics driver..."); - Direct3D.Initialize(); + try { Direct3D.Initialize(); } + catch(Direct3D9NotFoundException) { AskDownloadDirectX(); return; } + catch(Direct3DX9NotFoundException) { AskDownloadDirectX(); return; } // Load plugin manager General.WriteLogLine("Loading plugins..."); @@ -489,6 +494,33 @@ namespace CodeImp.DoomBuilder Terminate(false); } } + + // This handles DLL linking errors + private static System.Reflection.Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args) + { + // Check if SlimDX failed loading + if(args.Name.Contains("SlimDX")) AskDownloadDirectX(); + + // Return null + return null; + } + + // This asks the user to download DirectX + private static void AskDownloadDirectX() + { + // Ask the user to download DirectX + if(MessageBox.Show("This application requires the latest version of Microsoft DirectX installed on your computer." + Environment.NewLine + + "Do you want to install and update Microsoft DirectX now?", "DirectX Error", System.Windows.Forms.MessageBoxButtons.YesNo, + System.Windows.Forms.MessageBoxIcon.Exclamation) == System.Windows.Forms.DialogResult.Yes) + { + // Open DX web setup + //System.Diagnostics.Process.Start("http://www.microsoft.com/downloads/details.aspx?FamilyId=2DA43D38-DB71-4C1B-BC6A-9B6652CD92A3").WaitForExit(1000); + System.Diagnostics.Process.Start(Path.Combine(apppath, "dxwebsetup.exe")).WaitForExit(1000); + } + + // End program here + Terminate(false); + } #endregion @@ -505,15 +537,6 @@ namespace CodeImp.DoomBuilder // Unbind static methods from actions General.Actions.UnbindMethods(typeof(General)); - // Clean up - if(map != null) map.Dispose(); - map = null; - mainwindow.Dispose(); - actions.Dispose(); - clock.Dispose(); - plugins.Dispose(); - Direct3D.Terminate(); - // Save colors colors.SaveColors(settings.Config); @@ -527,6 +550,14 @@ namespace CodeImp.DoomBuilder General.WriteLogLine("Saving program configuration..."); settings.Save(Path.Combine(settingspath, SETTINGS_FILE)); + // Clean up + if(map != null) map.Dispose(); map = null; + if(mainwindow != null) mainwindow.Dispose(); + if(actions != null) actions.Dispose(); + if(clock != null) clock.Dispose(); + if(plugins != null) plugins.Dispose(); + try { Direct3D.Terminate(); } catch(Exception) { } + // Application ends here and now General.WriteLogLine("Termination done"); Application.Exit(); diff --git a/Source/Geometry/EarClipVertex.cs b/Source/Geometry/EarClipVertex.cs index 5aeba00b..2b66a202 100644 --- a/Source/Geometry/EarClipVertex.cs +++ b/Source/Geometry/EarClipVertex.cs @@ -23,7 +23,7 @@ using System.Globalization; using System.Text; using CodeImp.DoomBuilder.Geometry; using CodeImp.DoomBuilder.Rendering; -using SlimDX.Direct3D; +using SlimDX.Direct3D9; using System.Drawing; using CodeImp.DoomBuilder.Map; diff --git a/Source/Geometry/LinedefSide.cs b/Source/Geometry/LinedefSide.cs index 4d852005..cfce0d0c 100644 --- a/Source/Geometry/LinedefSide.cs +++ b/Source/Geometry/LinedefSide.cs @@ -23,7 +23,7 @@ using System.Globalization; using System.Text; using CodeImp.DoomBuilder.Geometry; using CodeImp.DoomBuilder.Rendering; -using SlimDX.Direct3D; +using SlimDX.Direct3D9; using System.Drawing; using CodeImp.DoomBuilder.Map; diff --git a/Source/Geometry/LinedefsTracePath.cs b/Source/Geometry/LinedefsTracePath.cs index f97050e7..7b3a1b26 100644 --- a/Source/Geometry/LinedefsTracePath.cs +++ b/Source/Geometry/LinedefsTracePath.cs @@ -23,7 +23,7 @@ using System.Globalization; using System.Text; using CodeImp.DoomBuilder.Geometry; using CodeImp.DoomBuilder.Rendering; -using SlimDX.Direct3D; +using SlimDX.Direct3D9; using System.Drawing; using CodeImp.DoomBuilder.Map; diff --git a/Source/Geometry/Polygon.cs b/Source/Geometry/Polygon.cs index 2877c09d..d49359e9 100644 --- a/Source/Geometry/Polygon.cs +++ b/Source/Geometry/Polygon.cs @@ -23,7 +23,7 @@ using System.Globalization; using System.Text; using CodeImp.DoomBuilder.Geometry; using CodeImp.DoomBuilder.Rendering; -using SlimDX.Direct3D; +using SlimDX.Direct3D9; using System.Drawing; using CodeImp.DoomBuilder.Map; diff --git a/Source/Geometry/SectorTools.cs b/Source/Geometry/SectorTools.cs index 74939478..d02ff357 100644 --- a/Source/Geometry/SectorTools.cs +++ b/Source/Geometry/SectorTools.cs @@ -23,7 +23,7 @@ using System.Globalization; using System.Text; using CodeImp.DoomBuilder.Geometry; using CodeImp.DoomBuilder.Rendering; -using SlimDX.Direct3D; +using SlimDX.Direct3D9; using System.Drawing; using CodeImp.DoomBuilder.Map; diff --git a/Source/Geometry/SidedefsTracePath.cs b/Source/Geometry/SidedefsTracePath.cs index bc6c99f3..5118da67 100644 --- a/Source/Geometry/SidedefsTracePath.cs +++ b/Source/Geometry/SidedefsTracePath.cs @@ -23,7 +23,7 @@ using System.Globalization; using System.Text; using CodeImp.DoomBuilder.Geometry; using CodeImp.DoomBuilder.Rendering; -using SlimDX.Direct3D; +using SlimDX.Direct3D9; using System.Drawing; using CodeImp.DoomBuilder.Map; diff --git a/Source/Geometry/TriangleList.cs b/Source/Geometry/TriangleList.cs index d5373d3c..202ef95a 100644 --- a/Source/Geometry/TriangleList.cs +++ b/Source/Geometry/TriangleList.cs @@ -23,7 +23,7 @@ using System.Globalization; using System.Text; using CodeImp.DoomBuilder.Geometry; using CodeImp.DoomBuilder.Rendering; -using SlimDX.Direct3D; +using SlimDX.Direct3D9; using System.Drawing; using CodeImp.DoomBuilder.Map; diff --git a/Source/Geometry/Triangulator.cs b/Source/Geometry/Triangulator.cs index 7540e027..f8ee07cd 100644 --- a/Source/Geometry/Triangulator.cs +++ b/Source/Geometry/Triangulator.cs @@ -23,7 +23,7 @@ using System.Globalization; using System.Text; using CodeImp.DoomBuilder.Geometry; using CodeImp.DoomBuilder.Rendering; -using SlimDX.Direct3D; +using SlimDX.Direct3D9; using System.Drawing; using CodeImp.DoomBuilder.Map; diff --git a/Source/Interface/IMainForm.cs b/Source/Interface/IMainForm.cs index d32d6db8..e8518018 100644 --- a/Source/Interface/IMainForm.cs +++ b/Source/Interface/IMainForm.cs @@ -27,7 +27,6 @@ using System.Reflection; using System.Drawing; using System.ComponentModel; using CodeImp.DoomBuilder.Map; -using SlimDX.Direct3D; using SlimDX.Direct3D9; using SlimDX; using CodeImp.DoomBuilder.Geometry; diff --git a/Source/Interface/ImageBrowserItem.cs b/Source/Interface/ImageBrowserItem.cs index 978cc100..7fcd876f 100644 --- a/Source/Interface/ImageBrowserItem.cs +++ b/Source/Interface/ImageBrowserItem.cs @@ -30,7 +30,8 @@ using CodeImp.DoomBuilder.Config; using CodeImp.DoomBuilder.Rendering; using System.Drawing.Imaging; using System.Drawing.Drawing2D; -using SlimDX.Direct3D; +using SlimDX.Direct3D9; +using SlimDX; #endregion @@ -172,7 +173,7 @@ namespace CodeImp.DoomBuilder.Interface // This brightens or darkens a color private Color AdjustedColor(Color c, float amount) { - ColorValue cc = ColorValue.FromColor(c); + Color4 cc = new Color4(c); // Adjust color cc.Red = Saturate((cc.Red * (1f + amount)) + (amount * 0.5f)); diff --git a/Source/Interface/MainForm.cs b/Source/Interface/MainForm.cs index 6b553e34..c60bfa1a 100644 --- a/Source/Interface/MainForm.cs +++ b/Source/Interface/MainForm.cs @@ -242,33 +242,36 @@ namespace CodeImp.DoomBuilder.Interface { int windowstate; - General.WriteLogLine("Closing main interface window..."); + if(e.CloseReason != CloseReason.ApplicationExitCall) + { + General.WriteLogLine("Closing main interface window..."); - // Stop exclusive mode, if any is active - StopExclusiveMouseInput(); - SetProcessorState(false); - - // Unbind methods - General.Actions.UnbindMethods(this); - - // Determine window state to save - if(this.WindowState != FormWindowState.Minimized) - windowstate = (int)this.WindowState; - else - windowstate = (int)FormWindowState.Normal; - - // Save window settings - General.Settings.WriteSetting("mainwindow.positionx", lastposition.X); - General.Settings.WriteSetting("mainwindow.positiony", lastposition.Y); - General.Settings.WriteSetting("mainwindow.sizewidth", lastsize.Width); - General.Settings.WriteSetting("mainwindow.sizeheight", lastsize.Height); - General.Settings.WriteSetting("mainwindow.windowstate", windowstate); + // Stop exclusive mode, if any is active + StopExclusiveMouseInput(); + SetProcessorState(false); - // Save recent files - SaveRecentFiles(); - - // Terminate the program - General.Terminate(true); + // Unbind methods + General.Actions.UnbindMethods(this); + + // Determine window state to save + if(this.WindowState != FormWindowState.Minimized) + windowstate = (int)this.WindowState; + else + windowstate = (int)FormWindowState.Normal; + + // Save window settings + General.Settings.WriteSetting("mainwindow.positionx", lastposition.X); + General.Settings.WriteSetting("mainwindow.positiony", lastposition.Y); + General.Settings.WriteSetting("mainwindow.sizewidth", lastsize.Width); + General.Settings.WriteSetting("mainwindow.sizeheight", lastsize.Height); + General.Settings.WriteSetting("mainwindow.windowstate", windowstate); + + // Save recent files + SaveRecentFiles(); + + // Terminate the program + General.Terminate(true); + } } #endregion diff --git a/Source/Map/Linedef.cs b/Source/Map/Linedef.cs index 8ebb1b7c..2ffb014f 100644 --- a/Source/Map/Linedef.cs +++ b/Source/Map/Linedef.cs @@ -23,7 +23,7 @@ using System.Globalization; using System.Text; using CodeImp.DoomBuilder.Geometry; using CodeImp.DoomBuilder.Rendering; -using SlimDX.Direct3D; +using SlimDX.Direct3D9; using System.Drawing; #endregion diff --git a/Source/Map/MapSet.cs b/Source/Map/MapSet.cs index 9d9203e6..53914df4 100644 --- a/Source/Map/MapSet.cs +++ b/Source/Map/MapSet.cs @@ -22,7 +22,7 @@ using System.Collections.Generic; using System.Globalization; using System.Text; using CodeImp.DoomBuilder.Geometry; -using SlimDX.Direct3D; +using SlimDX.Direct3D9; using CodeImp.DoomBuilder.Rendering; using SlimDX; using System.Drawing; diff --git a/Source/Map/Vertex.cs b/Source/Map/Vertex.cs index 5d632c4d..2e5a4ac5 100644 --- a/Source/Map/Vertex.cs +++ b/Source/Map/Vertex.cs @@ -23,7 +23,7 @@ using System.Globalization; using System.Text; using CodeImp.DoomBuilder.Geometry; using CodeImp.DoomBuilder.Rendering; -using SlimDX.Direct3D; +using SlimDX.Direct3D9; using System.Drawing; #endregion diff --git a/Source/Rendering/Color2DShader.cs b/Source/Rendering/Color2DShader.cs index 5f8d7783..d4d6ac91 100644 --- a/Source/Rendering/Color2DShader.cs +++ b/Source/Rendering/Color2DShader.cs @@ -27,7 +27,6 @@ using System.Reflection; using System.Drawing; using System.ComponentModel; using CodeImp.DoomBuilder.Map; -using SlimDX.Direct3D; using SlimDX.Direct3D9; using SlimDX; using CodeImp.DoomBuilder.Geometry; diff --git a/Source/Rendering/ColorCollection.cs b/Source/Rendering/ColorCollection.cs index 1a7866b6..31255655 100644 --- a/Source/Rendering/ColorCollection.cs +++ b/Source/Rendering/ColorCollection.cs @@ -24,7 +24,10 @@ using System.Text; using System.Reflection; using System.Drawing; using CodeImp.DoomBuilder.IO; -using SlimDX.Direct3D; +using SlimDX.Direct3D9; +using SlimDX; + +using Configuration = CodeImp.DoomBuilder.IO.Configuration; #endregion @@ -207,8 +210,8 @@ namespace CodeImp.DoomBuilder.Rendering // This creates assist colors internal void CreateAssistColors() { - ColorValue o; - ColorValue c = new ColorValue(1f, 0f, 0f, 0f); + Color4 o; + Color4 c = new Color4(1f, 0f, 0f, 0f); // Go for all colors for(int i = 0; i < NUM_COLORS; i++) diff --git a/Source/Rendering/D3DDevice.cs b/Source/Rendering/D3DDevice.cs index 89b377cd..046092ca 100644 --- a/Source/Rendering/D3DDevice.cs +++ b/Source/Rendering/D3DDevice.cs @@ -26,7 +26,6 @@ using System.IO; using System.Reflection; using System.Drawing; using SlimDX.Direct3D9; -using SlimDX.Direct3D; using System.ComponentModel; using CodeImp.DoomBuilder.Geometry; using SlimDX; @@ -141,8 +140,8 @@ namespace CodeImp.DoomBuilder.Rendering device.SetRenderState(RenderState.ZWriteEnable, false); device.SetRenderState(RenderState.Clipping, true); device.SetRenderState(RenderState.CullMode, Cull.None); - device.SetPixelShader(null); - device.SetVertexShader(null); + device.PixelShader = null; + device.VertexShader = null; // Sampler settings device.SetSamplerState(0, SamplerState.MagFilter, TextureFilter.Linear); @@ -187,9 +186,9 @@ namespace CodeImp.DoomBuilder.Rendering // Setup material Material material = new Material(); - material.Ambient = ColorValue.FromColor(Color.White); - material.Diffuse = ColorValue.FromColor(Color.White); - material.Specular = ColorValue.FromColor(Color.White); + material.Ambient = new Color4(Color.White); + material.Diffuse = new Color4(Color.White); + material.Specular = new Color4(Color.White); device.Material = material; } @@ -246,7 +245,7 @@ namespace CodeImp.DoomBuilder.Rendering // Keep a reference to the original buffers backbuffer = device.GetBackBuffer(0, 0); - depthbuffer = device.GetDepthStencilSurface(); + depthbuffer = device.DepthStencilSurface; // Get the viewport viewport = device.Viewport; @@ -341,7 +340,7 @@ namespace CodeImp.DoomBuilder.Rendering // Keep a reference to the original buffers backbuffer = device.GetBackBuffer(0, 0); - depthbuffer = device.GetDepthStencilSurface(); + depthbuffer = device.DepthStencilSurface; // Get the viewport viewport = device.Viewport; @@ -361,31 +360,24 @@ namespace CodeImp.DoomBuilder.Rendering #region ================== Rendering // This begins a drawing session - public bool StartRendering(bool clear, int backcolor, Surface target, Surface depthbuffer) + public bool StartRendering(bool clear, Color4 backcolor, Surface target, Surface depthbuffer) { - CooperativeLevel coopresult; - // When minimized, do not render anything if(General.MainWindow.WindowState != FormWindowState.Minimized) { // Test the cooperative level - coopresult = device.CheckCooperativeLevel(); + Result coopresult = device.TestCooperativeLevel(); // Check if device must be reset - if(coopresult == CooperativeLevel.DeviceNotReset) + if(!coopresult.IsSuccess) { // Device is lost and must be reset now + // TODO: Check result codes, device cannot always be reset return Reset(); } - // Check if device is lost - else if(coopresult == CooperativeLevel.DeviceLost) - { - // Device is lost and cannot be reset now - return false; - } // Set rendertarget - device.SetDepthStencilSurface(depthbuffer); + device.DepthStencilSurface = depthbuffer; device.SetRenderTarget(0, target); // Clear the screen diff --git a/Source/Rendering/D3DShader.cs b/Source/Rendering/D3DShader.cs index e4ec4ce2..1589b39d 100644 --- a/Source/Rendering/D3DShader.cs +++ b/Source/Rendering/D3DShader.cs @@ -27,7 +27,6 @@ using System.Reflection; using System.Drawing; using System.ComponentModel; using CodeImp.DoomBuilder.Map; -using SlimDX.Direct3D; using SlimDX.Direct3D9; using SlimDX; using CodeImp.DoomBuilder.Geometry; diff --git a/Source/Rendering/Display2DShader.cs b/Source/Rendering/Display2DShader.cs index 1dc95066..eee42e3e 100644 --- a/Source/Rendering/Display2DShader.cs +++ b/Source/Rendering/Display2DShader.cs @@ -27,7 +27,6 @@ using System.Reflection; using System.Drawing; using System.ComponentModel; using CodeImp.DoomBuilder.Map; -using SlimDX.Direct3D; using SlimDX.Direct3D9; using SlimDX; using CodeImp.DoomBuilder.Geometry; diff --git a/Source/Rendering/FlatQuad.cs b/Source/Rendering/FlatQuad.cs index 57427c03..9239d14b 100644 --- a/Source/Rendering/FlatQuad.cs +++ b/Source/Rendering/FlatQuad.cs @@ -18,7 +18,6 @@ using System; using System.Drawing; -using SlimDX.Direct3D; using SlimDX.Direct3D9; using SlimDX; diff --git a/Source/Rendering/FlatVertex.cs b/Source/Rendering/FlatVertex.cs index 090cc77a..02c36e56 100644 --- a/Source/Rendering/FlatVertex.cs +++ b/Source/Rendering/FlatVertex.cs @@ -27,7 +27,6 @@ using System.Reflection; using System.Drawing; using System.ComponentModel; using CodeImp.DoomBuilder.Map; -using SlimDX.Direct3D; using SlimDX.Direct3D9; using SlimDX; using CodeImp.DoomBuilder.Geometry; diff --git a/Source/Rendering/ID3DResource.cs b/Source/Rendering/ID3DResource.cs index bcfecae5..aad89702 100644 --- a/Source/Rendering/ID3DResource.cs +++ b/Source/Rendering/ID3DResource.cs @@ -25,7 +25,7 @@ using System.Windows.Forms; using System.IO; using System.Reflection; using System.Drawing; -using SlimDX.Direct3D; +using SlimDX.Direct3D9; using System.ComponentModel; using CodeImp.DoomBuilder.Geometry; using SlimDX; diff --git a/Source/Rendering/IRenderer2D.cs b/Source/Rendering/IRenderer2D.cs index e1e60bd9..f68c93c6 100644 --- a/Source/Rendering/IRenderer2D.cs +++ b/Source/Rendering/IRenderer2D.cs @@ -27,7 +27,6 @@ using System.Reflection; using System.Drawing; using System.ComponentModel; using CodeImp.DoomBuilder.Map; -using SlimDX.Direct3D; using SlimDX.Direct3D9; using SlimDX; using CodeImp.DoomBuilder.Geometry; diff --git a/Source/Rendering/IRenderer3D.cs b/Source/Rendering/IRenderer3D.cs index c97a39e8..0e4a2103 100644 --- a/Source/Rendering/IRenderer3D.cs +++ b/Source/Rendering/IRenderer3D.cs @@ -27,7 +27,6 @@ using System.Reflection; using System.Drawing; using System.ComponentModel; using CodeImp.DoomBuilder.Map; -using SlimDX.Direct3D; using SlimDX.Direct3D9; using SlimDX; using CodeImp.DoomBuilder.Geometry; diff --git a/Source/Rendering/PixelColor.cs b/Source/Rendering/PixelColor.cs index f5c74fdf..646a13f8 100644 --- a/Source/Rendering/PixelColor.cs +++ b/Source/Rendering/PixelColor.cs @@ -23,7 +23,8 @@ using System.Globalization; using System.Text; using System.Reflection; using System.Drawing; -using SlimDX.Direct3D; +using SlimDX.Direct3D9; +using SlimDX; #endregion @@ -92,14 +93,14 @@ namespace CodeImp.DoomBuilder.Rendering } // To ColorValue - public ColorValue ToColorValue() + public Color4 ToColorValue() { - return new ColorValue((float)a * 0.00392156862745098f, - (float)r * 0.00392156862745098f, - (float)g * 0.00392156862745098f, - (float)b * 0.00392156862745098f); + return new Color4((float)a * 0.00392156862745098f, + (float)r * 0.00392156862745098f, + (float)g * 0.00392156862745098f, + (float)b * 0.00392156862745098f); } - + #endregion #region ================== Methods diff --git a/Source/Rendering/PixelColorBlock.cs b/Source/Rendering/PixelColorBlock.cs index ffee561d..90f25c17 100644 --- a/Source/Rendering/PixelColorBlock.cs +++ b/Source/Rendering/PixelColorBlock.cs @@ -23,7 +23,7 @@ using System.Globalization; using System.Text; using System.Reflection; using System.Drawing; -using SlimDX.Direct3D; +using SlimDX.Direct3D9; using System.Runtime.InteropServices; #endregion diff --git a/Source/Rendering/Plotter.cs b/Source/Rendering/Plotter.cs index 65a3a8c6..35978325 100644 --- a/Source/Rendering/Plotter.cs +++ b/Source/Rendering/Plotter.cs @@ -27,7 +27,6 @@ using System.Reflection; using System.Drawing; using System.ComponentModel; using CodeImp.DoomBuilder.Map; -using SlimDX.Direct3D; using SlimDX.Direct3D9; using SlimDX; using CodeImp.DoomBuilder.Geometry; diff --git a/Source/Rendering/Renderer2D.cs b/Source/Rendering/Renderer2D.cs index 5d908fb6..1ab864ee 100644 --- a/Source/Rendering/Renderer2D.cs +++ b/Source/Rendering/Renderer2D.cs @@ -27,7 +27,6 @@ using System.Reflection; using System.Drawing; using System.ComponentModel; using CodeImp.DoomBuilder.Map; -using SlimDX.Direct3D; using SlimDX.Direct3D9; using SlimDX; using CodeImp.DoomBuilder.Geometry; @@ -88,7 +87,7 @@ namespace CodeImp.DoomBuilder.Rendering private Texture overlaytex; // Locking data - private LockedRect plotlocked; + private DataRectangle plotlocked; private Surface targetsurface; // Rendertarget sizes @@ -196,7 +195,7 @@ namespace CodeImp.DoomBuilder.Rendering public void Present() { // Start drawing - if(graphics.StartRendering(true, General.Colors.Background.ToInt(), graphics.BackBuffer, graphics.DepthBuffer)) + if(graphics.StartRendering(true, General.Colors.Background.ToColorValue(), graphics.BackBuffer, graphics.DepthBuffer)) { // Renderstates that count for this whole sequence graphics.Device.SetRenderState(RenderState.CullMode, Cull.None); @@ -244,7 +243,7 @@ namespace CodeImp.DoomBuilder.Rendering graphics.Device.SetRenderState(RenderState.AlphaBlendEnable, true); graphics.Device.SetRenderState(RenderState.AlphaTestEnable, false); graphics.Device.SetRenderState(RenderState.SourceBlend, Blend.SourceAlpha); - graphics.Device.SetRenderState(RenderState.DestBlend, Blend.InvSourceAlpha); + graphics.Device.SetRenderState(RenderState.DestinationBlend, Blend.InvSourceAlpha); graphics.Device.SetRenderState(RenderState.TextureFactor, -1); graphics.Device.SetTexture(0, plottertex); graphics.Shaders.Display2D.Texture1 = plottertex; @@ -264,7 +263,7 @@ namespace CodeImp.DoomBuilder.Rendering graphics.Device.SetRenderState(RenderState.AlphaBlendEnable, true); graphics.Device.SetRenderState(RenderState.AlphaTestEnable, false); graphics.Device.SetRenderState(RenderState.SourceBlend, Blend.SourceAlpha); - graphics.Device.SetRenderState(RenderState.DestBlend, Blend.InvSourceAlpha); + graphics.Device.SetRenderState(RenderState.DestinationBlend, Blend.InvSourceAlpha); graphics.Device.SetRenderState(RenderState.TextureFactor, -1); graphics.Device.SetTexture(0, overlaytex); graphics.Shaders.Display2D.Texture1 = overlaytex; @@ -296,8 +295,8 @@ namespace CodeImp.DoomBuilder.Rendering graphics.Device.SetRenderState(RenderState.AlphaBlendEnable, true); graphics.Device.SetRenderState(RenderState.AlphaTestEnable, false); graphics.Device.SetRenderState(RenderState.SourceBlend, Blend.SourceAlpha); - graphics.Device.SetRenderState(RenderState.DestBlend, Blend.InvSourceAlpha); - graphics.Device.SetRenderState(RenderState.TextureFactor, (new ColorValue(alpha, 1f, 1f, 1f)).ToArgb()); + graphics.Device.SetRenderState(RenderState.DestinationBlend, Blend.InvSourceAlpha); + graphics.Device.SetRenderState(RenderState.TextureFactor, (new Color4(alpha, 1f, 1f, 1f)).ToArgb()); graphics.Device.SetTexture(0, thingstex); graphics.Shaders.Display2D.Texture1 = thingstex; graphics.Shaders.Display2D.SetSettings(1f / thingssize.Width, 1f / thingssize.Height, FSAA_PLOTTER_BLEND_FACTOR, alpha); @@ -404,7 +403,7 @@ namespace CodeImp.DoomBuilder.Rendering StartOverlay(true); Finish(); // Create font - font = new SlimDX.Direct3D9.Font(graphics.Device, FONT_WIDTH, FONT_HEIGHT, FontWeight.Bold, 1, false, CharacterSet.Ansi, Precision.Default, FontQuality.AntiAliased, PitchAndFamily.Default, FONT_NAME); + font = new SlimDX.Direct3D9.Font(graphics.Device, FONT_WIDTH, FONT_HEIGHT, FontWeight.Bold, 1, false, CharacterSet.Ansi, Precision.Default, FontQuality.Antialiased, PitchAndFamily.Default, FONT_NAME); // Create vertex buffers screenverts = new VertexBuffer(graphics.Device, 4 * sizeof(FlatVertex), Usage.Dynamic | Usage.WriteOnly, VertexFormat.None, Pool.Default); @@ -552,7 +551,7 @@ namespace CodeImp.DoomBuilder.Rendering // This begins a drawing session public unsafe bool StartPlotter(bool clear) { - if(renderlayer != RenderLayers.None) throw new InvalidCallException("Renderer starting called before finished previous layer. Call Finish() first!"); + if(renderlayer != RenderLayers.None) throw new InvalidOperationException("Renderer starting called before finished previous layer. Call Finish() first!"); renderlayer = RenderLayers.Plotter; // Rendertargets available? @@ -586,7 +585,7 @@ namespace CodeImp.DoomBuilder.Rendering // This begins a drawing session public unsafe bool StartThings(bool clear) { - if(renderlayer != RenderLayers.None) throw new InvalidCallException("Renderer starting called before finished previous layer. Call Finish() first!"); + if(renderlayer != RenderLayers.None) throw new InvalidOperationException("Renderer starting called before finished previous layer. Call Finish() first!"); renderlayer = RenderLayers.Things; // Rendertargets available? @@ -600,7 +599,7 @@ namespace CodeImp.DoomBuilder.Rendering // Set the rendertarget to the things texture targetsurface = thingstex.GetSurfaceLevel(0); - if(graphics.StartRendering(clear, 0, targetsurface, null)) + if(graphics.StartRendering(clear, new Color4(0), targetsurface, null)) { // Ready for rendering return true; @@ -623,7 +622,7 @@ namespace CodeImp.DoomBuilder.Rendering // This begins a drawing session public unsafe bool StartOverlay(bool clear) { - if(renderlayer != RenderLayers.None) throw new InvalidCallException("Renderer starting called before finished previous layer. Call Finish() first!"); + if(renderlayer != RenderLayers.None) throw new InvalidOperationException("Renderer starting called before finished previous layer. Call Finish() first!"); renderlayer = RenderLayers.Overlay; // Rendertargets available? @@ -631,7 +630,7 @@ namespace CodeImp.DoomBuilder.Rendering { // Set the rendertarget to the things texture targetsurface = overlaytex.GetSurfaceLevel(0); - if(graphics.StartRendering(clear, 0, targetsurface, null)) + if(graphics.StartRendering(clear, new Color4(0), targetsurface, null)) { // Ready for rendering return true; @@ -671,7 +670,7 @@ namespace CodeImp.DoomBuilder.Rendering // Release rendertarget try { - graphics.Device.SetDepthStencilSurface(graphics.DepthBuffer); + graphics.Device.DepthStencilSurface = graphics.DepthBuffer; graphics.Device.SetRenderTarget(0, graphics.BackBuffer); } catch(Exception) { } @@ -731,7 +730,7 @@ namespace CodeImp.DoomBuilder.Rendering private void RenderBackgroundGrid() { Plotter gridplotter; - LockedRect lockedrect; + DataRectangle lockedrect; // Do we need to redraw grid? if((lastgridscale != scale) || (lastgridx != offsetx) || (lastgridy != offsety)) @@ -1065,7 +1064,7 @@ namespace CodeImp.DoomBuilder.Rendering graphics.Device.SetRenderState(RenderState.TextureFactor, -1); // Draw - if(font != null) font.DrawString(null, text, posr, DrawTextFormat.VCenter | DrawTextFormat.Left | DrawTextFormat.NoClip, c.ToInt()); + if(font != null) font.DrawString(null, text, posr, DrawTextFormat.VCenter | DrawTextFormat.Left | DrawTextFormat.NoClip, c.ToColorValue()); } // This renders text @@ -1083,7 +1082,7 @@ namespace CodeImp.DoomBuilder.Rendering graphics.Device.SetRenderState(RenderState.TextureFactor, -1); // Draw - if(font != null) font.DrawString(null, text, posr, DrawTextFormat.VCenter | DrawTextFormat.Center | DrawTextFormat.NoClip, c.ToInt()); + if(font != null) font.DrawString(null, text, posr, DrawTextFormat.VCenter | DrawTextFormat.Center | DrawTextFormat.NoClip, c.ToColorValue()); } // This renders a rectangle with given border size and color diff --git a/Source/Rendering/Renderer3D.cs b/Source/Rendering/Renderer3D.cs index ffe6c43d..a17e6197 100644 --- a/Source/Rendering/Renderer3D.cs +++ b/Source/Rendering/Renderer3D.cs @@ -25,7 +25,6 @@ using System.Windows.Forms; using System.IO; using System.Reflection; using System.Drawing; -using SlimDX.Direct3D; using System.ComponentModel; using SlimDX; using CodeImp.DoomBuilder.Geometry; @@ -159,7 +158,7 @@ namespace CodeImp.DoomBuilder.Rendering public bool Start() { // Start drawing - if(graphics.StartRendering(true, General.Colors.Background.ToInt(), graphics.BackBuffer, graphics.DepthBuffer)) + if(graphics.StartRendering(true, General.Colors.Background.ToColorValue(), graphics.BackBuffer, graphics.DepthBuffer)) { // Beginning renderstates graphics.Device.SetRenderState(RenderState.CullMode, Cull.None); @@ -167,7 +166,7 @@ namespace CodeImp.DoomBuilder.Rendering graphics.Device.SetRenderState(RenderState.AlphaBlendEnable, false); graphics.Device.SetRenderState(RenderState.AlphaTestEnable, false); graphics.Device.SetRenderState(RenderState.SourceBlend, Blend.SourceAlpha); - graphics.Device.SetRenderState(RenderState.DestBlend, Blend.InvSourceAlpha); + graphics.Device.SetRenderState(RenderState.DestinationBlend, Blend.InvSourceAlpha); graphics.Device.SetRenderState(RenderState.TextureFactor, -1); // Ready @@ -184,7 +183,7 @@ namespace CodeImp.DoomBuilder.Rendering public void StartGeometry() { // Renderstates - graphics.Device.SetRenderState(RenderState.CullMode, Cull.CounterClockwise); + graphics.Device.SetRenderState(RenderState.CullMode, Cull.Counterclockwise); graphics.Device.SetRenderState(RenderState.ZEnable, true); graphics.Device.SetRenderState(RenderState.ZWriteEnable, true); graphics.Device.SetRenderState(RenderState.AlphaBlendEnable, false); diff --git a/Source/Rendering/ShaderManager.cs b/Source/Rendering/ShaderManager.cs index 1f187403..18058833 100644 --- a/Source/Rendering/ShaderManager.cs +++ b/Source/Rendering/ShaderManager.cs @@ -27,7 +27,6 @@ using System.Reflection; using System.Drawing; using System.ComponentModel; using CodeImp.DoomBuilder.Map; -using SlimDX.Direct3D; using SlimDX.Direct3D9; using SlimDX; using CodeImp.DoomBuilder.Geometry; @@ -130,7 +129,7 @@ namespace CodeImp.DoomBuilder.Rendering Capabilities caps; // Check if we can use shaders - caps = General.Map.Graphics.Device.GetDeviceCaps(); + caps = General.Map.Graphics.Device.Capabilities; useshaders = (caps.PixelShaderVersion.Major >= 2); shadertechnique = "SM20"; diff --git a/Source/Rendering/Things2DShader.cs b/Source/Rendering/Things2DShader.cs index 943249c0..acfe321e 100644 --- a/Source/Rendering/Things2DShader.cs +++ b/Source/Rendering/Things2DShader.cs @@ -27,7 +27,6 @@ using System.Reflection; using System.Drawing; using System.ComponentModel; using CodeImp.DoomBuilder.Map; -using SlimDX.Direct3D; using SlimDX.Direct3D9; using SlimDX; using CodeImp.DoomBuilder.Geometry; diff --git a/Source/Rendering/VisualGeometry.cs b/Source/Rendering/VisualGeometry.cs index de03c627..d4c8eafb 100644 --- a/Source/Rendering/VisualGeometry.cs +++ b/Source/Rendering/VisualGeometry.cs @@ -27,7 +27,6 @@ using System.Reflection; using System.Drawing; using System.ComponentModel; using CodeImp.DoomBuilder.Map; -using SlimDX.Direct3D; using SlimDX.Direct3D9; using SlimDX; using CodeImp.DoomBuilder.Geometry; diff --git a/Source/Rendering/VisualSector.cs b/Source/Rendering/VisualSector.cs index c8bb6269..f2940b23 100644 --- a/Source/Rendering/VisualSector.cs +++ b/Source/Rendering/VisualSector.cs @@ -27,7 +27,6 @@ using System.Reflection; using System.Drawing; using System.ComponentModel; using CodeImp.DoomBuilder.Map; -using SlimDX.Direct3D; using SlimDX.Direct3D9; using SlimDX; using CodeImp.DoomBuilder.Geometry; diff --git a/Source/Rendering/World3DShader.cs b/Source/Rendering/World3DShader.cs index a2c3cacd..b8d61499 100644 --- a/Source/Rendering/World3DShader.cs +++ b/Source/Rendering/World3DShader.cs @@ -27,7 +27,6 @@ using System.Reflection; using System.Drawing; using System.ComponentModel; using CodeImp.DoomBuilder.Map; -using SlimDX.Direct3D; using SlimDX.Direct3D9; using SlimDX; using CodeImp.DoomBuilder.Geometry; diff --git a/Source/Rendering/WorldVertex.cs b/Source/Rendering/WorldVertex.cs index 0da4df04..9026b7fd 100644 --- a/Source/Rendering/WorldVertex.cs +++ b/Source/Rendering/WorldVertex.cs @@ -27,7 +27,6 @@ using System.Reflection; using System.Drawing; using System.ComponentModel; using CodeImp.DoomBuilder.Map; -using SlimDX.Direct3D; using SlimDX.Direct3D9; using SlimDX; using CodeImp.DoomBuilder.Geometry;