#ifndef TD3DPrimCapsH #define TD3DPrimCapsH // ========================================================================== // File: TD3DPrimCaps.H // Authors: BCB_Code_Generator v1.70, // Darren Dwyer (source code, documentation, demos, website), // Hugh Edwards (documentation, icons), // Brian Austin (documentation) // Description: This file defines the TD3DPrimCaps Component // // "TDx_3DI_Library v1.70" // (c) 2002 BCB-Tools.com Pty. Ltd., Sydney, Australia. // All Rights Reserved. // // Refer to the 'Licence.Txt' file for licencing & copyright information. // ========================================================================== // -------------------------------------------------------------------------- #include "TDx_Library_Defns.H" #include "TDx_Library_Functions.H" // -------------------------------------------------------------------------- #include "TDx_3DI_Library_Defns.H" #include "TDx_3DI_Library_Functions.H" // ========================================================================== // Set: TD3DPrimCapsMiscCaps_Set // Description: A set of mangled DirectX flag names that are used to set the // TD3DPrimCaps::MiscCaps property using the BCB Object // Inspector. For detailed descriptions of each flag, see the // MiscCaps property description below. // ========================================================================== enum TD3DPrimCaps_MiscCaps_Flags { d3dpmisccaps_conformant, d3dpmisccaps_cullccw, d3dpmisccaps_cullcw, d3dpmisccaps_cullnone, d3dpmisccaps_linepatternrep, d3dpmisccaps_maskplanes, d3dpmisccaps_maskz }; typedef Set< TD3DPrimCaps_MiscCaps_Flags, d3dpmisccaps_conformant, d3dpmisccaps_maskz > TD3DPrimCaps_MiscCaps_Set; // ========================================================================== // Set: TD3DPrimCapsRasterCaps_Set // Description: A set of mangled DirectX flag names that are used to set the // TD3DPrimCaps::RasterCaps property using the BCB Object // Inspector. For detailed descriptions of each flag, see the // RasterCaps property description below. // ========================================================================== enum TD3DPrimCaps_RasterCaps_Flags { d3dprastercaps_anisotropy, d3dprastercaps_antialiasedges, d3dprastercaps_antialiassortdependent, d3dprastercaps_antialiassortindependent, d3dprastercaps_dither, d3dprastercaps_fogrange, d3dprastercaps_fogtable, d3dprastercaps_fogvertex, d3dprastercaps_mipmaplodbias, d3dprastercaps_pat, d3dprastercaps_rop2, d3dprastercaps_stipple, d3dprastercaps_subpixel, d3dprastercaps_subpixelx, d3dprastercaps_translucentsortindependent, d3dprastercaps_wbuffer, d3dprastercaps_wfog, d3dprastercaps_xor, d3dprastercaps_zbias, d3dprastercaps_zbufferlesshsr, d3dprastercaps_ztest }; typedef Set< TD3DPrimCaps_RasterCaps_Flags, d3dprastercaps_anisotropy, d3dprastercaps_ztest > TD3DPrimCaps_RasterCaps_Set; // ========================================================================== // Set: TD3DPrimCapsShadeCaps_Set // Description: A set of mangled DirectX flag names that are used to set the // TD3DPrimCaps::ShadeCaps property using the BCB Object // Inspector. For detailed descriptions of each flag, see the // ShadeCaps property description below. // ========================================================================== enum TD3DPrimCaps_ShadeCaps_Flags { d3dpshadecaps_alphaflatblend, d3dpshadecaps_alphaflatstippled, d3dpshadecaps_alphagouraudblend, d3dpshadecaps_alphagouraudstippled, d3dpshadecaps_alphaphongblend, d3dpshadecaps_alphaphongstippled, d3dpshadecaps_colorflatmono, d3dpshadecaps_colorflatrgb, d3dpshadecaps_colorgouraudmono, d3dpshadecaps_colorgouraudrgb, d3dpshadecaps_colorphongmono, d3dpshadecaps_colorphongrgb, d3dpshadecaps_fogflat, d3dpshadecaps_foggouraud, d3dpshadecaps_fogphong, d3dpshadecaps_specularflatmono, d3dpshadecaps_specularflatrgb, d3dpshadecaps_speculargouraudmono, d3dpshadecaps_speculargouraudrgb, d3dpshadecaps_specularphongmono, d3dpshadecaps_specularphongrgb }; typedef Set< TD3DPrimCaps_ShadeCaps_Flags, d3dpshadecaps_alphaflatblend, d3dpshadecaps_specularphongrgb > TD3DPrimCaps_ShadeCaps_Set; // ========================================================================== // Set: TD3DPrimCapsSrcBlendCaps_Set // Description: A set of mangled DirectX flag names that are used to set the // TD3DPrimCaps::SrcBlendCaps property using the BCB Object // Inspector. For detailed descriptions of each flag, see the // SrcBlendCaps property description below. // ========================================================================== enum TD3DPrimCaps_SrcBlendCaps_Flags { d3dpblendcaps_bothinvsrcalpha, d3dpblendcaps_destalpha, d3dpblendcaps_destcolor, d3dpblendcaps_invdestalpha, d3dpblendcaps_invdestcolor, d3dpblendcaps_invsrcalpha, d3dpblendcaps_invsrccolor, d3dpblendcaps_one, d3dpblendcaps_srcalpha, d3dpblendcaps_srcalphasat, d3dpblendcaps_srccolor, d3dpblendcaps_zero }; typedef Set< TD3DPrimCaps_SrcBlendCaps_Flags, d3dpblendcaps_bothinvsrcalpha, d3dpblendcaps_zero > TD3DPrimCaps_SrcBlendCaps_Set; // ========================================================================== // Set: TD3DPrimCapsTextureAddressCaps_Set // Description: A set of mangled DirectX flag names that are used to set the // TD3DPrimCaps::TextureAddressCaps property using the BCB // Object Inspector. For detailed descriptions of each flag, see // the TextureAddressCaps property description below. // ========================================================================== enum TD3DPrimCaps_TextureAddressCaps_Flags { d3dptaddresscaps_border, d3dptaddresscaps_clamp, d3dptaddresscaps_independentuv, d3dptaddresscaps_mirror, d3dptaddresscaps_wrap }; typedef Set< TD3DPrimCaps_TextureAddressCaps_Flags, d3dptaddresscaps_border, d3dptaddresscaps_wrap > TD3DPrimCaps_TextureAddressCaps_Set; // ========================================================================== // Set: TD3DPrimCapsTextureCaps_Set // Description: A set of mangled DirectX flag names that are used to set the // TD3DPrimCaps::TextureCaps property using the BCB Object // Inspector. For detailed descriptions of each flag, see the // TextureCaps property description below. // ========================================================================== enum TD3DPrimCaps_TextureCaps_Flags { d3dptexturecaps_alpha, d3dptexturecaps_alphapalette, d3dptexturecaps_border, d3dptexturecaps_colorkeyblend, d3dptexturecaps_cubemap, d3dptexturecaps_nonpow2conditional, d3dptexturecaps_perspective, d3dptexturecaps_pow2, d3dptexturecaps_projected, d3dptexturecaps_squareonly, d3dptexturecaps_texrepeatnotscaledbysize, d3dptexturecaps_transparency }; typedef Set< TD3DPrimCaps_TextureCaps_Flags, d3dptexturecaps_alpha, d3dptexturecaps_transparency > TD3DPrimCaps_TextureCaps_Set; // ========================================================================== // Set: TD3DPrimCapsTextureFilterCaps_Set // Description: A set of mangled DirectX flag names that are used to set the // TD3DPrimCaps::TextureFilterCaps property using the BCB Object // Inspector. For detailed descriptions of each flag, see the // TextureFilterCaps property description below. // ========================================================================== enum TD3DPrimCaps_TextureFilterCaps_Flags { d3dptfiltercaps_linear, d3dptfiltercaps_linearmiplinear, d3dptfiltercaps_linearmipnearest, d3dptfiltercaps_magfaflatcubic, d3dptfiltercaps_magfanisotropic, d3dptfiltercaps_magfgaussiancubic, d3dptfiltercaps_magflinear, d3dptfiltercaps_magfpoint, d3dptfiltercaps_minfanisotropic, d3dptfiltercaps_minflinear, d3dptfiltercaps_minfpoint, d3dptfiltercaps_mipflinear, d3dptfiltercaps_mipfpoint, d3dptfiltercaps_miplinear, d3dptfiltercaps_mipnearest, d3dptfiltercaps_nearest }; typedef Set< TD3DPrimCaps_TextureFilterCaps_Flags, d3dptfiltercaps_linear, d3dptfiltercaps_nearest > TD3DPrimCaps_TextureFilterCaps_Set; // ========================================================================== // Set: TD3DPrimCapsZCmpCaps_Set // Description: A set of mangled DirectX flag names that are used to set the // TD3DPrimCaps::ZCmpCaps property using the BCB Object // Inspector. For detailed descriptions of each flag, see the // ZCmpCaps property description below. // ========================================================================== enum TD3DPrimCaps_ZCmpCaps_Flags { d3dpcmpcaps_always, d3dpcmpcaps_equal, d3dpcmpcaps_greater, d3dpcmpcaps_greaterequal, d3dpcmpcaps_less, d3dpcmpcaps_lessequal, d3dpcmpcaps_never, d3dpcmpcaps_notequal }; typedef Set< TD3DPrimCaps_ZCmpCaps_Flags, d3dpcmpcaps_always, d3dpcmpcaps_notequal > TD3DPrimCaps_ZCmpCaps_Set; // -------------------------------------------------------------------------- // ========================================================================== // Class: TD3DPrimCaps // Description: TD3DPrimCaps wraps the DirectX D3DPRIMCAPS structure defining // the device capabilities for each type of primitive. // Note: This object defines parts of the TD3DDeviceDesc and // TD3DFindDeviceSearch objects and is used when creating or // querying device capabilities. // ========================================================================== #if (__BORLANDC__ >= 0x0530) // BCB Version 3 + class PACKAGE TD3DPrimCaps : public TComponent { // -------------------------------------------------------------------------- #else // BCB Version 1 class TD3DPrimCaps : public TComponent { #endif // ========================================================================== __published: // ========================================================================== // ---------------------------------------------------------------------- // Property: AlphaCmpCaps_ // Description: These flags indicate the alpha test comparison functions // that the driver is capable of performing. // Note: The possible values these flags can have are // basically the same as those described for the ZCmpCaps // property of this object. // If this property is zero, the driver does not support // alpha tests. // Note: This property is used to set the various DirectX Flags // for the 'AlphaCmpCaps' property via the BCB Object // Inspector. For detailed descriptions of each flag, see // the AlphaCmpCaps property description below. // ---------------------------------------------------------------------- __property TD3DPrimCaps_ZCmpCaps_Set AlphaCmpCaps_ = { read=FGetAlphaCmpCaps_, write=FSetAlphaCmpCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: DestBlendCaps_ // Description: These flags indicate the destination blending // capablilties supported by the driver. // Note: The possible values these flags can have are // basically the same as those described for the // SrcBlendCaps property of this object. // Note: This property is used to set the various DirectX Flags // for the 'DestBlendCaps' property via the BCB Object // Inspector. For detailed descriptions of each flag, see // the DestBlendCaps property description below. // ---------------------------------------------------------------------- __property TD3DPrimCaps_SrcBlendCaps_Set DestBlendCaps_ = { read=FGetDestBlendCaps_, write=FSetDestBlendCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: MiscCaps_ // Description: These flags indicate the general capabilities for this // primitive. // // The described effect applies when the flag is set. // Note: This property is used to set the various DirectX Flags // for the 'MiscCaps' property via the BCB Object Inspector. // For detailed descriptions of each flag, see the MiscCaps // property description below. // ---------------------------------------------------------------------- __property TD3DPrimCaps_MiscCaps_Set MiscCaps_ = { read=FGetMiscCaps_, write=FSetMiscCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: RasterCaps_ // Description: These flags provide information on the raster drawing // capabilities of the device. // // The described effect applies when the flag is set. // Note: This property is used to set the various DirectX Flags // for the 'RasterCaps' property via the BCB Object // Inspector. For detailed descriptions of each flag, see // the RasterCaps property description below. // ---------------------------------------------------------------------- __property TD3DPrimCaps_RasterCaps_Set RasterCaps_ = { read=FGetRasterCaps_, write=FSetRasterCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: ShadeCaps_ // Description: These flags indicate the shading operations that the // device is capable of performing. // Note: The described effect applies when the flag is set. // The possible shade modes are contained in the // D3DSHADEMODE enumerated type. // Flat shade mode uses the specular and color component of // the first vertex in a triangle to shade the whole face. // Gouraud shade mode interpolates the color and intensity // of adjacent vertices across the space that separates them // in a linear fashion. // Phong shade mode calculates the appropriate shade value // for each pixel but is not yet supported in DirectX. // In general, any commands the device supports are assumed // to also support the flat shading mode. // When alpha components are not supported in a given mode, // the alpha value is implicitly at maximum intensity (255) // for that mode. // // // ... from help file. // // Shading operations capabilities. It is assumed, in // general, that if a device supports a given command (such // as D3DOP_TRIANGLE) at all, it supports the D3DSHADE_FLAT // mode (as specified in the D3DSHADEMODE enumerated type). // This flag specifies whether the driver can also support // Gouraud and Phong shading and whether alpha color // components are supported for each of the three // color-generation modes. When alpha components are not // supported in a given mode, the alpha value of colors // generated in that mode is implicitly 255. This is the // maximum possible alpha (that is, the alpha component is // at full intensity). Phong shading is not currently // supported. // With the monochromatic shading modes, the blue channel of // the specular component is interpreted as a white // intensity. (This is controlled by the // D3DRENDERSTATE_MONOENABLE render state.) // // The color, specular highlights, fog, and alpha // interpolants of a triangle each have capability flags // that an application can use to find out how they are // implemented by the device driver. These are modified by // the shading mode, color model, and whether the alpha // component of a color is blended or stippled. For more // information, see 3-D Primitives. // Note: This property is used to set the various DirectX Flags // for the 'ShadeCaps' property via the BCB Object // Inspector. For detailed descriptions of each flag, see // the ShadeCaps property description below. // ---------------------------------------------------------------------- __property TD3DPrimCaps_ShadeCaps_Set ShadeCaps_ = { read=FGetShadeCaps_, write=FSetShadeCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: SrcBlendCaps_ // Description: These flags indicate the source blending capablilties. // // The described effect applies when the flag is set. // // Blend factor describes how each color component of a // texture is combined with those of the surface to which it // is applied. // Note: This property is used to set the various DirectX Flags // for the 'SrcBlendCaps' property via the BCB Object // Inspector. For detailed descriptions of each flag, see // the SrcBlendCaps property description below. // ---------------------------------------------------------------------- __property TD3DPrimCaps_SrcBlendCaps_Set SrcBlendCaps_ = { read=FGetSrcBlendCaps_, write=FSetSrcBlendCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: TextureAddressCaps_ // Description: These flags indicate what texture addressing capabilities // the device supports. // Note: The described effect applies when the flag is set. // Note: This property is used to set the various DirectX Flags // for the 'TextureAddressCaps' property via the BCB Object // Inspector. For detailed descriptions of each flag, see // the TextureAddressCaps property description below. // ---------------------------------------------------------------------- __property TD3DPrimCaps_TextureAddressCaps_Set TextureAddressCaps_ = { read=FGetTextureAddressCaps_, write=FSetTextureAddressCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: TextureCaps_ // Description: These flags indicate what miscellaneous texture mapping // capabilities are available. // Note: The described effect applies when the flag is set. // A texture is a small graphic, usually tiled or wrapped // over a 3D object or surface and referenced by the U and V // coordinates of a vertex. // A vertex represents a point in 3D space and consists of a // vector which defines position, a normal vector which // defines orientation, texture coordinates and a color. // Note: This property is used to set the various DirectX Flags // for the 'TextureCaps' property via the BCB Object // Inspector. For detailed descriptions of each flag, see // the TextureCaps property description below. // ---------------------------------------------------------------------- __property TD3DPrimCaps_TextureCaps_Set TextureCaps_ = { read=FGetTextureCaps_, write=FSetTextureCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: TextureFilterCaps_ // Description: These flags indicate texture map filtering capabilities // that are available. // Note: The described effect applies when the flag is set. // A texture is a small graphic, usually tiled or wrapped // over a 3D object or surface and referenced by the U and V // coordinates of a vertex. // A vertex represents a point in 3D space and consists of a // vector which defines position, a normal vector which // defines orientation, texture coordinates and a color. // Note: This property is used to set the various DirectX Flags // for the 'TextureFilterCaps' property via the BCB Object // Inspector. For detailed descriptions of each flag, see // the TextureFilterCaps property description below. // ---------------------------------------------------------------------- __property TD3DPrimCaps_TextureFilterCaps_Set TextureFilterCaps_ = { read=FGetTextureFilterCaps_, write=FSetTextureFilterCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: ZCmpCaps_ // Description: These flags indicate what Z buffer comparison functions // are available. // // The described effect applies when the flag is set. // // Z comparisons determine whether or not to draw a // z-buffered pixel. // Note: This property is used to set the various DirectX Flags // for the 'ZCmpCaps' property via the BCB Object Inspector. // For detailed descriptions of each flag, see the ZCmpCaps // property description below. // ---------------------------------------------------------------------- __property TD3DPrimCaps_ZCmpCaps_Set ZCmpCaps_ = { read=FGetZCmpCaps_, write=FSetZCmpCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: Size // Description: Contains the size, in bytes, of this object. // // ---------------------------------------------------------------------- __property dword Size = { read=FGetSize, write=FSetSize, default=sizeof(D3DPRIMCAPS) }; // ---------------------------------------------------------------------- // Property: StippleHeight // Description: Contains the maximum height of a stipple that the device // supports, up to a maximum value of 32. // ---------------------------------------------------------------------- __property dword StippleHeight = { read=FGetStippleHeight, write=FSetStippleHeight, default=0 }; // ---------------------------------------------------------------------- // Property: StippleWidth // Description: Contains the maximum width of a stipple that the device // supports, up to a maximum value of 32. // ---------------------------------------------------------------------- __property dword StippleWidth = { read=FGetStippleWidth, write=FSetStippleWidth, default=0 }; // ---------------------------------------------------------------------- // Property: TextureBlendCaps // Description: not used // ---------------------------------------------------------------------- __property dword TextureBlendCaps = { read=FGetTextureBlendCaps, write=FSetTextureBlendCaps, default=0 }; // ---------------------------------------------------------------------- // Event: OnError() // Description: The OnError event is called when an error occurs in the // TD3DPrimCaps component. // ---------------------------------------------------------------------- __property TDx_Error OnError = {read=FOnError, write=FOnError, nodefault}; // ========================================================================== public: // ========================================================================== // ---------------------------------------------------------------------- // Property: AlphaCmpCaps // Description: These flags indicate the alpha test comparison functions // that the driver is capable of performing. // Note: The possible values these flags can have are // basically the same as those described for the ZCmpCaps // property of this object. // If this property is zero, the driver does not support // alpha tests. // ---------------------------------------------------------------------- __property dword AlphaCmpCaps = { read=FGetAlphaCmpCaps, write=FSetAlphaCmpCaps, default=0 }; // ---------------------------------------------------------------------- // Property: DestBlendCaps // Description: These flags indicate the destination blending // capablilties supported by the driver. // Note: The possible values these flags can have are // basically the same as those described for the // SrcBlendCaps property of this object. // ---------------------------------------------------------------------- __property dword DestBlendCaps = { read=FGetDestBlendCaps, write=FSetDestBlendCaps, default=0 }; // ---------------------------------------------------------------------- // Property: ErrorValue // Description: The ErrorValue property contains the last error value // returned from a call to a TD3DPrimCaps method or // fget/fset. eg. D3D_OK or DDERR_SURFACELOST or TDX_ERROR // ---------------------------------------------------------------------- __property HRESULT ErrorValue = { read=FGetErrorValue, write=FSetErrorValue, default=D3D_OK }; // ---------------------------------------------------------------------- // Property: MiscCaps // Description: These flags indicate the general capabilities for this // primitive. // // The described effect applies when the flag is set. // Flags: D3DPMISCCAPS_CONFORMANT - // The Device is OpenGL compliant. // D3DPMISCCAPS_CULLCCW - // Support for counterclockwise culling of triangle // primitives is available. // // Setting of cull modes is accomplished through the // D3DRENDERSTATE_CULLMODE property of the // D3DRENDERSTATETYPE enumerated type ... // // This flag corresponds to the D3DCULL_CCW property of // the D3DCULL enumerated type. // // Software renderering uses a fixed culling order and // thus cannot change the culling mode. // // Culling is the removal of back face triangle primitives // that occupy the side of an object facing away from the // viewport so they are not needlessly rendered. // // The driver supports counterclockwise culling through // the D3DRENDERSTATE_CULLMODE state. (This applies only // to triangle primitives.) This corresponds to the // D3DCULL_CCW member of the D3DCULL enumerated type. // D3DPMISCCAPS_CULLCW - // Support for clockwise culling of triangle primitives is // available. // // Setting of cull modes is accomplished through the // D3DRENDERSTATE_CULLMODE property of the // D3DRENDERSTATETYPE enumerated type. ... // // This flag corresponds to the D3DCULL_CW property of the // D3DCULL enumerated type. // // Software renderering uses a fixed culling order and // thus cannot change the culling mode. // D3DPMISCCAPS_CULLNONE - // Support for culling is not available. // // Setting of cull modes is accomplished through the // D3DRENDERSTATE_CULLMODE proeprty of the // D3DRENDERSTATETYPE enumerated type // // This flag corresponds to the D3DCULL_NONE proeprty of // the D3DCULL enumerated type. // // Software renderering uses a fixed culling order and // thus cannot change the culling mode. // // D3DPMISCCAPS_LINEPATTERNREP - // Support for higher values than one in the RepeatFactor // property of the TD3DLinePattern object is available. // // This flag only applies only to line drawing primitives. // // D3DPMISCCAPS_MASKPLANES - // Support for color plane bitmasks is available. // D3DPMISCCAPS_MASKZ - // Pixel operations can be performed without modification // of the z-buffer. // ---------------------------------------------------------------------- __property dword MiscCaps = { read=FGetMiscCaps, write=FSetMiscCaps, default=0 }; // ---------------------------------------------------------------------- // Property: RasterCaps // Description: These flags provide information on the raster drawing // capabilities of the device. // // The described effect applies when the flag is set. // Flags: D3DPRASTERCAPS_ANISOTROPY - // Support for anisotropic filtering is available. // D3DPRASTERCAPS_ANTIALIASEDGES - // Support for antialias on lines forming the convex // outline of an object is available. // D3DPRASTERCAPS_ANTIALIASSORTDEPENDENT - // Support for antialiasing is dependant on the sort order // of the polygons. // // The application must draw polygons in the right order // for antialiasing to occur (back to front or front to // back). // // D3DPRASTERCAPS_ANTIALIASSORTINDEPENDENT - // Support for antialiasing is independant of the sort // order of the polygons. // D3DPRASTERCAPS_DITHER - // Support for dithering to improve color resolution is // available. // D3DPRASTERCAPS_FOGRANGE - // Support for range based fog is available. // D3DPRASTERCAPS_FOGTABLE - // Support for fog values that are calculated by referring // to a lookup table of fog values that are indexed to the // depth or z-coordinate of a given pixel is available. // D3DPRASTERCAPS_FOGVERTEX - // The fog value is calculated by the device during the // lighting operation. This calculated value is stored in // the alpha component of the ( TD3DColor ) Specular // property of the TD3DTLVertex object. The fog value is // then interpolated during raturization. // D3DPRASTERCAPS_MIPMAPLODBIAS - // Support for Level Of Detail ( LOD ) mipmap bias // adjustments is available. // D3DPRASTERCAPS_PAT - // Support for patterned drawing is available for this // primitive. // // Patterned drawing is accomplished using // D3DRENDERSTATE_LINEPATTERN or one of the // D3DRENDERSTATE_STIPPLEPATTERN render states. // // D3DPRASTERCAPS_ROP2 - // Support for raster operations other than R2_COPYPEN is // available. // D3DPRASTERCAPS_STIPPLE - // Support for the stippling of polygons to simulate // translucency is available. // // D3DPRASTERCAPS_SUBPIXEL - // Support for the subpixel placement of z, color, and // texture data is available. // // This feature cannot be enabled and disabled, most // devices always support subpixel placement or never do. // // This flag is here to allow applications to better // determine rendering quality. // D3DPRASTERCAPS_SUBPIXELX - // Support for subpixel placement along the X axis only is // available. // // Subpixel correction takes place along the X axis and is // clamped to an integer Y axis scan line. // D3DPRASTERCAPS_TRANSLUCENTSORTINDEPENDENT - // Translucency support is not dependant on the sort order // of polygons. // D3DPRASTERCAPS_WBUFFER - // Depth buffering using the w-buffer is available in // hardware. // D3DPRASTERCAPS_WFOG - // Support for w-buffer based fog is available in // hardware. // D3DPRASTERCAPS_XOR - // Support for XOR operations is available. // // When the D3DPRIM_RASTER_ROP2 flag of this property is // set then XOR operations must be supported regardless of // this flags value. // D3DPRASTERCAPS_ZBIAS - // Support for Z bias values is available. // // Z bias establishes a display order for images with the // same Z axis value. A good example of why you may wish // to use Z bias would be a wall with a shadow falling on // it. Both the wall and the shadow occupy the same depth, // by giving the shadow a higher Z bias than the wall will // give the right appearance without resorting to sorting // the polygons. // D3DPRASTERCAPS_ZBUFFERLESSHSR - // Support for the removal of non visible (hidden) // surfaces without sorting polygons or allocating a // z-buffer is available. // // The technique used to perform hidden surface removal is // dependent on the hardware and is transparent to the // application. // // This kind of hidden surface removal takes place when // the rendering target surface has no Z buffer attached // but the Z buffer comparison test is still enabled. // D3DPRASTERCAPS_ZTEST - // Support for Z test operations is supported. // // This effectively renders a primitive and indicates // whether any pixels would have been rendered. // ---------------------------------------------------------------------- __property dword RasterCaps = { read=FGetRasterCaps, write=FSetRasterCaps, default=0 }; // ---------------------------------------------------------------------- // Property: ShadeCaps // Description: These flags indicate the shading operations that the // device is capable of performing. // Note: The described effect applies when the flag is set. // The possible shade modes are contained in the // D3DSHADEMODE enumerated type. // Flat shade mode uses the specular and color component of // the first vertex in a triangle to shade the whole face. // Gouraud shade mode interpolates the color and intensity // of adjacent vertices across the space that separates them // in a linear fashion. // Phong shade mode calculates the appropriate shade value // for each pixel but is not yet supported in DirectX. // In general, any commands the device supports are assumed // to also support the flat shading mode. // When alpha components are not supported in a given mode, // the alpha value is implicitly at maximum intensity (255) // for that mode. // // // ... from help file. // // Shading operations capabilities. It is assumed, in // general, that if a device supports a given command (such // as D3DOP_TRIANGLE) at all, it supports the D3DSHADE_FLAT // mode (as specified in the D3DSHADEMODE enumerated type). // This flag specifies whether the driver can also support // Gouraud and Phong shading and whether alpha color // components are supported for each of the three // color-generation modes. When alpha components are not // supported in a given mode, the alpha value of colors // generated in that mode is implicitly 255. This is the // maximum possible alpha (that is, the alpha component is // at full intensity). Phong shading is not currently // supported. // With the monochromatic shading modes, the blue channel of // the specular component is interpreted as a white // intensity. (This is controlled by the // D3DRENDERSTATE_MONOENABLE render state.) // // The color, specular highlights, fog, and alpha // interpolants of a triangle each have capability flags // that an application can use to find out how they are // implemented by the device driver. These are modified by // the shading mode, color model, and whether the alpha // component of a color is blended or stippled. For more // information, see 3-D Primitives. // Flags: D3DPSHADECAPS_ALPHAFLATBLEND - // Support for an alpha component for blended transparency // when using the flat shade mode is available. // Note: The alpha component for the face is taken from // the first vertex. // D3DPSHADECAPS_ALPHAFLATSTIPPLED - // Support for an alpha component for stippled // transparency when using the flat shade mode is // available. // Note: The alpha component for the face is taken from // the first vertex. // A stipple pattern is basically a block of line patterns // usually used to simulate transparency. // A line pattern is essentially a series of 1's and 0's // that are laid over a surface, pixels corresponding to // the 1's get drawn, 0's do not. // D3DPSHADECAPS_ALPHAGOURAUDBLEND - // Support for an alpha component for blended transparency // when using the gouraud shade mode is available. // Note: The alpha component is interpolated across the // face along with the other color components. // D3DPSHADECAPS_ALPHAGOURAUDSTIPPLED - // Support for an alpha component for stippled // transparency when using the gouraud shade mode is // available. // Note: The alpha component is interpolated across the // face along with the other color components. // A stipple pattern is basically a block of line patterns // usually used to simulate transparency. // A line pattern is essentially a series of 1's and 0's // that are laid over a surface, pixels corresponding to // the 1's get drawn, 0's do not. // D3DPSHADECAPS_ALPHAPHONGBLEND - // Support for an alpha component for blended transparency // when using the phong shade mode is available. // Note: The alpha component is reevaluated on a per pixel // basis along with the other color components. // D3DPSHADECAPS_ALPHAPHONGSTIPPLED - // Support for an alpha component for stippled // transparency when using the phong shade mode is // available. // Note: The alpha component is reevaluated on a per pixel // basis along with the other color components. // A stipple pattern is basically a block of line patterns // usually used to simulate transparency. // A line pattern is essentially a series of 1's and 0's // that are laid over a surface, pixels corresponding to // the 1's get drawn, 0's do not. // D3DPSHADECAPS_COLORFLATMONO - // Support for monochrome flat shading is available. // Note: The color component for the face is taken from // the blue color of the first vertex. // D3DPSHADECAPS_COLORFLATRGB - // Support for colored flat shading is available. // Note: The color component for the face is taken from // the first vertex. // D3DPSHADECAPS_COLORGOURAUDMONO - // Support for monochrome gouraud shading is available. // Note: The blue color component is interpolated across // the face from the vertices. // D3DPSHADECAPS_COLORGOURAUDRGB - // Support for colored gouraud shading is available. ... // Note: The color component is interpolated across the // face from the vertices. // D3DPSHADECAPS_COLORPHONGMONO - // ... Support for monochrome phong shading is available. // Note: The blue color component is reevaluated on a per // pixel basis. // D3DPSHADECAPS_COLORPHONGRGB - // ... Support for colored phong shading is available. // Note: The color component is reevaluated on a per pixel // basis. // D3DPSHADECAPS_FOGFLAT - // ... Support for fog in the flat shading mode is // available. // Note: Fog is basically a measure of visibility, lower // values equating to lower visibility. // D3DPSHADECAPS_FOGGOURAUD - // ... Support for fog in the gouraud shading mode is // available. // Note: Fog is basically a measure of visibility, lower // values equating to lower visibility. // D3DPSHADECAPS_FOGPHONG - // ... Support for fog in the phong shading mode is // available. // Note: Fog is basically a measure of visibility, lower // values equating to lower visibility. // D3DPSHADECAPS_SPECULARFLATMONO - // ... Support for monochrome specular highlights in the // flat shade mode is available. // Note: Specular settings are used to determine the color // of a point of light on a shiny object that corresponds // to a reflected light source. // D3DPSHADECAPS_SPECULARFLATRGB - // ... Support for colored specular highlights in the flat // shade mode is available. // Note: Specular settings are used to determine the color // of a point of light on a shiny object that corresponds // to a reflected light source. // D3DPSHADECAPS_SPECULARGOURAUDMONO - // ... Support for monochrome specular highlights in the // gouraud shade mode is available. // Note: Specular settings are used to determine the color // of a point of light on a shiny object that corresponds // to a reflected light source. // D3DPSHADECAPS_SPECULARGOURAUDRGB - // ... Support for colored specular highlights in the // gouraud shade mode is available. // Note: Specular settings are used to determine the color // of a point of light on a shiny object that corresponds // to a reflected light source. // D3DPSHADECAPS_SPECULARPHONGMONO - // ... Support for monochrome specular highlights in the // phong shade mode is available. // Note: Specular settings are used to determine the color // of a point of light on a shiny object that corresponds // to a reflected light source. // D3DPSHADECAPS_SPECULARPHONGRGB - // ... Support for colored specular highlights in the // phong shade mode is available. // Note: Specular settings are used to determine the color // of a point of light on a shiny object that corresponds // to a reflected light source. // ---------------------------------------------------------------------- __property dword ShadeCaps = { read=FGetShadeCaps, write=FSetShadeCaps, default=0 }; // ---------------------------------------------------------------------- // Property: SrcBlendCaps // Description: These flags indicate the source blending capablilties. // // The described effect applies when the flag is set. // // Blend factor describes how each color component of a // texture is combined with those of the surface to which it // is applied. // Flags: D3DPBLENDCAPS_BOTHINVSRCALPHA - // The source blend factor is (1-As, 1-As, 1-As, 1-As) and // the destination blend factor is (As, As, As, As). // Note: The destination blend selection is overridden by // this flag. // 1-As represents an inverted source alpha value, thus if // it was originally nearly opaque, it will now be nearly // transparent and vice versa. // As represents source alpha value. // D3DPBLENDCAPS_DESTALPHA - // The blend factor is (Ad, Ad, Ad, Ad). // Note: Ad represents destination alpha value. // D3DPBLENDCAPS_DESTCOLOR - // The blend factor is (Rd, Gd, Bd, Ad). // Note: Red, green, blue and alpha components of the // destination. // D3DPBLENDCAPS_INVDESTALPHA - // The blend factor is (1-Ad, 1-Ad, 1-Ad, 1-Ad). // Note: 1-Ad represents an inverted destination alpha // value, thus if it was originally nearly opaque, it will // now be nearly transparent and vice versa. // D3DPBLENDCAPS_INVDESTCOLOR - // The blend factor is (1-Rd, 1-Gd, 1-Bd, 1-Ad). // Note: Inverted red, green, blue and alpha components of // the destination. // D3DPBLENDCAPS_INVSRCALPHA - // The blend factor is (1-As, 1-As, 1-As, 1-As). // Note: 1-As represents an inverted source alpha value, // thus if it was originally nearly opaque, it will now be // nearly transparent and vice versa. // D3DPBLENDCAPS_INVSRCCOLOR - // The blend factor is (1-Rs, 1-Gs, 1-Bs, 1-As). // Note: Inverted red, green, blue and alpha components of // the source. // D3DPBLENDCAPS_ONE - // The blend factor is (1, 1, 1, 1). // D3DPBLENDCAPS_SRCALPHA - // The blend factor is (As, As, As, As). // Note: As represents the alpha component of the source. // D3DPBLENDCAPS_SRCALPHASAT - // The Blend factor is (f, f, f, 1) where f = min(As, // 1-Ad). // D3DPBLENDCAPS_SRCCOLOR - // The blend factor is (Rs, Gs, Bs, As). // Note: Red, green, blue and alpha components of the // source. // D3DPBLENDCAPS_ZERO - // The blend factor is (0, 0, 0, 0). // ---------------------------------------------------------------------- __property dword SrcBlendCaps = { read=FGetSrcBlendCaps, write=FSetSrcBlendCaps, default=0 }; // ---------------------------------------------------------------------- // Property: TextureAddressCaps // Description: These flags indicate what texture addressing capabilities // the device supports. // Note: The described effect applies when the flag is set. // Flags: D3DPTADDRESSCAPS_BORDER - // Support for texture coordinates outside the range 0.0 // to 1.0 being set to a border color is available. // D3DPTADDRESSCAPS_CLAMP - // Support for the clamping of textures to addresses is // available. // // Clamping a texture means that texture coordinates // greater than 1.0 are set to 1.0, and values less than // 0.0 are set to 0.0. // D3DPTADDRESSCAPS_INDEPENDENTUV - // Support for separate the texture addressing modes for // the U and V coordinates is available. // D3DPTADDRESSCAPS_MIRROR - // Support for the mirroring of textures to addresses is // available. // // Mirrored texture addressing is like tiled texture // addressing except the texture is flipped every integer // junction, thus 0 to 1 may be addressed normally, 1 to 2 // would then be mirrored, 2 to 3 would be normal, etc. // D3DPTADDRESSCAPS_WRAP - // Support for wrapping textures to addresses is // available. // // Wrapping allows the wrap around of texture coordinates // in the U, V or both directions. // ---------------------------------------------------------------------- __property dword TextureAddressCaps = { read=FGetTextureAddressCaps, write=FSetTextureAddressCaps, default=0 }; // ---------------------------------------------------------------------- // Property: TextureCaps // Description: These flags indicate what miscellaneous texture mapping // capabilities are available. // Note: The described effect applies when the flag is set. // A texture is a small graphic, usually tiled or wrapped // over a 3D object or surface and referenced by the U and V // coordinates of a vertex. // A vertex represents a point in 3D space and consists of a // vector which defines position, a normal vector which // defines orientation, texture coordinates and a color. // Flags: D3DPTEXTURECAPS_ALPHA - // Support for RGBA textures when using decal and modulate // texture modes is available. // Note: Alpha is always supported in decal mask, decal // alpha and modulate alpha modes if they are available. // D3DPTEXTURECAPS_ALPHAPALETTE - // change this // Supports palettized texture surfaces whose palettes // contain alpha information (see DDPCAPS_ALPHA in the // DDCAPS structure). // D3DPTEXTURECAPS_BORDER - // Support for texture mapping along borders is available. // D3DPTEXTURECAPS_COLORKEYBLEND - // The D3DPTEXTURECAPS_COLORKEYBLEND property is used // to... // The device supports alpha-blended colorkeying through // the use of the D3DRENDERSTATE_COLORKEYBLENDENABLE // render state. // D3DPTEXTURECAPS_CUBEMAP - // The D3DPTEXTURECAPS_CUBEMAP property is used // to...Supports cubic environment mapping. This // capability flag was introduced with DirectX 7.0 // D3DPTEXTURECAPS_NONPOW2CONDITIONAL - // The D3DPTEXTURECAPS_NONPOW2CONDITIONAL property is used // to...Conditionally supports the use of textures with // dimensions that are not powers of 2. A device that // exposes this capability can use such a texture if all // of the following requirements are met. // The texture addressing mode for the texture stage is // set to D3DTADDRESS_CLAMP. // Texture wrapping for the texture stage is disabled // (D3DRENDERSTATE_WRAPn set to 0). // D3DPTEXTURECAPS_PERSPECTIVE - // Support for perspective correction is available. // Note: Perspective correction of textures involves // stretching the texture onto polygons that are angled // away from the camera in such a way as to maintain // proper perspective. // D3DPTEXTURECAPS_POW2 - // All textures used must have widths and heights that are // powers of two. // D3DPTEXTURECAPS_PROJECTED - // The D3DPTEXTURECAPS_PROJECTED property is used // to...Supports the D3DTTFF_PROJECTED texture // transformation flag. When applied, the device divides // transformed texture coordinates by the last texture // coordinate // D3DPTEXTURECAPS_SQUAREONLY - // All textures used must be square. // D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE - // change this // Texture indices are not scaled by the texture size // prior to interpolation. // D3DPTEXTURECAPS_TRANSPARENCY - // Support for texture transparency is available. // Note: Texels that are the current transparent color are // not drawn. // ---------------------------------------------------------------------- __property dword TextureCaps = { read=FGetTextureCaps, write=FSetTextureCaps, default=0 }; // ---------------------------------------------------------------------- // Property: TextureFilterCaps // Description: These flags indicate texture map filtering capabilities // that are available. // Note: The described effect applies when the flag is set. // A texture is a small graphic, usually tiled or wrapped // over a 3D object or surface and referenced by the U and V // coordinates of a vertex. // A vertex represents a point in 3D space and consists of a // vector which defines position, a normal vector which // defines orientation, texture coordinates and a color. // Flags: D3DPTFILTERCAPS_LINEAR - // Uses a weighted average of the 2 by 2 area of texels // that surround the desired pixel to determine the color // that is drawn. // Note: This applies to both zooming in and out. // D3DPTFILTERCAPS_LINEARMIPLINEAR - // Two mipmaps whose texels most closely match the size of // the pixel to be textured are interpolated to produce a // final texel value. // D3DPTFILTERCAPS_LINEARMIPNEAREST - // Chooses the mipmap whose texels most closely match the // size of the pixel to be textured and then uses the // D3DFILTER_LINEAR method. // D3DPTFILTERCAPS_MAGFAFLATCUBIC - // change this // The device supports per-stage flat-cubic filtering for // magnifying textures. The flat-cubic magnification // filter is represented by the D3DTFG_FLATCUBIC member of // the D3DTEXTUREMAGFILTER enumerated type. // D3DPTFILTERCAPS_MAGFANISOTROPIC - // change this // The device supports per-stage anisotropic filtering for // magnifying textures. The anisotropic magnification // filter is represented by the D3DTFG_ANISOTROPIC member // of the D3DTEXTUREMAGFILTER enumerated type. // D3DPTFILTERCAPS_MAGFGAUSSIANCUBIC - // change this // The device supports the per-stage Gaussian-cubic // filtering for magnifying textures. The Gaussian-cubic // magnification filter is represented by the // D3DTFG_GAUSSIANCUBIC member of the D3DTEXTUREMAGFILTER // enumerated type. // D3DPTFILTERCAPS_MAGFLINEAR - // change this // The device supports per-stage bilinear-interpolation // filtering for magnifying textures. The // bilinear-interpolation magnification filter is // represented by the D3DTFG_LINEAR member of the // D3DTEXTUREMAGFILTER enumerated type. // D3DPTFILTERCAPS_MAGFPOINT - // change this // The device supports per-stage point-sampled filtering // for magnifying textures. The point-sample magnification // filter is represented by the D3DTFG_POINT member of the // D3DTEXTUREMAGFILTER enumerated type. // D3DPTFILTERCAPS_MINFANISOTROPIC - // change this // The device supports per-stage anisotropic filtering for // minifying textures. The anisotropic minification filter // is represented by the D3DTFN_ANISOTROPIC member of the // D3DTEXTUREMINFILTER enumerated type. // D3DPTFILTERCAPS_MINFLINEAR - // change this // The device supports per-stage bilinear-interpolation // filtering for minifying textures. The bilinear // minification filter is represented by the D3DTFN_LINEAR // member of the D3DTEXTUREMINFILTER enumerated type. // D3DPTFILTERCAPS_MINFPOINT - // change this // The device supports per-stage point-sampled filtering // for minifying textures. The point-sample minification // filter is represented by the D3DTFN_POINT member of the // D3DTEXTUREMINFILTER enumerated type. // D3DPTFILTERCAPS_MIPFLINEAR - // change this // The device supports per-stage trilinear-interpolation // filtering for mipmaps. The trilinear-interpolation // mipmapping filter is represented by the D3DTFP_LINEAR // member of the D3DTEXTUREMIPFILTER enumerated type. // D3DPTFILTERCAPS_MIPFPOINT - // change this // The device supports per-stage point-sampled filtering // for mipmaps. The point-sample mipmapping filter is // represented by the D3DTFP_POINT member of the // D3DTEXTUREMIPFILTER enumerated type. // D3DPTFILTERCAPS_MIPLINEAR - // Two mipmaps are chosen whose texels most closely match // the size of the pixel to be textured. The // D3DFILTER_NEAREST method is then used with each texture // to produce two values which are then weighted to // produce a final texel value. // D3DPTFILTERCAPS_MIPNEAREST - // Uses the mipmap and texel that has the closest // coordinates and texel size to the desired pixel value. // D3DPTFILTERCAPS_NEAREST - // Uses the texel with coordinates nearest to the desired // pixel value. // Note: This applies to both zooming in and out. // ---------------------------------------------------------------------- __property dword TextureFilterCaps = { read=FGetTextureFilterCaps, write=FSetTextureFilterCaps, default=0 }; // ---------------------------------------------------------------------- // Property: ZCmpCaps // Description: These flags indicate what Z buffer comparison functions // are available. // // The described effect applies when the flag is set. // // Z comparisons determine whether or not to draw a // z-buffered pixel. // Flags: D3DPCMPCAPS_ALWAYS - // A comparison that returns a pass for any z test is // available. // D3DPCMPCAPS_EQUAL - // A comparison that returns a pass when the z value being // tested is equal to the current z value is available. // D3DPCMPCAPS_GREATER - // A comparison that returns a pass when the z value being // tested is greater than the current z value is // available. // D3DPCMPCAPS_GREATEREQUAL - // A comparison that returns a pass when the z value being // tested is greater than or equal to the current z value // is available. // D3DPCMPCAPS_LESS - // A comparison that returns a pass when the z value being // tested is less than the current z value is available. // D3DPCMPCAPS_LESSEQUAL - // A comparison that returns a pass when the z value being // tested is greater than or equal to the current z value // is available. // D3DPCMPCAPS_NEVER - // A comparison that returns a fail for any z test is // available. // D3DPCMPCAPS_NOTEQUAL - // A comparison that returns a pass when the z value being // tested is not equal to the current z value is // available. // ---------------------------------------------------------------------- __property dword ZCmpCaps = { read=FGetZCmpCaps, write=FSetZCmpCaps, default=0 }; // ---------------------------------------------------------------------- // Method: Clear() // Description: The Clear() method can be used to clear the contents of // the TD3DPrimCaps's internal D3DPRIMCAPS structure. // Note: if you have manually linked a structure member to a // chunk of memory, make sure you release this memory before // calling Clear(). // ---------------------------------------------------------------------- virtual void __fastcall Clear(); // ---------------------------------------------------------------------- // Property: AlphaCmpCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the AlphaCmpCaps property. Note: Any // memory associated with these strings is released on // destruction. // ---------------------------------------------------------------------- __property TStringList* AlphaCmpCaps_Strings = { read=FGetAlphaCmpCaps_Strings }; // ---------------------------------------------------------------------- // Property: DestBlendCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the DestBlendCaps property. Note: Any // memory associated with these strings is released on // destruction. // ---------------------------------------------------------------------- __property TStringList* DestBlendCaps_Strings = { read=FGetDestBlendCaps_Strings }; // ---------------------------------------------------------------------- // Property: MiscCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the MiscCaps property. Note: Any memory // associated with these strings is released on destruction. // ---------------------------------------------------------------------- __property TStringList* MiscCaps_Strings = { read=FGetMiscCaps_Strings }; // ---------------------------------------------------------------------- // Property: RasterCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the RasterCaps property. Note: Any memory // associated with these strings is released on destruction. // ---------------------------------------------------------------------- __property TStringList* RasterCaps_Strings = { read=FGetRasterCaps_Strings }; // ---------------------------------------------------------------------- // Property: ShadeCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the ShadeCaps property. Note: Any memory // associated with these strings is released on destruction. // ---------------------------------------------------------------------- __property TStringList* ShadeCaps_Strings = { read=FGetShadeCaps_Strings }; // ---------------------------------------------------------------------- // Property: SrcBlendCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the SrcBlendCaps property. Note: Any // memory associated with these strings is released on // destruction. // ---------------------------------------------------------------------- __property TStringList* SrcBlendCaps_Strings = { read=FGetSrcBlendCaps_Strings }; // ---------------------------------------------------------------------- // Property: TextureAddressCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the TextureAddressCaps property. Note: // Any memory associated with these strings is released on // destruction. // ---------------------------------------------------------------------- __property TStringList* TextureAddressCaps_Strings = { read=FGetTextureAddressCaps_Strings }; // ---------------------------------------------------------------------- // Property: TextureCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the TextureCaps property. Note: Any // memory associated with these strings is released on // destruction. // ---------------------------------------------------------------------- __property TStringList* TextureCaps_Strings = { read=FGetTextureCaps_Strings }; // ---------------------------------------------------------------------- // Property: TextureFilterCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the TextureFilterCaps property. Note: Any // memory associated with these strings is released on // destruction. // ---------------------------------------------------------------------- __property TStringList* TextureFilterCaps_Strings = { read=FGetTextureFilterCaps_Strings }; // ---------------------------------------------------------------------- // Property: ZCmpCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the ZCmpCaps property. Note: Any memory // associated with these strings is released on destruction. // ---------------------------------------------------------------------- __property TStringList* ZCmpCaps_Strings = { read=FGetZCmpCaps_Strings }; // ---------------------------------------------------------------------- // Constructor() and Destructor() // ---------------------------------------------------------------------- __fastcall TD3DPrimCaps(TComponent* Owner); virtual __fastcall ~TD3DPrimCaps(); // ---------------------------------------------------------------------- // Internal Structure Access // ---------------------------------------------------------------------- __property D3DPRIMCAPS* Internal_D3DPRIMCAPS_Ptr = { read=FGetInternal_D3DPRIMCAPS_Ptr, nodefault }; void __fastcall Internal_D3DPRIMCAPS_Update(); // ========================================================================== protected: // ========================================================================== // ---------------------------------------------------------------------- // Object Inspector 'Flag' Access Methods // ---------------------------------------------------------------------- TD3DPrimCaps_ZCmpCaps_Set __fastcall FGetAlphaCmpCaps_(); void __fastcall FSetAlphaCmpCaps_( TD3DPrimCaps_ZCmpCaps_Set pAlphaCmpCaps_ ); TD3DPrimCaps_SrcBlendCaps_Set __fastcall FGetDestBlendCaps_(); void __fastcall FSetDestBlendCaps_( TD3DPrimCaps_SrcBlendCaps_Set pDestBlendCaps_ ); TD3DPrimCaps_MiscCaps_Set __fastcall FGetMiscCaps_(); void __fastcall FSetMiscCaps_( TD3DPrimCaps_MiscCaps_Set pMiscCaps_ ); TD3DPrimCaps_RasterCaps_Set __fastcall FGetRasterCaps_(); void __fastcall FSetRasterCaps_( TD3DPrimCaps_RasterCaps_Set pRasterCaps_ ); TD3DPrimCaps_ShadeCaps_Set __fastcall FGetShadeCaps_(); void __fastcall FSetShadeCaps_( TD3DPrimCaps_ShadeCaps_Set pShadeCaps_ ); TD3DPrimCaps_SrcBlendCaps_Set __fastcall FGetSrcBlendCaps_(); void __fastcall FSetSrcBlendCaps_( TD3DPrimCaps_SrcBlendCaps_Set pSrcBlendCaps_ ); TD3DPrimCaps_TextureAddressCaps_Set __fastcall FGetTextureAddressCaps_(); void __fastcall FSetTextureAddressCaps_( TD3DPrimCaps_TextureAddressCaps_Set pTextureAddressCaps_ ); TD3DPrimCaps_TextureCaps_Set __fastcall FGetTextureCaps_(); void __fastcall FSetTextureCaps_( TD3DPrimCaps_TextureCaps_Set pTextureCaps_ ); TD3DPrimCaps_TextureFilterCaps_Set __fastcall FGetTextureFilterCaps_(); void __fastcall FSetTextureFilterCaps_( TD3DPrimCaps_TextureFilterCaps_Set pTextureFilterCaps_ ); TD3DPrimCaps_ZCmpCaps_Set __fastcall FGetZCmpCaps_(); void __fastcall FSetZCmpCaps_( TD3DPrimCaps_ZCmpCaps_Set pZCmpCaps_ ); // ---------------------------------------------------------------------- // Property Access Methods // ---------------------------------------------------------------------- dword __fastcall FGetAlphaCmpCaps(); void __fastcall FSetAlphaCmpCaps( dword pAlphaCmpCaps ); dword __fastcall FGetDestBlendCaps(); void __fastcall FSetDestBlendCaps( dword pDestBlendCaps ); HRESULT __fastcall FGetErrorValue(); void __fastcall FSetErrorValue( HRESULT pErrorValue ); dword __fastcall FGetMiscCaps(); void __fastcall FSetMiscCaps( dword pMiscCaps ); dword __fastcall FGetRasterCaps(); void __fastcall FSetRasterCaps( dword pRasterCaps ); dword __fastcall FGetShadeCaps(); void __fastcall FSetShadeCaps( dword pShadeCaps ); dword __fastcall FGetSize(); void __fastcall FSetSize( dword pSize ); dword __fastcall FGetSrcBlendCaps(); void __fastcall FSetSrcBlendCaps( dword pSrcBlendCaps ); dword __fastcall FGetStippleHeight(); void __fastcall FSetStippleHeight( dword pStippleHeight ); dword __fastcall FGetStippleWidth(); void __fastcall FSetStippleWidth( dword pStippleWidth ); dword __fastcall FGetTextureAddressCaps(); void __fastcall FSetTextureAddressCaps( dword pTextureAddressCaps ); dword __fastcall FGetTextureBlendCaps(); void __fastcall FSetTextureBlendCaps( dword pTextureBlendCaps ); dword __fastcall FGetTextureCaps(); void __fastcall FSetTextureCaps( dword pTextureCaps ); dword __fastcall FGetTextureFilterCaps(); void __fastcall FSetTextureFilterCaps( dword pTextureFilterCaps ); dword __fastcall FGetZCmpCaps(); void __fastcall FSetZCmpCaps( dword pZCmpCaps ); // ---------------------------------------------------------------------- // Flag_Strings Access Methods // ---------------------------------------------------------------------- TStringList* __fastcall FGetAlphaCmpCaps_Strings(); TStringList* __fastcall FGetDestBlendCaps_Strings(); TStringList* __fastcall FGetMiscCaps_Strings(); TStringList* __fastcall FGetRasterCaps_Strings(); TStringList* __fastcall FGetShadeCaps_Strings(); TStringList* __fastcall FGetSrcBlendCaps_Strings(); TStringList* __fastcall FGetTextureAddressCaps_Strings(); TStringList* __fastcall FGetTextureCaps_Strings(); TStringList* __fastcall FGetTextureFilterCaps_Strings(); TStringList* __fastcall FGetZCmpCaps_Strings(); // ========================================================================== private: // ========================================================================== // ---------------------------------------------------------------------- // Internal Structure Access // ---------------------------------------------------------------------- D3DPRIMCAPS* __fastcall FGetInternal_D3DPRIMCAPS_Ptr(); void __fastcall FSetInternal_D3DPRIMCAPS( D3DPRIMCAPS* pD3DPRIMCAPS ); // ---------------------------------------------------------------------- // Property Variables // ---------------------------------------------------------------------- HRESULT fErrorValue; // ---------------------------------------------------------------------- // Flags_Strings Variables // ---------------------------------------------------------------------- TStringList* fAlphaCmpCaps_Strings; TStringList* fDestBlendCaps_Strings; TStringList* fMiscCaps_Strings; TStringList* fRasterCaps_Strings; TStringList* fShadeCaps_Strings; TStringList* fSrcBlendCaps_Strings; TStringList* fTextureAddressCaps_Strings; TStringList* fTextureCaps_Strings; TStringList* fTextureFilterCaps_Strings; TStringList* fZCmpCaps_Strings; // ---------------------------------------------------------------------- // Structure Variables // ---------------------------------------------------------------------- D3DPRIMCAPS fD3DPRIMCAPS; // ---------------------------------------------------------------------- // Event Variables // ---------------------------------------------------------------------- TDx_Error FOnError; }; // -------------------------------------------------------------------------- #endif // --------------------------------------------------------------------------