#ifndef TD3DCapsH #define TD3DCapsH // ========================================================================== // File: TD3DCaps.H // Authors: BCB_Code_Generator v2.00, // Darren Dwyer (source code, documentation, demos, website), // Hugh Edwards (documentation, icons) // Description: This file defines the TD3DCaps Component // // "TDx9_Graphics_Library v1.00" // (c) 2005 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 "TDx9_Graphics_Library_Defns.H" #include "TDx9_Graphics_Library_Functions.H" // ========================================================================== // Set: TD3DCapsCaps_Set // Description: A set of mangled DirectX flag names that are used to set the // TD3DCaps::Caps property using the BCB Object Inspector. For // detailed descriptions of each flag, see the Caps property // description below. // ========================================================================== enum TD3DCaps_Caps_Flags { d3dcaps_read_scanline }; typedef Set< TD3DCaps_Caps_Flags, d3dcaps_read_scanline, d3dcaps_read_scanline > TD3DCaps_Caps_Set; // ========================================================================== // Set: TD3DCapsCursorCaps_Set // Description: A set of mangled DirectX flag names that are used to set the // TD3DCaps::CursorCaps property using the BCB Object Inspector. // For detailed descriptions of each flag, see the CursorCaps // property description below. // ========================================================================== enum TD3DCaps_CursorCaps_Flags { d3dcursorcaps_color, d3dcursorcaps_lowres }; typedef Set< TD3DCaps_CursorCaps_Flags, d3dcursorcaps_color, d3dcursorcaps_lowres > TD3DCaps_CursorCaps_Set; // ========================================================================== // Set: TD3DCapsDevCaps_Set // Description: A set of mangled DirectX flag names that are used to set the // TD3DCaps::DevCaps property using the BCB Object Inspector. // For detailed descriptions of each flag, see the DevCaps // property description below. // ========================================================================== enum TD3DCaps_DevCaps_Flags { d3ddevcaps_canbltsystononlocal, d3ddevcaps_canrenderafterflip, d3ddevcaps_drawprimitives2, d3ddevcaps_drawprimitives2ex, d3ddevcaps_drawprimtlvertex, d3ddevcaps_executesystemmemory, d3ddevcaps_executevideomemory, d3ddevcaps_hwrasterization, d3ddevcaps_hwtransformandlight, d3ddevcaps_npatches, d3ddevcaps_puredevice, d3ddevcaps_quinticrtpatches, d3ddevcaps_rtpatches, d3ddevcaps_rtpatchhandlezero, d3ddevcaps_separatetexturememories, d3ddevcaps_texturenonlocalvidmem, d3ddevcaps_texturesystemmemory, d3ddevcaps_texturevideomemory, d3ddevcaps_tlvertexsystemmemory, d3ddevcaps_tlvertexvideomemory }; typedef Set< TD3DCaps_DevCaps_Flags, d3ddevcaps_canbltsystononlocal, d3ddevcaps_tlvertexvideomemory > TD3DCaps_DevCaps_Set; // ========================================================================== // Set: TD3DCapsFVFCaps_Set // Description: A set of mangled DirectX flag names that are used to set the // TD3DCaps::FVFCaps property using the BCB Object Inspector. // For detailed descriptions of each flag, see the FVFCaps // property description below. // ========================================================================== enum TD3DCaps_FVFCaps_Flags { d3dfvfcaps_donotstripelements, d3dfvfcaps_psize, d3dfvfcaps_texcoordcountmask }; typedef Set< TD3DCaps_FVFCaps_Flags, d3dfvfcaps_donotstripelements, d3dfvfcaps_texcoordcountmask > TD3DCaps_FVFCaps_Set; // ========================================================================== // Set: TD3DCapsLineCaps_Set // Description: A set of mangled DirectX flag names that are used to set the // TD3DCaps::LineCaps property using the BCB Object Inspector. // For detailed descriptions of each flag, see the LineCaps // property description below. // ========================================================================== enum TD3DCaps_LineCaps_Flags { d3dlinecaps_alphacmp, d3dlinecaps_antialias, d3dlinecaps_blend, d3dlinecaps_fog, d3dlinecaps_texture, d3dlinecaps_ztest }; typedef Set< TD3DCaps_LineCaps_Flags, d3dlinecaps_alphacmp, d3dlinecaps_ztest > TD3DCaps_LineCaps_Set; // ========================================================================== // Set: TD3DCapsPresentationIntervals_Set // Description: A set of mangled DirectX flag names that are used to set the // TD3DCaps::PresentationIntervals property using the BCB Object // Inspector. For detailed descriptions of each flag, see the // PresentationIntervals property description below. // ========================================================================== enum TD3DCaps_PresentationIntervals_Flags { d3dpresent_interval_four, d3dpresent_interval_immediate, d3dpresent_interval_one, d3dpresent_interval_three, d3dpresent_interval_two }; typedef Set< TD3DCaps_PresentationIntervals_Flags, d3dpresent_interval_four, d3dpresent_interval_two > TD3DCaps_PresentationIntervals_Set; // ========================================================================== // Set: TD3DCapsRasterCaps_Set // Description: A set of mangled DirectX flag names that are used to set the // TD3DCaps::RasterCaps property using the BCB Object Inspector. // For detailed descriptions of each flag, see the RasterCaps // property description below. // ========================================================================== enum TD3DCaps_RasterCaps_Flags { d3dprastercaps_anisotropy, d3dprastercaps_colorperspective, d3dprastercaps_depthbias, d3dprastercaps_dither, d3dprastercaps_fogrange, d3dprastercaps_fogtable, d3dprastercaps_fogvertex, d3dprastercaps_mipmaplodbias, d3dprastercaps_multisample_toggle, d3dprastercaps_scissortest, d3dprastercaps_slopescaledepthbias, d3dprastercaps_wbuffer, d3dprastercaps_wfog, d3dprastercaps_zbufferlesshsr, d3dprastercaps_zfog, d3dprastercaps_ztest }; typedef Set< TD3DCaps_RasterCaps_Flags, d3dprastercaps_anisotropy, d3dprastercaps_ztest > TD3DCaps_RasterCaps_Set; // ========================================================================== // Set: TD3DCapsShadeCaps_Set // Description: A set of mangled DirectX flag names that are used to set the // TD3DCaps::ShadeCaps property using the BCB Object Inspector. // For detailed descriptions of each flag, see the ShadeCaps // property description below. // ========================================================================== enum TD3DCaps_ShadeCaps_Flags { d3dpshadecaps_alphagouraudblend, d3dpshadecaps_colorgouraudrgb, d3dpshadecaps_foggouraud, d3dpshadecaps_speculargouraudrgb }; typedef Set< TD3DCaps_ShadeCaps_Flags, d3dpshadecaps_alphagouraudblend, d3dpshadecaps_speculargouraudrgb > TD3DCaps_ShadeCaps_Set; // ========================================================================== // Set: TD3DCapsSrcBlendCaps_Set // Description: A set of mangled DirectX flag names that are used to set the // TD3DCaps::SrcBlendCaps property using the BCB Object // Inspector. For detailed descriptions of each flag, see the // SrcBlendCaps property description below. // ========================================================================== enum TD3DCaps_SrcBlendCaps_Flags { d3dpblendcaps_blendfactor, d3dpblendcaps_bothinvsrcalpha, d3dpblendcaps_bothsrcalpha, d3dpblendcaps_destalpha, d3dpblendcaps_destcolor, d3dpblendcaps_invdestalpha, d3dpblendcaps_invdestcolor, d3dpblendcaps_invsrcalpha, d3dpblendcaps_invsrccolor, d3dpblendcaps_one, d3dpblendcaps_srcalpha, d3dpblendcaps_srcalphasat, d3dpblendcaps_srccolor, d3dpblendcaps_zero }; typedef Set< TD3DCaps_SrcBlendCaps_Flags, d3dpblendcaps_blendfactor, d3dpblendcaps_zero > TD3DCaps_SrcBlendCaps_Set; // ========================================================================== // Set: TD3DCapsTextureAddressCaps_Set // Description: A set of mangled DirectX flag names that are used to set the // TD3DCaps::TextureAddressCaps property using the BCB Object // Inspector. For detailed descriptions of each flag, see the // TextureAddressCaps property description below. // ========================================================================== enum TD3DCaps_TextureAddressCaps_Flags { d3dptaddresscaps_border, d3dptaddresscaps_clamp, d3dptaddresscaps_independentuv, d3dptaddresscaps_mirror, d3dptaddresscaps_mirroronce, d3dptaddresscaps_wrap }; typedef Set< TD3DCaps_TextureAddressCaps_Flags, d3dptaddresscaps_border, d3dptaddresscaps_wrap > TD3DCaps_TextureAddressCaps_Set; // ========================================================================== // Set: TD3DCapsTextureCaps_Set // Description: A set of mangled DirectX flag names that are used to set the // TD3DCaps::TextureCaps property using the BCB Object // Inspector. For detailed descriptions of each flag, see the // TextureCaps property description below. // ========================================================================== enum TD3DCaps_TextureCaps_Flags { d3dptexturecaps_alpha, d3dptexturecaps_alphapalette, d3dptexturecaps_cubemap, d3dptexturecaps_cubemap_pow2, d3dptexturecaps_mipcubemap, d3dptexturecaps_mipmap, d3dptexturecaps_mipvolumemap, d3dptexturecaps_nonpow2conditional, d3dptexturecaps_noprojectedbumpenv, d3dptexturecaps_perspective, d3dptexturecaps_pow2, d3dptexturecaps_projected, d3dptexturecaps_squareonly, d3dptexturecaps_texrepeatnotscaledbysize, d3dptexturecaps_volumemap, d3dptexturecaps_volumemap_pow2 }; typedef Set< TD3DCaps_TextureCaps_Flags, d3dptexturecaps_alpha, d3dptexturecaps_volumemap_pow2 > TD3DCaps_TextureCaps_Set; // ========================================================================== // Set: TD3DCapsTextureOpCaps_Set // Description: A set of mangled DirectX flag names that are used to set the // TD3DCaps::TextureOpCaps property using the BCB Object // Inspector. For detailed descriptions of each flag, see the // TextureOpCaps property description below. // ========================================================================== enum TD3DCaps_TextureOpCaps_Flags { d3dtexopcaps_add, d3dtexopcaps_addsigned, d3dtexopcaps_addsigned2x, d3dtexopcaps_addsmooth, d3dtexopcaps_blendcurrentalpha, d3dtexopcaps_blenddiffusealpha, d3dtexopcaps_blendfactoralpha, d3dtexopcaps_blendtexturealpha, d3dtexopcaps_blendtexturealphapm, d3dtexopcaps_bumpenvmap, d3dtexopcaps_bumpenvmapluminance, d3dtexopcaps_disable, d3dtexopcaps_dotproduct3, d3dtexopcaps_lerp, d3dtexopcaps_modulate, d3dtexopcaps_modulate2x, d3dtexopcaps_modulate4x, d3dtexopcaps_modulatealpha_addcolor, d3dtexopcaps_modulatecolor_addalpha, d3dtexopcaps_modulateinvalpha_addcolor, d3dtexopcaps_modulateinvcolor_addalpha, d3dtexopcaps_multiplyadd, d3dtexopcaps_premodulate, d3dtexopcaps_selectarg1, d3dtexopcaps_selectarg2, d3dtexopcaps_subtract }; typedef Set< TD3DCaps_TextureOpCaps_Flags, d3dtexopcaps_add, d3dtexopcaps_subtract > TD3DCaps_TextureOpCaps_Set; // ========================================================================== // Set: TD3DCapsZCmpCaps_Set // Description: A set of mangled DirectX flag names that are used to set the // TD3DCaps::ZCmpCaps property using the BCB Object Inspector. // For detailed descriptions of each flag, see the ZCmpCaps // property description below. // ========================================================================== enum TD3DCaps_ZCmpCaps_Flags { d3dpcmpcaps_always, d3dpcmpcaps_equal, d3dpcmpcaps_greater, d3dpcmpcaps_greaterequal, d3dpcmpcaps_less, d3dpcmpcaps_lessequal, d3dpcmpcaps_never, d3dpcmpcaps_notequal }; typedef Set< TD3DCaps_ZCmpCaps_Flags, d3dpcmpcaps_always, d3dpcmpcaps_notequal > TD3DCaps_ZCmpCaps_Set; // -------------------------------------------------------------------------- // ========================================================================== // Class: TD3DCaps // Description: The TD3DCaps component wraps the DirectX D3DCAPS9 structure // which holds the reported 3D hardware capabilities. // // This component is by TDx9_3D::GetDeviceCaps() and // TDx9_3DDevice::GetDeviceCaps() when retrieving device // capabilities. // It is also used by the DXUTGetDeviceCaps function and the // LPDXUTCALLBACKMODIFYDEVICESETTINGS and // LPDXUTCALLBACKMODIFYDEVICESETTINGS prototype callbacks of the // sample framework reference. // // Certain actions should be avoided between // TDx9_3DDevice::BeginScene() and TDx9_3DDevice::EndScene() // calls. These include modifying or evicting textures that are // used in the scene, calling TDx9_3DDevice::UpdateSurface to or // from the back buffer, accessing the z-buffer when // D3DPRASTERCAPS_ZBUFFERLESSHSR is set or locking the z or back // buffer. // ========================================================================== #if (__BORLANDC__ >= 0x0530) // BCB Version 3 + class PACKAGE TD3DCaps : public TComponent { // -------------------------------------------------------------------------- #else // BCB Version 1 class TD3DCaps : public TComponent { #endif // ========================================================================== __published: // ========================================================================== // ---------------------------------------------------------------------- // Property: AlphaCmpCaps_ // Description: The AlphaCmpCaps property defines which alpha comparison // capabilities are available. // The described effect applies when the flag is set. // When only D3DPCMPCAPS_ALWAYS or D3DPCMPCAPS_NEVER is set, // alpha tests are not supported. // 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 TD3DCaps_ZCmpCaps_Set AlphaCmpCaps_ = { read=FGetAlphaCmpCaps_, write=FSetAlphaCmpCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: Caps_ // Description: The Caps property defines the scanline capability 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 'Caps' property via the BCB Object Inspector. // For detailed descriptions of each flag, see the Caps // property description below. // ---------------------------------------------------------------------- __property TD3DCaps_Caps_Set Caps_ = { read=FGetCaps_, write=FSetCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: CursorCaps_ // Description: The CursorCaps property indicates the cursor support // available from hardware. // The described effect applies when the bit mask is set. // // DirectX 9 does not define alpa-blending cursor // capabilities. // Note: This property is used to set the various DirectX Flags // for the 'CursorCaps' property via the BCB Object // Inspector. For detailed descriptions of each flag, see // the CursorCaps property description below. // ---------------------------------------------------------------------- __property TD3DCaps_CursorCaps_Set CursorCaps_ = { read=FGetCursorCaps_, write=FSetCursorCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: DestBlendCaps_ // Description: The DestBlendCaps property defines which destination // blending capabilities are available. // The described effect applies when the flag is set. // Lowercase "s" and "d" indicate source and destination // respectively. // 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 TD3DCaps_SrcBlendCaps_Set DestBlendCaps_ = { read=FGetDestBlendCaps_, write=FSetDestBlendCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: DevCaps_ // Description: The DevCaps property defines which device capabilities // are available. // The described effect applies when the flag is set. // Note: This property is used to set the various DirectX Flags // for the 'DevCaps' property via the BCB Object Inspector. // For detailed descriptions of each flag, see the DevCaps // property description below. // ---------------------------------------------------------------------- __property TD3DCaps_DevCaps_Set DevCaps_ = { read=FGetDevCaps_, write=FSetDevCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: FVFCaps_ // Description: The FVFCaps property defines which flexible vertex format // capabilities are available. // The described effect applies when the flag is set. // Note: This property is used to set the various DirectX Flags // for the 'FVFCaps' property via the BCB Object Inspector. // For detailed descriptions of each flag, see the FVFCaps // property description below. // ---------------------------------------------------------------------- __property TD3DCaps_FVFCaps_Set FVFCaps_ = { read=FGetFVFCaps_, write=FSetFVFCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: LineCaps_ // Description: The LineCaps property defines which line drawing // primitive capabilities are available. // The described effect applies when the flag is set. // Note: This property is used to set the various DirectX Flags // for the 'LineCaps' property via the BCB Object Inspector. // For detailed descriptions of each flag, see the LineCaps // property description below. // ---------------------------------------------------------------------- __property TD3DCaps_LineCaps_Set LineCaps_ = { read=FGetLineCaps_, write=FSetLineCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: PresentationIntervals_ // Description: The PresentationIntervals property identifies what // presentation swap intervals are available. // The described effect applies when the bitmask is set. // Note: This property is used to set the various DirectX Flags // for the 'PresentationIntervals' property via the BCB // Object Inspector. For detailed descriptions of each // flag, see the PresentationIntervals property description // below. // ---------------------------------------------------------------------- __property TD3DCaps_PresentationIntervals_Set PresentationIntervals_ = { read=FGetPresentationIntervals_, write=FSetPresentationIntervals_, nodefault }; // ---------------------------------------------------------------------- // Property: RasterCaps_ // Description: The RasterCaps property defines which raster-drawing // capabilities are available // 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 TD3DCaps_RasterCaps_Set RasterCaps_ = { read=FGetRasterCaps_, write=FSetRasterCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: ShadeCaps_ // Description: The ShadeCaps property defines the shading capabilities // that are available. // The described effect applies when the flag is set. // If shading is supported at all, the D3DSHADE_FLAT option // of the D3DSHADEMODE enumerated type can be assumed to be // supported. // When alpha components are unsupported the generated alpha // value is implicitly 255. // 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 TD3DCaps_ShadeCaps_Set ShadeCaps_ = { read=FGetShadeCaps_, write=FSetShadeCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: SrcBlendCaps_ // Description: The SrcBlendCaps property defines which source blending // capabilities are available. // The described effect applies when the flag is set. // Lowercase "s" and "d" indicate source and destination // respectively. // 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 TD3DCaps_SrcBlendCaps_Set SrcBlendCaps_ = { read=FGetSrcBlendCaps_, write=FSetSrcBlendCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: TextureAddressCaps_ // Description: The TextureAddressCaps property defines the texture // addressing capabilities a texture object has available. // 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 TD3DCaps_TextureAddressCaps_Set TextureAddressCaps_ = { read=FGetTextureAddressCaps_, write=FSetTextureAddressCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: TextureCaps_ // Description: The TextureCaps property defines which texture mapping // capabilities are available. // The described effect applies when the flag is set. // 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 TD3DCaps_TextureCaps_Set TextureCaps_ = { read=FGetTextureCaps_, write=FSetTextureCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: TextureOpCaps_ // Description: The TextureOpCaps property define which of the // D3DTEXTUREOP enumerated types texture operations are // available. // The described effect applies when the flag is set. // Note: This property is used to set the various DirectX Flags // for the 'TextureOpCaps' property via the BCB Object // Inspector. For detailed descriptions of each flag, see // the TextureOpCaps property description below. // ---------------------------------------------------------------------- __property TD3DCaps_TextureOpCaps_Set TextureOpCaps_ = { read=FGetTextureOpCaps_, write=FSetTextureOpCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: VolumeTextureAddressCaps_ // Description: The VolumeTextureAddressCaps property defines the texture // addressing capabilities a volume texture object has // available. // The described effect applies when the flag is set. // Note: This property is used to set the various DirectX Flags // for the 'VolumeTextureAddressCaps' property via the BCB // Object Inspector. For detailed descriptions of each // flag, see the VolumeTextureAddressCaps property // description below. // ---------------------------------------------------------------------- __property TD3DCaps_TextureAddressCaps_Set VolumeTextureAddressCaps_ = { read=FGetVolumeTextureAddressCaps_, write=FSetVolumeTextureAddressCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: ZCmpCaps_ // Description: The ZCmpCaps property defines which z-buffer comparison // capabilities are available. // The described effect applies when the flag is set. // 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 TD3DCaps_ZCmpCaps_Set ZCmpCaps_ = { read=FGetZCmpCaps_, write=FSetZCmpCaps_, nodefault }; // ---------------------------------------------------------------------- // Property: AdapterOrdinal // Description: The AdapterOrdinal property supplies the ordinal value of // the adapter on which the Direct3D device was created. // // The ordinal value will only have validity for the methods // of the TDx9_3D interface that created the device. // TDx9_3DDevice::GetDirect3D() can be used to retrieve the // correct TDx9_3D interface. // ---------------------------------------------------------------------- __property uint AdapterOrdinal = { read=FGetAdapterOrdinal, write=FSetAdapterOrdinal, default=0 }; // ---------------------------------------------------------------------- // Property: AdapterOrdinalInGroup // Description: The AdapterOrdinalInGroup property defines the reference // order of heads by the application programming interface // (API). // The master adapter is always 0. // These values are not the same as adapter ordinals, they // only apply to heads within a group. // ---------------------------------------------------------------------- __property uint AdapterOrdinalInGroup = { read=FGetAdapterOrdinalInGroup, write=FSetAdapterOrdinalInGroup, default=0 }; // ---------------------------------------------------------------------- // Property: Caps2 // Description: The Caps2 property defines which driver specific // capabilities are available. // Possible values are defined by the D3DCAPS2 constant. // ---------------------------------------------------------------------- __property dword Caps2 = { read=FGetCaps2, write=FSetCaps2, default=0 }; // ---------------------------------------------------------------------- // Property: Caps3 // Description: The Caps3 property defines more of the available driver // specific capabilities. // Possible values are defined by the D3DCAPS3 constant. // ---------------------------------------------------------------------- __property dword Caps3 = { read=FGetCaps3, write=FSetCaps3, default=0 }; // ---------------------------------------------------------------------- // Property: CubeTextureFilterCaps // Description: The CubeTextureFilterCaps property defines the // texture-filtering capabilities of a cube texture. // Possible values are any combination of the per stage // filtering capabilties defined in the D3DPTFILTERCAPS // constant. // ---------------------------------------------------------------------- __property dword CubeTextureFilterCaps = { read=FGetCubeTextureFilterCaps, write=FSetCubeTextureFilterCaps, default=0 }; // ---------------------------------------------------------------------- // Property: DeclTypes // Description: The DeclTypes property defines one or more data types // contained in a vertex declaration. // Possible values are defined by the D3DDTCAPS constant. // ---------------------------------------------------------------------- __property dword DeclTypes = { read=FGetDeclTypes, write=FSetDeclTypes, default=0 }; // ---------------------------------------------------------------------- // Property: DevCaps2 // Description: The DevCaps2 property defines which adaptive tessellation // capabilities are available. // Possible values are defined by the D3DDEVCAPS2 constant. // ---------------------------------------------------------------------- __property dword DevCaps2 = { read=FGetDevCaps2, write=FSetDevCaps2, default=0 }; // ---------------------------------------------------------------------- // Property: ExtentsAdjust // Description: The ExtentsAdjust property indicates how many pixels the // extents rectangle should be adjusted outward to // accommodate antialiasing kernels. // ---------------------------------------------------------------------- __property float ExtentsAdjust = { read=FGetExtentsAdjust, write=FSetExtentsAdjust, default=0 }; // ---------------------------------------------------------------------- // Property: GuardBandBottom // Description: The GuardBandBottom property defines the bottom screen // space coordinate of the guard band clipping region. // Coordinates within the guard band clipping region but // outside the viewport rectangle are automatically clipped. // ---------------------------------------------------------------------- __property float GuardBandBottom = { read=FGetGuardBandBottom, write=FSetGuardBandBottom, default=0 }; // ---------------------------------------------------------------------- // Property: GuardBandLeft // Description: The GuardBandLeft property defines the left screen space // coordinate of the guardband clipping region. // Coordinates within the guard band clipping region but // outside the viewport rectangle are automatically clipped. // ---------------------------------------------------------------------- __property float GuardBandLeft = { read=FGetGuardBandLeft, write=FSetGuardBandLeft, default=0 }; // ---------------------------------------------------------------------- // Property: GuardBandRight // Description: The GuardBandRight property defines the right screen // space coordinate of the guard band clipping region. // Coordinates within the guard band clipping region but // outside the viewport rectangle are automatically clipped. // ---------------------------------------------------------------------- __property float GuardBandRight = { read=FGetGuardBandRight, write=FSetGuardBandRight, default=0 }; // ---------------------------------------------------------------------- // Property: GuardBandTop // Description: The GuardBandTop property defines the top screen space // coordinate of the guard band clipping region. // Coordinates within the guard band clipping region but // outside the viewport rectangle are automatically clipped. // ---------------------------------------------------------------------- __property float GuardBandTop = { read=FGetGuardBandTop, write=FSetGuardBandTop, default=0 }; // ---------------------------------------------------------------------- // Property: MasterAdapterOrdinal // Description: The MasterAdapterOrdinal property defines which device is // the master for this subordinate. // In multihead support, one head is designated master and // all other heads on the same card are designated // subordinate. // When multiple multihead adapters are present, each // master/subordinate set is called a group. // ---------------------------------------------------------------------- __property uint MasterAdapterOrdinal = { read=FGetMasterAdapterOrdinal, write=FSetMasterAdapterOrdinal, default=0 }; // ---------------------------------------------------------------------- // Property: MaxActiveLights // Description: The MaxActiveLights property defines how many // simultaneous lights the device can support. // This value for the same physical device may vary // depending on the parameters of the // TDx9_3D::CreateDevice() call that created the // TDx9_3DDevice. // ---------------------------------------------------------------------- __property dword MaxActiveLights = { read=FGetMaxActiveLights, write=FSetMaxActiveLights, default=0 }; // ---------------------------------------------------------------------- // Property: MaxAnisotropy // Description: The MaxAnisotropy property defines the maximum valid // value of the D3DSAMPLERSTATE enumerated types // D3DSAMP_MAXANISOTROPY texture-stage state. // ---------------------------------------------------------------------- __property dword MaxAnisotropy = { read=FGetMaxAnisotropy, write=FSetMaxAnisotropy, default=0 }; // ---------------------------------------------------------------------- // Property: MaxNpatchTessellationLevel // Description: The MaxNpatchTessellationLevel property defines the // maximum number of n patch subdivision levels. // When using presampled displacement mapping, applications // will be clamped to this value. // ---------------------------------------------------------------------- __property float MaxNpatchTessellationLevel = { read=FGetMaxNpatchTessellationLevel, write=FSetMaxNpatchTessellationLevel, default=0 }; // ---------------------------------------------------------------------- // Property: MaxPShaderInstructionsExecuted // Description: The MaxPShaderInstructionsExecuted property defines how // many pixel shader instructions can be run. // ---------------------------------------------------------------------- __property dword MaxPShaderInstructionsExecuted = { read=FGetMaxPShaderInstructionsExecuted, write=FSetMaxPShaderInstructionsExecuted, default=0 }; // ---------------------------------------------------------------------- // Property: MaxPixelShader30InstructionSlots // Description: The MaxPixelShader30InstructionSlots defines how many // pixel shader instruction slots are supported. // The maximum value is 32768 and vs_3_0 devices are // required to support at least 512. // ---------------------------------------------------------------------- __property dword MaxPixelShader30InstructionSlots = { read=FGetMaxPixelShader30InstructionSlots, write=FSetMaxPixelShader30InstructionSlots, default=0 }; // ---------------------------------------------------------------------- // Property: MaxPointSize // Description: The MaxPointSize property defines the largest a point // primitive can be. // When set to 1.0f point size control is not supported. The // range is greater than or equal to 1.0f. // ---------------------------------------------------------------------- __property float MaxPointSize = { read=FGetMaxPointSize, write=FSetMaxPointSize, default=0 }; // ---------------------------------------------------------------------- // Property: MaxPrimitiveCount // Description: The MaxPrimitiveCount property defines how many // primitives each TDx9_3DDevice::DrawPrimitive() call can // cope with. // When not 0xffff, MaxPrimitiveCount primitives can be used // with each draw call. // When it is 0xffff, then the primitive limit still applies // but you are also limited to MaxPrimitiveCount unique // vertices. // ---------------------------------------------------------------------- __property dword MaxPrimitiveCount = { read=FGetMaxPrimitiveCount, write=FSetMaxPrimitiveCount, default=0 }; // ---------------------------------------------------------------------- // Property: MaxSimultaneousTextures // Description: The MaxSimultaneousTextures property defines how many // simultaneous textures can be bound to fixed function // pipeline sampler stages using TDx9_3DDevice::SetTexture. // A texture bound to multiple sampler stages counts as // multiple textures. // This property is irrelevent for programmable pipelines. // ---------------------------------------------------------------------- __property dword MaxSimultaneousTextures = { read=FGetMaxSimultaneousTextures, write=FSetMaxSimultaneousTextures, default=0 }; // ---------------------------------------------------------------------- // Property: MaxStreamStride // Description: The MaxStreamStride property defines the largest stride // TDx9_3DDevice::SetStreamSource() can use. // ---------------------------------------------------------------------- __property dword MaxStreamStride = { read=FGetMaxStreamStride, write=FSetMaxStreamStride, default=0 }; // ---------------------------------------------------------------------- // Property: MaxStreams // Description: The MaxStreams property defines how many concurrent data // streams TDx9_3DDevice::SetStreamSource() can handle. // Valid values range from 1 to 16 and a value of 0 // indicates a non DirectX 9 driver. // ---------------------------------------------------------------------- __property dword MaxStreams = { read=FGetMaxStreams, write=FSetMaxStreams, default=0 }; // ---------------------------------------------------------------------- // Property: MaxTextureAspectRatio // Description: The MaxTextureAspectRatio property defines the maximum // texture aspect ratio the hardware supports and is usually // a power of 2. // ---------------------------------------------------------------------- __property dword MaxTextureAspectRatio = { read=FGetMaxTextureAspectRatio, write=FSetMaxTextureAspectRatio, default=0 }; // ---------------------------------------------------------------------- // Property: MaxTextureBlendStages // Description: The MaxTextureBlendStages property defines the number of // texture blending stages available for a fixed function // pipeline. // For a programmable pixel pipeline, this value corresponds // with the number of unique texture registers used by pixel // shader instructions. // ---------------------------------------------------------------------- __property dword MaxTextureBlendStages = { read=FGetMaxTextureBlendStages, write=FSetMaxTextureBlendStages, default=0 }; // ---------------------------------------------------------------------- // Property: MaxTextureHeight // Description: The MaxTextureHeight property defines the maximum texture // height the device can support. // ---------------------------------------------------------------------- __property dword MaxTextureHeight = { read=FGetMaxTextureHeight, write=FSetMaxTextureHeight, default=0 }; // ---------------------------------------------------------------------- // Property: MaxTextureRepeat // Description: The MaxTextureRepeat property defines the maximum range // of the integer bits of post-normalised texture // coordinates. // // Texture coordinates are stored as a 32 bit signed // integer. 27 bits are used to store the integer part and 5 // bits for the floating point fraction. // The maximum integer index of 227 is used to calculate the // maximum texture coordinate, which varies according to how // the hardware performs texture coordinate scaling. // // Some hardware reports the cap TextureCaps, in which case // texture coordinate scaling by the texture size is // deferred until after interpolation and application of the // texture address mode. This means that the value of this // property now stores the number of times a texture can be // wrapped. // // A worse case is when TextureCaps is not set and the // device scales the texture coordinates by the texture size // prior to interpolation. This means the number of times a // texture can be wrapped is limited to the value of this // property divided by the texture size. // // Example: MaxTextureRepeat is 32k, texture size is 4k. If // TextureCaps is set, a texture can be wrapped 32k times. // If TextureCaps is not set, the limit is only 8 (32k // divided by 4k). // ---------------------------------------------------------------------- __property dword MaxTextureRepeat = { read=FGetMaxTextureRepeat, write=FSetMaxTextureRepeat, default=0 }; // ---------------------------------------------------------------------- // Property: MaxTextureWidth // Description: The MaxTextureWidth property defines the maximum texture // width the device can support. // ---------------------------------------------------------------------- __property dword MaxTextureWidth = { read=FGetMaxTextureWidth, write=FSetMaxTextureWidth, default=0 }; // ---------------------------------------------------------------------- // Property: MaxUserClipPlanes // Description: The MaxUserClipPlanes property defines how many user // defined clipping planes the device can support. // This value can be 0 and may vary for the same physical // device depending on the parameters of the // TDx9_3D::CreateDevice() call that created the // TDx9_3DDevice. // ---------------------------------------------------------------------- __property dword MaxUserClipPlanes = { read=FGetMaxUserClipPlanes, write=FSetMaxUserClipPlanes, default=0 }; // ---------------------------------------------------------------------- // Property: MaxVShaderInstructionsExecuted // Description: The MaxVShaderInstructionsExecuted property defines how // many vertex shader instructions can be run. // ---------------------------------------------------------------------- __property dword MaxVShaderInstructionsExecuted = { read=FGetMaxVShaderInstructionsExecuted, write=FSetMaxVShaderInstructionsExecuted, default=0 }; // ---------------------------------------------------------------------- // Property: MaxVertexBlendMatrices // Description: The MaxVertexBlendMatrices property defines how many // matrices the device can apply when multimatrix vertex // blending. // This value for the same physical device may vary // depending on the parameters of the // TDx9_3D::CreateDevice() call that created the // TDx9_3DDevice. // ---------------------------------------------------------------------- __property dword MaxVertexBlendMatrices = { read=FGetMaxVertexBlendMatrices, write=FSetMaxVertexBlendMatrices, default=0 }; // ---------------------------------------------------------------------- // Property: MaxVertexBlendMatrixIndex // Description: The MaxVertexBlendMatrixIndex property defines the // largest matrix index indexable using the per vertex // indices. // MaxVertexBlendMatrixIndex + 1 is the number of matrices // and the size of the matrix palette. When normals are // present in vertices that need to be lighting blended, // then the number of matrices is half this value. // When 0, indexed vertex blending and indexed matrices are // not supported, otherwise there is a valid range of 0 to // the value of this property. // Software vertex processing can handle 256 matrices // whether or not normals need to be blended. // This value for the same physical device may vary // depending on the parameters of the // TDx9_3D::CreateDevice() call that created the // TDx9_3DDevice. // ---------------------------------------------------------------------- __property dword MaxVertexBlendMatrixIndex = { read=FGetMaxVertexBlendMatrixIndex, write=FSetMaxVertexBlendMatrixIndex, default=0 }; // ---------------------------------------------------------------------- // Property: MaxVertexIndex // Description: The MaxVertexIndex property defines the largest indices // that can be used for hardware vertex processing. // While it is possible to create 32 bit index buffers, // unless this property is greater than 0x0000FFFF then you // will not be able to render with them. // ---------------------------------------------------------------------- __property dword MaxVertexIndex = { read=FGetMaxVertexIndex, write=FSetMaxVertexIndex, default=0 }; // ---------------------------------------------------------------------- // Property: MaxVertexShader30InstructionSlots // Description: The MaxVertexShader30InstructionSlots defines how many // vertex shader instruction slots are supported. // The maximum value is 32768 and vs_3_0 devices are // required to support at least 512. // ---------------------------------------------------------------------- __property dword MaxVertexShader30InstructionSlots = { read=FGetMaxVertexShader30InstructionSlots, write=FSetMaxVertexShader30InstructionSlots, default=0 }; // ---------------------------------------------------------------------- // Property: MaxVertexShaderConst // Description: The MaxVertexShaderConst property defines how many vertex // shader registers have been reserved for constants. // ---------------------------------------------------------------------- __property dword MaxVertexShaderConst = { read=FGetMaxVertexShaderConst, write=FSetMaxVertexShaderConst, default=0 }; // ---------------------------------------------------------------------- // Property: MaxVertexW // Description: The MaxVertexW property defines the maximum supported // w-based depth value. // ---------------------------------------------------------------------- __property float MaxVertexW = { read=FGetMaxVertexW, write=FSetMaxVertexW, default=0 }; // ---------------------------------------------------------------------- // Property: MaxVolumeExtent // Description: The MaxVolumeExtent property defines the maximum value // for any of the three volume texture dimensions the device // can support. // ---------------------------------------------------------------------- __property dword MaxVolumeExtent = { read=FGetMaxVolumeExtent, write=FSetMaxVolumeExtent, default=0 }; // ---------------------------------------------------------------------- // Property: NumSimultaneousRTs // Description: The NumSimultaneousRTs property indicates how many // simultaneous render targets are allowed. // This value must be at least 1. // ---------------------------------------------------------------------- __property dword NumSimultaneousRTs = { read=FGetNumSimultaneousRTs, write=FSetNumSimultaneousRTs, default=0 }; // ---------------------------------------------------------------------- // Property: NumberOfAdaptersInGroup // Description: The NumberOfAdaptersInGroup property will define how many // adapters there are in this group, but only if this // adapter is master. // Usually this will be 1. If its greater than 1 then this // adapter is the master. If the value is 0 then the adapter // is subordinate. // A single card can have only one master, but may have // multiple subordinates. // ---------------------------------------------------------------------- __property uint NumberOfAdaptersInGroup = { read=FGetNumberOfAdaptersInGroup, write=FSetNumberOfAdaptersInGroup, default=0 }; // ---------------------------------------------------------------------- // Property: PixelShader1xMaxValue // Description: The PixelShader1xMaxValue property defines the maximum // value of the pixel shader arithmetic component. // Usually an absolute value, so for example, if this // property is 8.0, then the range is from -8.0 to 8.0 // An absolute value < 1.0 indicates the hardware does not // support pixel shading. // ---------------------------------------------------------------------- __property float PixelShader1xMaxValue = { read=FGetPixelShader1xMaxValue, write=FSetPixelShader1xMaxValue, default=0 }; // ---------------------------------------------------------------------- // Property: PixelShaderVersion // Description: The PixelShaderVersion defines two numbers representing // the pixel shader main and sub version. // ---------------------------------------------------------------------- __property dword PixelShaderVersion = { read=FGetPixelShaderVersion, write=FSetPixelShaderVersion, default=0 }; // ---------------------------------------------------------------------- // Property: PrimitiveMiscCaps // Description: The PrimitiveMiscCaps property defines which driver // primitive capabilities are available. // Possible values are defined by the D3DPMISCCAPS constant. // ---------------------------------------------------------------------- __property dword PrimitiveMiscCaps = { read=FGetPrimitiveMiscCaps, write=FSetPrimitiveMiscCaps, default=0 }; // ---------------------------------------------------------------------- // Property: StencilCaps // Description: The StencilCaps property define which stencil buffer // operations are supported. // Possible values are defined by the D3DSTENCILCAPS // constant. // Stencil operations are assumed valid for all the // D3DRS_STENCILFAIL, D3DRS_STENCILPASS and // D3DRS_STENCILZFAIL render states in the // D3DRENDERSTATETYPE enumerated type. // ---------------------------------------------------------------------- __property dword StencilCaps = { read=FGetStencilCaps, write=FSetStencilCaps, default=0 }; // ---------------------------------------------------------------------- // Property: StretchRectFilterCaps // Description: The StretchRectFilterCaps property indicates which // TDx9_3DDevice::StretchRect() operations are available. // The possible values are: // D3DPTFILTERCAPS_MINFPOINT : Support for point sample // filtering for minifying rectangles is available. Set // D3DTEXF_POINT when calling TDx9_3DDevice::StretchRect() // to utilize this filter. // D3DPTFILTERCAPS_MAGFPOINT : Support for point sample // filtering for magnifying rectangles is available. Set // D3DTEXF_POINT when calling TDx9_3DDevice::StretchRect() // to utilize this filter. // D3DPTFILTERCAPS_MINFLINEAR : Support for bilinear // interpolation filtering for minifying rectangles is // available. Set D3DTEXF_LINEAR when calling // TDx9_3DDevice::StretchRect() to utilize this filter. // D3DPTFILTERCAPS_MINFLINEAR : Support for bilinear // interpolation filtering for magnifying rectangles is // available. Set D3DTEXF_LINEAR when calling // TDx9_3DDevice::StretchRect() to utilize this filter. // ---------------------------------------------------------------------- __property dword StretchRectFilterCaps = { read=FGetStretchRectFilterCaps, write=FSetStretchRectFilterCaps, default=0 }; // ---------------------------------------------------------------------- // Property: TextureFilterCaps // Description: The TextureFilterCaps property defines the // texture-filtering capabilities of a texture. // Possible values are any combination of the per stage // filtering capabilties defined in the D3DPTFILTERCAPS // constant. // ---------------------------------------------------------------------- __property dword TextureFilterCaps = { read=FGetTextureFilterCaps, write=FSetTextureFilterCaps, default=0 }; // ---------------------------------------------------------------------- // Property: VertexProcessingCaps // Description: The VertexProcessingCaps property defines which vertex // processing capabilities are available. // Possible values are defined by the D3DVTXPCAPS constant. // Capabilities for the same physical device may vary // depending on the parameters of the // TDx9_3D::CreateDevice() call that created the // TDx9_3DDevice. // ---------------------------------------------------------------------- __property dword VertexProcessingCaps = { read=FGetVertexProcessingCaps, write=FSetVertexProcessingCaps, default=0 }; // ---------------------------------------------------------------------- // Property: VertexShaderVersion // Description: The VertexShaderVersion defines two numbers representing // the vertex shader main and sub version. // ---------------------------------------------------------------------- __property dword VertexShaderVersion = { read=FGetVertexShaderVersion, write=FSetVertexShaderVersion, default=0 }; // ---------------------------------------------------------------------- // Property: VertexTextureFilterCaps // Description: The VertexTextureFilterCaps property indicates that // support for vertex shader texture filter is available. // Possible values are defined by the D3DPTFILTERCAPS // constant. // ---------------------------------------------------------------------- __property dword VertexTextureFilterCaps = { read=FGetVertexTextureFilterCaps, write=FSetVertexTextureFilterCaps, default=0 }; // ---------------------------------------------------------------------- // Property: VolumeTextureFilterCaps // Description: The TextureFilterCaps property defines the // texture-filtering capabilities of a volume texture. // Possible values are any combination of the per stage // filtering capabilties defined in the D3DPTFILTERCAPS // constant. // ---------------------------------------------------------------------- __property dword VolumeTextureFilterCaps = { read=FGetVolumeTextureFilterCaps, write=FSetVolumeTextureFilterCaps, default=0 }; // ---------------------------------------------------------------------- // Event: OnError() // Description: The OnError event is called when an error occurs in the // TD3DCaps component. // ---------------------------------------------------------------------- __property TDx_Error OnError = {read=FOnError, write=FOnError, nodefault}; // ========================================================================== public: // ========================================================================== // ---------------------------------------------------------------------- // Property: AlphaCmpCaps // Description: The AlphaCmpCaps property defines which alpha comparison // capabilities are available. // The described effect applies when the flag is set. // When only D3DPCMPCAPS_ALWAYS or D3DPCMPCAPS_NEVER is set, // alpha tests are not supported. // ---------------------------------------------------------------------- __property dword AlphaCmpCaps = { read=FGetAlphaCmpCaps, write=FSetAlphaCmpCaps, default=0 }; // ---------------------------------------------------------------------- // Property: Caps // Description: The Caps property defines the scanline capability of the // device. // The described effect applies when the flag is set. // Flags: D3DCAPS_READ_SCANLINE - // Support for returning the current scanline is present. // ---------------------------------------------------------------------- __property dword Caps = { read=FGetCaps, write=FSetCaps, default=0 }; // ---------------------------------------------------------------------- // Property: CursorCaps // Description: The CursorCaps property indicates the cursor support // available from hardware. // The described effect applies when the bit mask is set. // // DirectX 9 does not define alpa-blending cursor // capabilities. // Flags: D3DCURSORCAPS_COLOR - // Support for full color cursors is available. // This means there is driver support for high resolution // mode hardware color cursors with scanlines >= 400. // D3DCURSORCAPS_LOWRES - // Support for full color cursors is available. // This means there is driver support for high resolution // and low resolution mode hardware color cursors with // scanlines < 400. // ---------------------------------------------------------------------- __property dword CursorCaps = { read=FGetCursorCaps, write=FSetCursorCaps, default=0 }; // ---------------------------------------------------------------------- // Property: DestBlendCaps // Description: The DestBlendCaps property defines which destination // blending capabilities are available. // The described effect applies when the flag is set. // Lowercase "s" and "d" indicate source and destination // respectively. // ---------------------------------------------------------------------- __property dword DestBlendCaps = { read=FGetDestBlendCaps, write=FSetDestBlendCaps, default=0 }; // ---------------------------------------------------------------------- // Property: DevCaps // Description: The DevCaps property defines which device capabilities // are available. // The described effect applies when the flag is set. // Flags: D3DDEVCAPS_CANBLTSYSTONONLOCAL - // Support for texture blitting from system memory to // non-local video memory is available. // D3DDEVCAPS_CANRENDERAFTERFLIP - // Support for queuing rendering commands after a page // flip is available. // No changes to application behaviour are experienced but // the presence of this flag indicates the device is // relatively fast. // D3DDEVCAPS_DRAWPRIMITIVES2 - // Support for at least a DirectX 5.0 compliant driver is // available. // D3DDEVCAPS_DRAWPRIMITIVES2EX - // Support for at least a DirectX 7.0 compliant driver is // available. // D3DDEVCAPS_DRAWPRIMTLVERTEX - // Support for a TDx9_3DDevice::DrawPrimitive aware // hardware abstraction layer (HAL) is available. // D3DDEVCAPS_EXECUTESYSTEMMEMORY - // Support for system memory execute buffers is available. // D3DDEVCAPS_EXECUTEVIDEOMEMORY - // Support for video memory execute buffers is available. // D3DDEVCAPS_HWRASTERIZATION - // Support for hardware accelerated scene rasterization is // available. // D3DDEVCAPS_HWTRANSFORMANDLIGHT - // Support for hardware transformation and lighting is // available. // D3DDEVCAPS_NPATCHES - // Support for N patches is available. // D3DDEVCAPS_PUREDEVICE - // Support for hardware rasterization, transform, lighting // and shading is available. // D3DDEVCAPS_QUINTICRTPATCHES - // Support for quintic Bézier curves and B-splines is // available. // D3DDEVCAPS_RTPATCHES - // Support for rectangular and triangular patches is // available. // D3DDEVCAPS_RTPATCHHANDLEZERO - // Support for same efficiency drawing of non-cached // patches (handle zero) and cached patches is available. // Handle zero patches can always be drawn, but if this // capability is available, there will be no performance // loss from doing so. // D3DDEVCAPS_SEPARATETEXTUREMEMORIES - // Support for texturing from separate memory pools is // available. // D3DDEVCAPS_TEXTURENONLOCALVIDMEM - // Support for texture retrieval from non-local video // memory is available. // D3DDEVCAPS_TEXTURESYSTEMMEMORY - // Support for texture retrieval from system memory is // available. // D3DDEVCAPS_TEXTUREVIDEOMEMORY - // Support for texture retrieval from device memory is // available. // D3DDEVCAPS_TLVERTEXSYSTEMMEMORY - // Support for system memory buffering of transformed and // lit vertices is available. // D3DDEVCAPS_TLVERTEXVIDEOMEMORY - // Support for video memory buffering of transformed and // lit vertices is available. // ---------------------------------------------------------------------- __property dword DevCaps = { read=FGetDevCaps, write=FSetDevCaps, default=0 }; // ---------------------------------------------------------------------- // Property: DeviceType // Description: The DeviceType property identifies the resource type used // for processing vertices as delimited by the D3DDEVTYPE // enumerated type. // ---------------------------------------------------------------------- __property D3DDEVTYPE DeviceType = { read=FGetDeviceType, write=FSetDeviceType, nodefault }; // ---------------------------------------------------------------------- // Property: ErrorValue // Description: The ErrorValue property contains the last error value // returned from a call to a TD3DCaps method or fget/fset. // eg. D3D_OK or DDERR_SURFACELOST or TDX_ERROR // ---------------------------------------------------------------------- __property HRESULT ErrorValue = { read=FGetErrorValue, write=FSetErrorValue, default=D3D_OK }; // ---------------------------------------------------------------------- // Property: FVFCaps // Description: The FVFCaps property defines which flexible vertex format // capabilities are available. // The described effect applies when the flag is set. // Flags: D3DFVFCAPS_DONOTSTRIPELEMENTS - // Vertex elements should not be stripped. // ie: if there are vertex format elements not used by the // current render states, there is no need to regenerate // the vertices. // When not set, stripping extraneous elements improves // performance. // D3DFVFCAPS_PSIZE - // For flexible vertex formats, point size can come from // the vertex declaration, otherwise it is defined by the // D3DRS_POINTSIZE member of the D3DRENDERSTATETYPE // enumerated type. // If point size is available from both sources, the // vertex declaration is used. // D3DFVFCAPS_TEXCOORDCOUNTMASK - // Casting the low WORD of FVFCaps to the WORD data type // will define the maximum simultaneous texture coordinate // sets the device can use for multiple texture blending. // Up to 8 texture coordinate sets can be used for any // vertex, but the device can blend only the specified // number. // ---------------------------------------------------------------------- __property dword FVFCaps = { read=FGetFVFCaps, write=FSetFVFCaps, default=0 }; // ---------------------------------------------------------------------- // Property: LineCaps // Description: The LineCaps property defines which line drawing // primitive capabilities are available. // The described effect applies when the flag is set. // Flags: D3DLINECAPS_ALPHACMP - // Support for alpha test comparisons is available. // D3DLINECAPS_ANTIALIAS - // Support for anti aliased lines is available. // D3DLINECAPS_BLEND - // Support for source blending is available. // D3DLINECAPS_FOG - // Support for fog is available. // D3DLINECAPS_TEXTURE - // Support for texture mapping is available. // D3DLINECAPS_ZTEST - // Support for z buffer comparisons is available. // ---------------------------------------------------------------------- __property dword LineCaps = { read=FGetLineCaps, write=FSetLineCaps, default=0 }; // ---------------------------------------------------------------------- // Property: PS20Caps // Description: The PS20Caps property holds a TD3DPShaderCaps component // indicating what support for pixel shader version 2_0 // extended capability is available. // ---------------------------------------------------------------------- __property D3DPSHADERCAPS2_0 PS20Caps = { read=FGetPS20Caps, write=FSetPS20Caps, nodefault }; // ---------------------------------------------------------------------- // Property: PresentationIntervals // Description: The PresentationIntervals property identifies what // presentation swap intervals are available. // The described effect applies when the bitmask is set. // Flags: D3DPRESENT_INTERVAL_FOUR - // Support for a presentation swap interval every four // screen refreshes is available. // D3DPRESENT_INTERVAL_IMMEDIATE - // Support for an immediate presentation swap interval is // available. // D3DPRESENT_INTERVAL_ONE - // Support for a presentation swap interval every screen // refresh is available. // D3DPRESENT_INTERVAL_THREE - // Support for a presentation swap interval every third // screen refresh is available. // D3DPRESENT_INTERVAL_TWO - // Support for a presentation swap interval every second // screen refresh is available. // ---------------------------------------------------------------------- __property dword PresentationIntervals = { read=FGetPresentationIntervals, write=FSetPresentationIntervals, default=0 }; // ---------------------------------------------------------------------- // Property: RasterCaps // Description: The RasterCaps property defines which raster-drawing // capabilities are available // The described effect applies when the flag is set. // Flags: D3DPRASTERCAPS_ANISOTROPY - // Support for anisotropic filtering is available. // D3DPRASTERCAPS_COLORPERSPECTIVE - // Support for correct color perspective iteration is // available. // D3DPRASTERCAPS_DEPTHBIAS - // Support for legacy depth bias is available. // D3DPRASTERCAPS_DITHER - // Support for dithering to improve color resolution is // available. // D3DPRASTERCAPS_FOGRANGE - // Support for range based fog is available. // Range based fog computes fog effects using the viewer // to object distance as opposed to the objects scene // depth (z coordinate). // D3DPRASTERCAPS_FOGTABLE - // Support for calculating fog values from a lookup table // indexed to the depth of a given pixel is available. // D3DPRASTERCAPS_FOGVERTEX - // Support for calculating fog values during the lighting // operation then interpolating the fog during // rasterization is available. // D3DPRASTERCAPS_MIPMAPLODBIAS - // Support for level of detail (LOD) bias adjustments is // available. // Bias adjustments can be used to make a mipmap appear // crisper or less sharp than normal. // The D3DSAMP_MIPMAPLODBIAS member of the // D3DSAMPLERSTATETYPE enumerated type defines the LOD // Bias. // D3DPRASTERCAPS_MULTISAMPLE_TOGGLE - // Support for switching multisampling on and off between // calls to TDx9_3DDevice::BeginScene() and // TDx9_3DDevice::EndScene() is available. // The D3DRS_MULTISAMPLEANTIALIAS member of the // D3DRENDERSTATETYPE enumerated type defines whether // multisampling is being used or not. // D3DPRASTERCAPS_SCISSORTEST - // Support for scissor tests is available. // D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS - // Support for true slope-scale based depth bias is // available. // D3DPRASTERCAPS_WBUFFER - // Support for w depth buffering is available. // D3DPRASTERCAPS_WFOG - // Support for w based fog is available. // W-based fog is used when a perspective projection // matrix is specified, but affine projections still use // z-based fog. // A projection matrix with a nonzero [3][4] element is // considered a perspective projection matrix. // D3DPRASTERCAPS_ZBUFFERLESSHSR - // Support for hidden surface removal without polygon or // depth buffer allocation is available. // This hidden surface removal is hardware dependent and // transparent to the application and happens when the // D3DRS_ZENABLE member of the D3DRENDERSTATETYPE // enumerate type is set to true but there is no depth // buffer associated with the rendering target. // D3DPRASTERCAPS_ZFOG - // Support for z-based fog is available. // D3DPRASTERCAPS_ZTEST - // Support for z-test operations is available. // A z-test effectively renders a primitive then indicates // whether z pixels were rendered. // ---------------------------------------------------------------------- __property dword RasterCaps = { read=FGetRasterCaps, write=FSetRasterCaps, default=0 }; // ---------------------------------------------------------------------- // Property: ShadeCaps // Description: The ShadeCaps property defines the shading capabilities // that are available. // The described effect applies when the flag is set. // If shading is supported at all, the D3DSHADE_FLAT option // of the D3DSHADEMODE enumerated type can be assumed to be // supported. // When alpha components are unsupported the generated alpha // value is implicitly 255. // Flags: D3DPSHADECAPS_ALPHAGOURAUDBLEND - // Support for Gouraud blended alpha transparency is // available. // Alpha components are set at vertices and interpolated // across a face along with the other colors. // D3DPSHADECAPS_COLORGOURAUDRGB - // Support for color Gouraud shading is available. // RGB colors are set at vertices and interpolated across // a face. // D3DPSHADECAPS_FOGGOURAUD - // Support for fog when Gouraud shading is available. // D3DPSHADECAPS_SPECULARGOURAUDRGB - // Support for specular highlights when Gouraud shading is // available. // ---------------------------------------------------------------------- __property dword ShadeCaps = { read=FGetShadeCaps, write=FSetShadeCaps, default=0 }; // ---------------------------------------------------------------------- // Property: Size // Description: The Size property contains the size in bytes of the // internal _D3DCAPS9 structure. // ---------------------------------------------------------------------- __property dword Size = { read=FGetSize, write=FSetSize, nodefault }; // ---------------------------------------------------------------------- // Property: SrcBlendCaps // Description: The SrcBlendCaps property defines which source blending // capabilities are available. // The described effect applies when the flag is set. // Lowercase "s" and "d" indicate source and destination // respectively. // Flags: D3DPBLENDCAPS_BLENDFACTOR - // Support for both the D3DBLEND_BLENDFACTOR and // D3DBLEND_INVBLENDFACTOR options of the D3DBLEND // enumerated type is available. // D3DPBLENDCAPS_BOTHINVSRCALPHA - // Support for using an inverted source blend factor for // the source alpha value and the source blend factor for // the destination alpha value is available. // ie: Source is (1-As, 1-As, 1-As, 1-As) and destination // is (As, As, As, As), with the destination blend // selection being overridden. // D3DPBLENDCAPS_BOTHSRCALPHA - // Support for the D3DBLEND_BOTHSRCALPHA option of the // D3DBLEND enumerated type. // This option is obsolete, set the D3DBLEND_SRCALPHA and // D3DBLEND_INVSRCALPHA members of D3DBLEND in separate // calls to achieve exactly the same effect. // D3DPBLENDCAPS_DESTALPHA - // Support for using the destination blend factor for the // alpha value is available. // ie: The blend factor is (Ad, Ad, Ad, Ad). // D3DPBLENDCAPS_DESTCOLOR - // Support for using the destination blend factor for the // color value is available. // ie: The blend factor is (Rd, Gd, Bd, Ad). // D3DPBLENDCAPS_INVDESTALPHA - // Support for using the inverted destination blend factor // for the alpha value is available. // ie: The blend factor is (1-Ad, 1-Ad, 1-Ad, 1-Ad). // D3DPBLENDCAPS_INVDESTCOLOR - // Support for using the inverted destination blend factor // for the color value is available. // ie: The blend factor is (1-Rd, 1-Gd, 1-Bd, 1-Ad). // D3DPBLENDCAPS_INVSRCALPHA - // Support for using the inverted source blend factor for // the alpha value is available. // ie: The blend factor is (1-As, 1-As, 1-As, 1-As). // D3DPBLENDCAPS_INVSRCCOLOR - // Support for using the inverted source blend factor for // the color value is available. // ie: The blend factor is (1-Rs, 1-Gs, 1-Bs, 1-As). // D3DPBLENDCAPS_ONE - // Support for using 1 as the blend factor is available. // ie: The blend factor is [1, 1, 1, 1] // D3DPBLENDCAPS_SRCALPHA - // Support for using the source blend factor for the alpha // value is available. // ie: The blend factor is (As, As, As, As). // D3DPBLENDCAPS_SRCALPHASAT - // Support for using the lower of alpha value of the // source or inverse destination is available. // ie: The blend factor is (f, f, f, 1) where f = min(As, // 1-Ad). // D3DPBLENDCAPS_SRCCOLOR - // Support for using the source blend factor for the color // value is available. // ie: The blend factor is (Rs, Gs, Bs, As). // D3DPBLENDCAPS_ZERO - // Support for using 0 as the blend factor is available. // ie: The blend factor is [0, 0, 0, 0] // ---------------------------------------------------------------------- __property dword SrcBlendCaps = { read=FGetSrcBlendCaps, write=FSetSrcBlendCaps, default=0 }; // ---------------------------------------------------------------------- // Property: TextureAddressCaps // Description: The TextureAddressCaps property defines the texture // addressing capabilities a texture object has available. // The described effect applies when the flag is set. // Flags: D3DPTADDRESSCAPS_BORDER - // Support for coordinates beyond the range 0.0 to 1.0 // being set to the border color is available. // Border color is specified by the D3DSAMP_BORDERCOLOR // texture stage state. // D3DPTADDRESSCAPS_CLAMP - // Support for clamping textures to addresses is // available. // D3DPTADDRESSCAPS_INDEPENDENTUV - // Support for separate texture addressing modes for the u // and v coordinates is available. // This corresponds to the D3DSAMP_ADDRESSU and // D3DSAMP_ADDRESSV render state values of the // D3DSAMPLERSTATETYPE enumerated type. // D3DPTADDRESSCAPS_MIRROR - // Support for mirroring textures to addresses is // available. // D3DPTADDRESSCAPS_MIRRORONCE - // Support for taking the absolute texture coordinate // value and clamping to the maximum value is available. // D3DPTADDRESSCAPS_WRAP - // Support for wrapping textures to addresses is // available. // ---------------------------------------------------------------------- __property dword TextureAddressCaps = { read=FGetTextureAddressCaps, write=FSetTextureAddressCaps, default=0 }; // ---------------------------------------------------------------------- // Property: TextureCaps // Description: The TextureCaps property defines which texture mapping // capabilities are available. // The described effect applies when the flag is set. // Flags: D3DPTEXTURECAPS_ALPHA - // Support for alpha values in texture pixels is // available. // D3DPTEXTURECAPS_ALPHAPALETTE - // Support for drawing alpha from texture palettes is // available. // D3DPTEXTURECAPS_CUBEMAP - // Support for cube textures is available. // D3DPTEXTURECAPS_CUBEMAP_POW2 - // Support for cube textures is restricted to those whose // dimensions are powers of two. // D3DPTEXTURECAPS_MIPCUBEMAP - // Support for mipmapped cube textures is available. // D3DPTEXTURECAPS_MIPMAP - // Support for mipmapped textures is available. // D3DPTEXTURECAPS_MIPVOLUMEMAP - // Support for mipmapped volume textures is available. // D3DPTEXTURECAPS_NONPOW2CONDITIONAL - // Support for non power of two dimension 2D textures is // available but only under the following conditions: // Texture addressing mode must be D3DTADDRESS_CLAMP // Texture wrapping is disabled: D3DRS_WRAPn = 0 // No mipmapping: magnification filter only // Texture format is not set to D3DFMT_DXT1 through to // D3DFMT_DXT5. // // When neither this flag or TextureCaps are set, // unconditional support for non power of two dimension // textures is available. // You cannot set a non power of two dimension texture at // a stage that is read based on shader computations. // D3DPTEXTURECAPS_NOPROJECTEDBUMPENV - // Support for a projected bump environment loopkup // operation in programmable and fixed function shaders is // NOT available. // D3DPTEXTURECAPS_PERSPECTIVE - // Support for perspective correction texturing is // available. // D3DPTEXTURECAPS_POW2 - // When TextureCaps is not set, all textures except cube // and volume textures must have widths and heights that // are a power of two. // When TextureCaps is also set, conditional support of // non power of two dimensioned 2-D textures is available. // When neither this flag or TextureCaps are set, // unconditional support for non power of two dimension // textures is available. // D3DPTEXTURECAPS_PROJECTED - // Support for the D3DTTFF_PROJECTED texture // transformation option of the D3DTEXTURETRANSFORMFLAGS // enumerated type is available. // When present the device divides transformed texture // coordinates by the last texture coordinate on a per // pixel basis, otherwise the calculation is performed on // a per-vertex basis by Direct3D. // D3DPTEXTURECAPS_SQUAREONLY - // Support is restricted to square textures only. // D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE - // Support for scaling texture indices by texture size // prior to interpolation is NOT available. // D3DPTEXTURECAPS_VOLUMEMAP - // Support for volume textures is available. // D3DPTEXTURECAPS_VOLUMEMAP_POW2 - // Support for volume texture maps is restricted to those // that have powers of two dimensions. // ---------------------------------------------------------------------- __property dword TextureCaps = { read=FGetTextureCaps, write=FSetTextureCaps, default=0 }; // ---------------------------------------------------------------------- // Property: TextureOpCaps // Description: The TextureOpCaps property define which of the // D3DTEXTUREOP enumerated types texture operations are // available. // The described effect applies when the flag is set. // Flags: D3DTEXOPCAPS_ADD - // Support for the D3DTOP_ADD texture-blending operation // is available. // D3DTEXOPCAPS_ADDSIGNED - // Support for the D3DTOP_ADDSIGNED texture-blending // operation is available. // D3DTEXOPCAPS_ADDSIGNED2X - // Support for the D3DTOP_ADDSIGNED2X texture-blending // operation is available. // D3DTEXOPCAPS_ADDSMOOTH - // Support for the D3DTOP_ADDSMOOTH texture-blending // operation is available. // D3DTEXOPCAPS_BLENDCURRENTALPHA - // Support for the D3DTOP_BLENDCURRENTALPHA // texture-blending operation is available. // D3DTEXOPCAPS_BLENDDIFFUSEALPHA - // Support for the D3DTOP_BLENDDIFFUSEALPHA // texture-blending operation is available. // D3DTEXOPCAPS_BLENDFACTORALPHA - // Support for the D3DTOP_BLENDFACTORALPHA // texture-blending operation is available. // D3DTEXOPCAPS_BLENDTEXTUREALPHA - // Support for the D3DTOP_BLENDTEXTUREALPHA // texture-blending operation is available. // D3DTEXOPCAPS_BLENDTEXTUREALPHAPM - // Support for the D3DTOP_BLENDTEXTUREALPHAPM // texture-blending operation is available. // D3DTEXOPCAPS_BUMPENVMAP - // Support for the D3DTOP_BUMPENVMAP texture-blending // operation is available. // D3DTEXOPCAPS_BUMPENVMAPLUMINANCE - // Support for the D3DTOP_BUMPENVMAPLUMINANCE // texture-blending operation is available. // D3DTEXOPCAPS_DISABLE - // Support for the D3DTOP_DISABLE texture-blending // operation is available. // D3DTEXOPCAPS_DOTPRODUCT3 - // Support for the D3DTOP_DOTPRODUCT3 texture-blending // operation is available. // D3DTEXOPCAPS_LERP - // Support for the D3DTOP_LERP texture-blending operation // is available. // D3DTEXOPCAPS_MODULATE - // Support for the D3DTOP_MODULATE texture-blending // operation is available. // D3DTEXOPCAPS_MODULATE2X - // Support for the D3DTOP_MODULATE2X texture-blending // operation is available. // D3DTEXOPCAPS_MODULATE4X - // Support for the D3DTOP_MODULATE4X texture-blending // operation is available. // D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR - // Support for the D3DTOP_MODULATEALPHA_ADDCOLOR // texture-blending operation is available. // D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA - // Support for the D3DTOP_MODULATECOLOR_ADDALPHA // texture-blending operation is available. // D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR - // Support for the D3DTOP_MODULATEINVALPHA_ADDCOLOR // texture-blending operation is available. // D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA - // Support for the D3DTOP_MODULATEINVCOLOR_ADDALPHA // texture-blending operation is available. // D3DTEXOPCAPS_MULTIPLYADD - // Support for the D3DTOP_MULTIPLYADD texture-blending // operation is available. // D3DTEXOPCAPS_PREMODULATE - // Support for the D3DTOP_PREMODULATE texture-blending // operation is available. // D3DTEXOPCAPS_SELECTARG1 - // Support for the D3DTOP_SELECTARG1 texture-blending // operation is available. // D3DTEXOPCAPS_SELECTARG2 - // Support for the D3DTOP_SELECTARG2 texture-blending // operation is available. // D3DTEXOPCAPS_SUBTRACT - // Support for the D3DTOP_SUBTRACT texture-blending // operation is available. // ---------------------------------------------------------------------- __property dword TextureOpCaps = { read=FGetTextureOpCaps, write=FSetTextureOpCaps, default=0 }; // ---------------------------------------------------------------------- // Property: VS20Caps // Description: The VS20Caps property holds a TD3DVShaderCaps component // indicating what support for vertex shader version 2_0 // extended capability is available. // ---------------------------------------------------------------------- __property D3DVSHADERCAPS2_0 VS20Caps = { read=FGetVS20Caps, write=FSetVS20Caps, nodefault }; // ---------------------------------------------------------------------- // Property: VolumeTextureAddressCaps // Description: The VolumeTextureAddressCaps property defines the texture // addressing capabilities a volume texture object has // available. // The described effect applies when the flag is set. // ---------------------------------------------------------------------- __property dword VolumeTextureAddressCaps = { read=FGetVolumeTextureAddressCaps, write=FSetVolumeTextureAddressCaps, default=0 }; // ---------------------------------------------------------------------- // Property: ZCmpCaps // Description: The ZCmpCaps property defines which z-buffer comparison // capabilities are available. // The described effect applies when the flag is set. // Flags: D3DPCMPCAPS_ALWAYS - // Z-test will always be passed. // D3DPCMPCAPS_EQUAL - // Z-test will be passed if new z = current z. // D3DPCMPCAPS_GREATER - // Z-test will be passed if new z > current z. // D3DPCMPCAPS_GREATEREQUAL - // Z-test will be passed if new z >= current z. // D3DPCMPCAPS_LESS - // Z-test will be passed if new z < current z. // D3DPCMPCAPS_LESSEQUAL - // Z-test will be passed if new z <= current z. // D3DPCMPCAPS_NEVER - // Z-test will never be passed. // D3DPCMPCAPS_NOTEQUAL - // Z-test will be passed if new z != current z. // ---------------------------------------------------------------------- __property dword ZCmpCaps = { read=FGetZCmpCaps, write=FSetZCmpCaps, default=0 }; // ---------------------------------------------------------------------- // Method: Clear() // Description: The Clear() method can be used to clear the contents of // the TD3DCaps's internal D3DCAPS9 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: Caps_Strings() // Description: This property returns a TStringList containing current // flag values for the Caps property. Note: Any memory // associated with these strings is released on destruction. // ---------------------------------------------------------------------- __property TStringList* Caps_Strings = { read=FGetCaps_Strings }; // ---------------------------------------------------------------------- // Property: CursorCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the CursorCaps property. Note: Any memory // associated with these strings is released on destruction. // ---------------------------------------------------------------------- __property TStringList* CursorCaps_Strings = { read=FGetCursorCaps_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: DevCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the DevCaps property. Note: Any memory // associated with these strings is released on destruction. // ---------------------------------------------------------------------- __property TStringList* DevCaps_Strings = { read=FGetDevCaps_Strings }; // ---------------------------------------------------------------------- // Property: FVFCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the FVFCaps property. Note: Any memory // associated with these strings is released on destruction. // ---------------------------------------------------------------------- __property TStringList* FVFCaps_Strings = { read=FGetFVFCaps_Strings }; // ---------------------------------------------------------------------- // Property: LineCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the LineCaps property. Note: Any memory // associated with these strings is released on destruction. // ---------------------------------------------------------------------- __property TStringList* LineCaps_Strings = { read=FGetLineCaps_Strings }; // ---------------------------------------------------------------------- // Property: PresentationIntervals_Strings() // Description: This property returns a TStringList containing current // flag values for the PresentationIntervals property. Note: // Any memory associated with these strings is released on // destruction. // ---------------------------------------------------------------------- __property TStringList* PresentationIntervals_Strings = { read=FGetPresentationIntervals_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: TextureOpCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the TextureOpCaps property. Note: Any // memory associated with these strings is released on // destruction. // ---------------------------------------------------------------------- __property TStringList* TextureOpCaps_Strings = { read=FGetTextureOpCaps_Strings }; // ---------------------------------------------------------------------- // Property: VolumeTextureAddressCaps_Strings() // Description: This property returns a TStringList containing current // flag values for the VolumeTextureAddressCaps property. // Note: Any memory associated with these strings is // released on destruction. // ---------------------------------------------------------------------- __property TStringList* VolumeTextureAddressCaps_Strings = { read=FGetVolumeTextureAddressCaps_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 TD3DCaps(TComponent* Owner); virtual __fastcall ~TD3DCaps(); // ---------------------------------------------------------------------- // Internal Structure Access // ---------------------------------------------------------------------- __property D3DCAPS9* Internal_D3DCAPS9_Ptr = { read=FGetInternal_D3DCAPS9_Ptr, nodefault }; void __fastcall Internal_D3DCAPS9_Update(); // ========================================================================== protected: // ========================================================================== // ---------------------------------------------------------------------- // Object Inspector 'Flag' Access Methods // ---------------------------------------------------------------------- TD3DCaps_ZCmpCaps_Set __fastcall FGetAlphaCmpCaps_(); void __fastcall FSetAlphaCmpCaps_( TD3DCaps_ZCmpCaps_Set pAlphaCmpCaps_ ); TD3DCaps_Caps_Set __fastcall FGetCaps_(); void __fastcall FSetCaps_( TD3DCaps_Caps_Set pCaps_ ); TD3DCaps_CursorCaps_Set __fastcall FGetCursorCaps_(); void __fastcall FSetCursorCaps_( TD3DCaps_CursorCaps_Set pCursorCaps_ ); TD3DCaps_SrcBlendCaps_Set __fastcall FGetDestBlendCaps_(); void __fastcall FSetDestBlendCaps_( TD3DCaps_SrcBlendCaps_Set pDestBlendCaps_ ); TD3DCaps_DevCaps_Set __fastcall FGetDevCaps_(); void __fastcall FSetDevCaps_( TD3DCaps_DevCaps_Set pDevCaps_ ); TD3DCaps_FVFCaps_Set __fastcall FGetFVFCaps_(); void __fastcall FSetFVFCaps_( TD3DCaps_FVFCaps_Set pFVFCaps_ ); TD3DCaps_LineCaps_Set __fastcall FGetLineCaps_(); void __fastcall FSetLineCaps_( TD3DCaps_LineCaps_Set pLineCaps_ ); TD3DCaps_PresentationIntervals_Set __fastcall FGetPresentationIntervals_(); void __fastcall FSetPresentationIntervals_( TD3DCaps_PresentationIntervals_Set pPresentationIntervals_ ); TD3DCaps_RasterCaps_Set __fastcall FGetRasterCaps_(); void __fastcall FSetRasterCaps_( TD3DCaps_RasterCaps_Set pRasterCaps_ ); TD3DCaps_ShadeCaps_Set __fastcall FGetShadeCaps_(); void __fastcall FSetShadeCaps_( TD3DCaps_ShadeCaps_Set pShadeCaps_ ); TD3DCaps_SrcBlendCaps_Set __fastcall FGetSrcBlendCaps_(); void __fastcall FSetSrcBlendCaps_( TD3DCaps_SrcBlendCaps_Set pSrcBlendCaps_ ); TD3DCaps_TextureAddressCaps_Set __fastcall FGetTextureAddressCaps_(); void __fastcall FSetTextureAddressCaps_( TD3DCaps_TextureAddressCaps_Set pTextureAddressCaps_ ); TD3DCaps_TextureCaps_Set __fastcall FGetTextureCaps_(); void __fastcall FSetTextureCaps_( TD3DCaps_TextureCaps_Set pTextureCaps_ ); TD3DCaps_TextureOpCaps_Set __fastcall FGetTextureOpCaps_(); void __fastcall FSetTextureOpCaps_( TD3DCaps_TextureOpCaps_Set pTextureOpCaps_ ); TD3DCaps_TextureAddressCaps_Set __fastcall FGetVolumeTextureAddressCaps_(); void __fastcall FSetVolumeTextureAddressCaps_( TD3DCaps_TextureAddressCaps_Set pVolumeTextureAddressCaps_ ); TD3DCaps_ZCmpCaps_Set __fastcall FGetZCmpCaps_(); void __fastcall FSetZCmpCaps_( TD3DCaps_ZCmpCaps_Set pZCmpCaps_ ); // ---------------------------------------------------------------------- // Property Access Methods // ---------------------------------------------------------------------- uint __fastcall FGetAdapterOrdinal(); void __fastcall FSetAdapterOrdinal( uint pAdapterOrdinal ); uint __fastcall FGetAdapterOrdinalInGroup(); void __fastcall FSetAdapterOrdinalInGroup( uint pAdapterOrdinalInGroup ); dword __fastcall FGetAlphaCmpCaps(); void __fastcall FSetAlphaCmpCaps( dword pAlphaCmpCaps ); dword __fastcall FGetCaps(); void __fastcall FSetCaps( dword pCaps ); dword __fastcall FGetCaps2(); void __fastcall FSetCaps2( dword pCaps2 ); dword __fastcall FGetCaps3(); void __fastcall FSetCaps3( dword pCaps3 ); dword __fastcall FGetCubeTextureFilterCaps(); void __fastcall FSetCubeTextureFilterCaps( dword pCubeTextureFilterCaps ); dword __fastcall FGetCursorCaps(); void __fastcall FSetCursorCaps( dword pCursorCaps ); dword __fastcall FGetDeclTypes(); void __fastcall FSetDeclTypes( dword pDeclTypes ); dword __fastcall FGetDestBlendCaps(); void __fastcall FSetDestBlendCaps( dword pDestBlendCaps ); dword __fastcall FGetDevCaps(); void __fastcall FSetDevCaps( dword pDevCaps ); dword __fastcall FGetDevCaps2(); void __fastcall FSetDevCaps2( dword pDevCaps2 ); D3DDEVTYPE __fastcall FGetDeviceType(); void __fastcall FSetDeviceType( D3DDEVTYPE pDeviceType ); HRESULT __fastcall FGetErrorValue(); void __fastcall FSetErrorValue( HRESULT pErrorValue ); float __fastcall FGetExtentsAdjust(); void __fastcall FSetExtentsAdjust( float pExtentsAdjust ); dword __fastcall FGetFVFCaps(); void __fastcall FSetFVFCaps( dword pFVFCaps ); float __fastcall FGetGuardBandBottom(); void __fastcall FSetGuardBandBottom( float pGuardBandBottom ); float __fastcall FGetGuardBandLeft(); void __fastcall FSetGuardBandLeft( float pGuardBandLeft ); float __fastcall FGetGuardBandRight(); void __fastcall FSetGuardBandRight( float pGuardBandRight ); float __fastcall FGetGuardBandTop(); void __fastcall FSetGuardBandTop( float pGuardBandTop ); dword __fastcall FGetLineCaps(); void __fastcall FSetLineCaps( dword pLineCaps ); uint __fastcall FGetMasterAdapterOrdinal(); void __fastcall FSetMasterAdapterOrdinal( uint pMasterAdapterOrdinal ); dword __fastcall FGetMaxActiveLights(); void __fastcall FSetMaxActiveLights( dword pMaxActiveLights ); dword __fastcall FGetMaxAnisotropy(); void __fastcall FSetMaxAnisotropy( dword pMaxAnisotropy ); float __fastcall FGetMaxNpatchTessellationLevel(); void __fastcall FSetMaxNpatchTessellationLevel( float pMaxNpatchTessellationLevel ); dword __fastcall FGetMaxPShaderInstructionsExecuted(); void __fastcall FSetMaxPShaderInstructionsExecuted( dword pMaxPShaderInstructionsExecuted ); dword __fastcall FGetMaxPixelShader30InstructionSlots(); void __fastcall FSetMaxPixelShader30InstructionSlots( dword pMaxPixelShader30InstructionSlots ); float __fastcall FGetMaxPointSize(); void __fastcall FSetMaxPointSize( float pMaxPointSize ); dword __fastcall FGetMaxPrimitiveCount(); void __fastcall FSetMaxPrimitiveCount( dword pMaxPrimitiveCount ); dword __fastcall FGetMaxSimultaneousTextures(); void __fastcall FSetMaxSimultaneousTextures( dword pMaxSimultaneousTextures ); dword __fastcall FGetMaxStreamStride(); void __fastcall FSetMaxStreamStride( dword pMaxStreamStride ); dword __fastcall FGetMaxStreams(); void __fastcall FSetMaxStreams( dword pMaxStreams ); dword __fastcall FGetMaxTextureAspectRatio(); void __fastcall FSetMaxTextureAspectRatio( dword pMaxTextureAspectRatio ); dword __fastcall FGetMaxTextureBlendStages(); void __fastcall FSetMaxTextureBlendStages( dword pMaxTextureBlendStages ); dword __fastcall FGetMaxTextureHeight(); void __fastcall FSetMaxTextureHeight( dword pMaxTextureHeight ); dword __fastcall FGetMaxTextureRepeat(); void __fastcall FSetMaxTextureRepeat( dword pMaxTextureRepeat ); dword __fastcall FGetMaxTextureWidth(); void __fastcall FSetMaxTextureWidth( dword pMaxTextureWidth ); dword __fastcall FGetMaxUserClipPlanes(); void __fastcall FSetMaxUserClipPlanes( dword pMaxUserClipPlanes ); dword __fastcall FGetMaxVShaderInstructionsExecuted(); void __fastcall FSetMaxVShaderInstructionsExecuted( dword pMaxVShaderInstructionsExecuted ); dword __fastcall FGetMaxVertexBlendMatrices(); void __fastcall FSetMaxVertexBlendMatrices( dword pMaxVertexBlendMatrices ); dword __fastcall FGetMaxVertexBlendMatrixIndex(); void __fastcall FSetMaxVertexBlendMatrixIndex( dword pMaxVertexBlendMatrixIndex ); dword __fastcall FGetMaxVertexIndex(); void __fastcall FSetMaxVertexIndex( dword pMaxVertexIndex ); dword __fastcall FGetMaxVertexShader30InstructionSlots(); void __fastcall FSetMaxVertexShader30InstructionSlots( dword pMaxVertexShader30InstructionSlots ); dword __fastcall FGetMaxVertexShaderConst(); void __fastcall FSetMaxVertexShaderConst( dword pMaxVertexShaderConst ); float __fastcall FGetMaxVertexW(); void __fastcall FSetMaxVertexW( float pMaxVertexW ); dword __fastcall FGetMaxVolumeExtent(); void __fastcall FSetMaxVolumeExtent( dword pMaxVolumeExtent ); dword __fastcall FGetNumSimultaneousRTs(); void __fastcall FSetNumSimultaneousRTs( dword pNumSimultaneousRTs ); uint __fastcall FGetNumberOfAdaptersInGroup(); void __fastcall FSetNumberOfAdaptersInGroup( uint pNumberOfAdaptersInGroup ); D3DPSHADERCAPS2_0 __fastcall FGetPS20Caps(); void __fastcall FSetPS20Caps( D3DPSHADERCAPS2_0 pPS20Caps ); float __fastcall FGetPixelShader1xMaxValue(); void __fastcall FSetPixelShader1xMaxValue( float pPixelShader1xMaxValue ); dword __fastcall FGetPixelShaderVersion(); void __fastcall FSetPixelShaderVersion( dword pPixelShaderVersion ); dword __fastcall FGetPresentationIntervals(); void __fastcall FSetPresentationIntervals( dword pPresentationIntervals ); dword __fastcall FGetPrimitiveMiscCaps(); void __fastcall FSetPrimitiveMiscCaps( dword pPrimitiveMiscCaps ); 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 FGetStencilCaps(); void __fastcall FSetStencilCaps( dword pStencilCaps ); dword __fastcall FGetStretchRectFilterCaps(); void __fastcall FSetStretchRectFilterCaps( dword pStretchRectFilterCaps ); dword __fastcall FGetTextureAddressCaps(); void __fastcall FSetTextureAddressCaps( dword pTextureAddressCaps ); dword __fastcall FGetTextureCaps(); void __fastcall FSetTextureCaps( dword pTextureCaps ); dword __fastcall FGetTextureFilterCaps(); void __fastcall FSetTextureFilterCaps( dword pTextureFilterCaps ); dword __fastcall FGetTextureOpCaps(); void __fastcall FSetTextureOpCaps( dword pTextureOpCaps ); D3DVSHADERCAPS2_0 __fastcall FGetVS20Caps(); void __fastcall FSetVS20Caps( D3DVSHADERCAPS2_0 pVS20Caps ); dword __fastcall FGetVertexProcessingCaps(); void __fastcall FSetVertexProcessingCaps( dword pVertexProcessingCaps ); dword __fastcall FGetVertexShaderVersion(); void __fastcall FSetVertexShaderVersion( dword pVertexShaderVersion ); dword __fastcall FGetVertexTextureFilterCaps(); void __fastcall FSetVertexTextureFilterCaps( dword pVertexTextureFilterCaps ); dword __fastcall FGetVolumeTextureAddressCaps(); void __fastcall FSetVolumeTextureAddressCaps( dword pVolumeTextureAddressCaps ); dword __fastcall FGetVolumeTextureFilterCaps(); void __fastcall FSetVolumeTextureFilterCaps( dword pVolumeTextureFilterCaps ); dword __fastcall FGetZCmpCaps(); void __fastcall FSetZCmpCaps( dword pZCmpCaps ); // ---------------------------------------------------------------------- // Flag_Strings Access Methods // ---------------------------------------------------------------------- TStringList* __fastcall FGetAlphaCmpCaps_Strings(); TStringList* __fastcall FGetCaps_Strings(); TStringList* __fastcall FGetCursorCaps_Strings(); TStringList* __fastcall FGetDestBlendCaps_Strings(); TStringList* __fastcall FGetDevCaps_Strings(); TStringList* __fastcall FGetFVFCaps_Strings(); TStringList* __fastcall FGetLineCaps_Strings(); TStringList* __fastcall FGetPresentationIntervals_Strings(); TStringList* __fastcall FGetRasterCaps_Strings(); TStringList* __fastcall FGetShadeCaps_Strings(); TStringList* __fastcall FGetSrcBlendCaps_Strings(); TStringList* __fastcall FGetTextureAddressCaps_Strings(); TStringList* __fastcall FGetTextureCaps_Strings(); TStringList* __fastcall FGetTextureOpCaps_Strings(); TStringList* __fastcall FGetVolumeTextureAddressCaps_Strings(); TStringList* __fastcall FGetZCmpCaps_Strings(); // ========================================================================== private: // ========================================================================== // ---------------------------------------------------------------------- // Internal Structure Access // ---------------------------------------------------------------------- D3DCAPS9* __fastcall FGetInternal_D3DCAPS9_Ptr(); void __fastcall FSetInternal_D3DCAPS9( D3DCAPS9* pD3DCAPS9 ); // ---------------------------------------------------------------------- // Property Variables // ---------------------------------------------------------------------- HRESULT fErrorValue; dword fSize; // ---------------------------------------------------------------------- // Flags_Strings Variables // ---------------------------------------------------------------------- TStringList* fAlphaCmpCaps_Strings; TStringList* fCaps_Strings; TStringList* fCursorCaps_Strings; TStringList* fDestBlendCaps_Strings; TStringList* fDevCaps_Strings; TStringList* fFVFCaps_Strings; TStringList* fLineCaps_Strings; TStringList* fPresentationIntervals_Strings; TStringList* fRasterCaps_Strings; TStringList* fShadeCaps_Strings; TStringList* fSrcBlendCaps_Strings; TStringList* fTextureAddressCaps_Strings; TStringList* fTextureCaps_Strings; TStringList* fTextureOpCaps_Strings; TStringList* fVolumeTextureAddressCaps_Strings; TStringList* fZCmpCaps_Strings; // ---------------------------------------------------------------------- // Structure Variables // ---------------------------------------------------------------------- D3DCAPS9 fD3DCAPS9; // ---------------------------------------------------------------------- // Event Variables // ---------------------------------------------------------------------- TDx_Error FOnError; }; // -------------------------------------------------------------------------- #endif // --------------------------------------------------------------------------