ホーム › Graphics.Direct3D9 › D3DCAPS9
D3DCAPS9
構造体サイズ=各フィールドのバイト数(x64/x86 で異なる場合は x64/x86 と併記)。x64/x86 列=フィールドのバイトオフセット(HSPで dupptr / lpoke / wpoke 等に使用)。
フィールド
| フィールド | 型 | サイズ | x64 | x86 | 説明 |
|---|---|---|---|---|---|
| DeviceType | D3DDEVTYPE | 4 | +0 | +0 | デバイスの種別を示すD3DDEVTYPE。 |
| AdapterOrdinal | DWORD | 4 | +4 | +4 | アダプタの序数。 |
| Caps | DWORD | 4 | +8 | +8 | ドライバの一般的なケイパビリティフラグ群。 |
| Caps2 | DWORD | 4 | +12 | +12 | 追加のドライバケイパビリティフラグ群。 |
| Caps3 | DWORD | 4 | +16 | +16 | さらに追加のドライバケイパビリティフラグ群。 |
| PresentationIntervals | DWORD | 4 | +20 | +20 | サポートするプレゼンテーション間隔のフラグ群。 |
| CursorCaps | DWORD | 4 | +24 | +24 | ハードウェアカーソルのケイパビリティフラグ群。 |
| DevCaps | DWORD | 4 | +28 | +28 | デバイスのケイパビリティフラグ群。 |
| PrimitiveMiscCaps | DWORD | 4 | +32 | +32 | プリミティブ描画に関する各種ケイパビリティフラグ群。 |
| RasterCaps | DWORD | 4 | +36 | +36 | ラスタライズに関するケイパビリティフラグ群。 |
| ZCmpCaps | DWORD | 4 | +40 | +40 | Z(深度)比較関数のケイパビリティフラグ群。 |
| SrcBlendCaps | DWORD | 4 | +44 | +44 | ソースブレンド係数のケイパビリティフラグ群。 |
| DestBlendCaps | DWORD | 4 | +48 | +48 | デスティネーションブレンド係数のケイパビリティフラグ群。 |
| AlphaCmpCaps | DWORD | 4 | +52 | +52 | アルファ比較関数のケイパビリティフラグ群。 |
| ShadeCaps | DWORD | 4 | +56 | +56 | シェーディングのケイパビリティフラグ群。 |
| TextureCaps | DWORD | 4 | +60 | +60 | テクスチャ機能のケイパビリティフラグ群。 |
| TextureFilterCaps | DWORD | 4 | +64 | +64 | テクスチャフィルタのケイパビリティフラグ群。 |
| CubeTextureFilterCaps | DWORD | 4 | +68 | +68 | キューブテクスチャフィルタのケイパビリティフラグ群。 |
| VolumeTextureFilterCaps | DWORD | 4 | +72 | +72 | ボリュームテクスチャフィルタのケイパビリティフラグ群。 |
| TextureAddressCaps | DWORD | 4 | +76 | +76 | テクスチャアドレッシングのケイパビリティフラグ群。 |
| VolumeTextureAddressCaps | DWORD | 4 | +80 | +80 | ボリュームテクスチャアドレッシングのケイパビリティフラグ群。 |
| LineCaps | DWORD | 4 | +84 | +84 | ライン描画のケイパビリティフラグ群。 |
| MaxTextureWidth | DWORD | 4 | +88 | +88 | テクスチャの最大幅(テクセル単位)。 |
| MaxTextureHeight | DWORD | 4 | +92 | +92 | テクスチャの最大高さ(テクセル単位)。 |
| MaxVolumeExtent | DWORD | 4 | +96 | +96 | ボリュームテクスチャの最大の辺の長さ。 |
| MaxTextureRepeat | DWORD | 4 | +100 | +100 | テクスチャの最大繰り返し回数。 |
| MaxTextureAspectRatio | DWORD | 4 | +104 | +104 | テクスチャの最大アスペクト比。 |
| MaxAnisotropy | DWORD | 4 | +108 | +108 | サポートする最大異方性フィルタリングの度合い。 |
| MaxVertexW | FLOAT | 4 | +112 | +112 | 頂点のW成分の最大値。 |
| GuardBandLeft | FLOAT | 4 | +116 | +116 | ガードバンドの左端座標。 |
| GuardBandTop | FLOAT | 4 | +120 | +120 | ガードバンドの上端座標。 |
| GuardBandRight | FLOAT | 4 | +124 | +124 | ガードバンドの右端座標。 |
| GuardBandBottom | FLOAT | 4 | +128 | +128 | ガードバンドの下端座標。 |
| ExtentsAdjust | FLOAT | 4 | +132 | +132 | アンチエイリアス時の範囲調整量。 |
| StencilCaps | DWORD | 4 | +136 | +136 | ステンシルバッファ操作のケイパビリティフラグ群。 |
| FVFCaps | DWORD | 4 | +140 | +140 | FVF(柔軟頂点フォーマット)のケイパビリティフラグ群。 |
| TextureOpCaps | DWORD | 4 | +144 | +144 | テクスチャブレンド操作のケイパビリティフラグ群。 |
| MaxTextureBlendStages | DWORD | 4 | +148 | +148 | サポートする最大テクスチャブレンドステージ数。 |
| MaxSimultaneousTextures | DWORD | 4 | +152 | +152 | 同時に使用可能な最大テクスチャ数。 |
| VertexProcessingCaps | DWORD | 4 | +156 | +156 | 頂点処理のケイパビリティフラグ群。 |
| MaxActiveLights | DWORD | 4 | +160 | +160 | 同時に有効化できる最大ライト数。 |
| MaxUserClipPlanes | DWORD | 4 | +164 | +164 | ユーザ定義クリップ平面の最大数。 |
| MaxVertexBlendMatrices | DWORD | 4 | +168 | +168 | 頂点ブレンドに使用できる最大行列数。 |
| MaxVertexBlendMatrixIndex | DWORD | 4 | +172 | +172 | 頂点ブレンド行列インデックスの最大値。 |
| MaxPointSize | FLOAT | 4 | +176 | +176 | ポイントスプライトの最大サイズ。 |
| MaxPrimitiveCount | DWORD | 4 | +180 | +180 | 1回の描画で扱える最大プリミティブ数。 |
| MaxVertexIndex | DWORD | 4 | +184 | +184 | 頂点インデックスの最大値。 |
| MaxStreams | DWORD | 4 | +188 | +188 | サポートする最大頂点ストリーム数。 |
| MaxStreamStride | DWORD | 4 | +192 | +192 | 頂点ストリームの最大ストライド。 |
| VertexShaderVersion | DWORD | 4 | +196 | +196 | サポートする頂点シェーダのバージョン。 |
| MaxVertexShaderConst | DWORD | 4 | +200 | +200 | 頂点シェーダの定数レジスタ数。 |
| PixelShaderVersion | DWORD | 4 | +204 | +204 | サポートするピクセルシェーダのバージョン。 |
| PixelShader1xMaxValue | FLOAT | 4 | +208 | +208 | ピクセルシェーダ1.xで扱える最大値。 |
| DevCaps2 | DWORD | 4 | +212 | +212 | 追加のデバイスケイパビリティフラグ群。 |
| MaxNpatchTessellationLevel | FLOAT | 4 | +216 | +216 | Nパッチテッセレーションの最大レベル。 |
| Reserved5 | DWORD | 4 | +220 | +220 | 予約フィールド。 |
| MasterAdapterOrdinal | DWORD | 4 | +224 | +224 | マスタアダプタの序数。 |
| AdapterOrdinalInGroup | DWORD | 4 | +228 | +228 | グループ内でのアダプタの序数。 |
| NumberOfAdaptersInGroup | DWORD | 4 | +232 | +232 | アダプタグループに含まれるアダプタ数。 |
| DeclTypes | DWORD | 4 | +236 | +236 | サポートする頂点宣言型のフラグ群。 |
| NumSimultaneousRTs | DWORD | 4 | +240 | +240 | 同時に設定可能なレンダーターゲット数。 |
| StretchRectFilterCaps | DWORD | 4 | +244 | +244 | StretchRectで使用可能なフィルタのケイパビリティフラグ群。 |
| VS20Caps | D3DVSHADERCAPS2_0 | 16 | +248 | +248 | 頂点シェーダ2.0の詳細ケイパビリティ(D3DVSHADERCAPS2_0)。 |
| PS20Caps | D3DPSHADERCAPS2_0 | 20 | +264 | +264 | ピクセルシェーダ2.0の詳細ケイパビリティ(D3DPSHADERCAPS2_0)。 |
| VertexTextureFilterCaps | DWORD | 4 | +284 | +284 | 頂点テクスチャフィルタのケイパビリティフラグ群。 |
| MaxVShaderInstructionsExecuted | DWORD | 4 | +288 | +288 | 頂点シェーダで実行可能な最大命令数。 |
| MaxPShaderInstructionsExecuted | DWORD | 4 | +292 | +292 | ピクセルシェーダで実行可能な最大命令数。 |
| MaxVertexShader30InstructionSlots | DWORD | 4 | +296 | +296 | 頂点シェーダ3.0の最大命令スロット数。 |
| MaxPixelShader30InstructionSlots | DWORD | 4 | +300 | +300 | ピクセルシェーダ3.0の最大命令スロット数。 |
各言語での定義
#include <windows.h>
// D3DVSHADERCAPS2_0 (x64 16 / x86 16 バイト)
typedef struct D3DVSHADERCAPS2_0 {
DWORD Caps;
INT DynamicFlowControlDepth;
INT NumTemps;
INT StaticFlowControlDepth;
} D3DVSHADERCAPS2_0;
// D3DPSHADERCAPS2_0 (x64 20 / x86 20 バイト)
typedef struct D3DPSHADERCAPS2_0 {
DWORD Caps;
INT DynamicFlowControlDepth;
INT NumTemps;
INT StaticFlowControlDepth;
INT NumInstructionSlots;
} D3DPSHADERCAPS2_0;
// D3DCAPS9 (x64 304 / x86 304 バイト)
typedef struct D3DCAPS9 {
D3DDEVTYPE DeviceType;
DWORD AdapterOrdinal;
DWORD Caps;
DWORD Caps2;
DWORD Caps3;
DWORD PresentationIntervals;
DWORD CursorCaps;
DWORD DevCaps;
DWORD PrimitiveMiscCaps;
DWORD RasterCaps;
DWORD ZCmpCaps;
DWORD SrcBlendCaps;
DWORD DestBlendCaps;
DWORD AlphaCmpCaps;
DWORD ShadeCaps;
DWORD TextureCaps;
DWORD TextureFilterCaps;
DWORD CubeTextureFilterCaps;
DWORD VolumeTextureFilterCaps;
DWORD TextureAddressCaps;
DWORD VolumeTextureAddressCaps;
DWORD LineCaps;
DWORD MaxTextureWidth;
DWORD MaxTextureHeight;
DWORD MaxVolumeExtent;
DWORD MaxTextureRepeat;
DWORD MaxTextureAspectRatio;
DWORD MaxAnisotropy;
FLOAT MaxVertexW;
FLOAT GuardBandLeft;
FLOAT GuardBandTop;
FLOAT GuardBandRight;
FLOAT GuardBandBottom;
FLOAT ExtentsAdjust;
DWORD StencilCaps;
DWORD FVFCaps;
DWORD TextureOpCaps;
DWORD MaxTextureBlendStages;
DWORD MaxSimultaneousTextures;
DWORD VertexProcessingCaps;
DWORD MaxActiveLights;
DWORD MaxUserClipPlanes;
DWORD MaxVertexBlendMatrices;
DWORD MaxVertexBlendMatrixIndex;
FLOAT MaxPointSize;
DWORD MaxPrimitiveCount;
DWORD MaxVertexIndex;
DWORD MaxStreams;
DWORD MaxStreamStride;
DWORD VertexShaderVersion;
DWORD MaxVertexShaderConst;
DWORD PixelShaderVersion;
FLOAT PixelShader1xMaxValue;
DWORD DevCaps2;
FLOAT MaxNpatchTessellationLevel;
DWORD Reserved5;
DWORD MasterAdapterOrdinal;
DWORD AdapterOrdinalInGroup;
DWORD NumberOfAdaptersInGroup;
DWORD DeclTypes;
DWORD NumSimultaneousRTs;
DWORD StretchRectFilterCaps;
D3DVSHADERCAPS2_0 VS20Caps;
D3DPSHADERCAPS2_0 PS20Caps;
DWORD VertexTextureFilterCaps;
DWORD MaxVShaderInstructionsExecuted;
DWORD MaxPShaderInstructionsExecuted;
DWORD MaxVertexShader30InstructionSlots;
DWORD MaxPixelShader30InstructionSlots;
} D3DCAPS9;using System;
using System.Runtime.InteropServices;
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct D3DVSHADERCAPS2_0
{
public uint Caps;
public int DynamicFlowControlDepth;
public int NumTemps;
public int StaticFlowControlDepth;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct D3DPSHADERCAPS2_0
{
public uint Caps;
public int DynamicFlowControlDepth;
public int NumTemps;
public int StaticFlowControlDepth;
public int NumInstructionSlots;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct D3DCAPS9
{
public int DeviceType;
public uint AdapterOrdinal;
public uint Caps;
public uint Caps2;
public uint Caps3;
public uint PresentationIntervals;
public uint CursorCaps;
public uint DevCaps;
public uint PrimitiveMiscCaps;
public uint RasterCaps;
public uint ZCmpCaps;
public uint SrcBlendCaps;
public uint DestBlendCaps;
public uint AlphaCmpCaps;
public uint ShadeCaps;
public uint TextureCaps;
public uint TextureFilterCaps;
public uint CubeTextureFilterCaps;
public uint VolumeTextureFilterCaps;
public uint TextureAddressCaps;
public uint VolumeTextureAddressCaps;
public uint LineCaps;
public uint MaxTextureWidth;
public uint MaxTextureHeight;
public uint MaxVolumeExtent;
public uint MaxTextureRepeat;
public uint MaxTextureAspectRatio;
public uint MaxAnisotropy;
public float MaxVertexW;
public float GuardBandLeft;
public float GuardBandTop;
public float GuardBandRight;
public float GuardBandBottom;
public float ExtentsAdjust;
public uint StencilCaps;
public uint FVFCaps;
public uint TextureOpCaps;
public uint MaxTextureBlendStages;
public uint MaxSimultaneousTextures;
public uint VertexProcessingCaps;
public uint MaxActiveLights;
public uint MaxUserClipPlanes;
public uint MaxVertexBlendMatrices;
public uint MaxVertexBlendMatrixIndex;
public float MaxPointSize;
public uint MaxPrimitiveCount;
public uint MaxVertexIndex;
public uint MaxStreams;
public uint MaxStreamStride;
public uint VertexShaderVersion;
public uint MaxVertexShaderConst;
public uint PixelShaderVersion;
public float PixelShader1xMaxValue;
public uint DevCaps2;
public float MaxNpatchTessellationLevel;
public uint Reserved5;
public uint MasterAdapterOrdinal;
public uint AdapterOrdinalInGroup;
public uint NumberOfAdaptersInGroup;
public uint DeclTypes;
public uint NumSimultaneousRTs;
public uint StretchRectFilterCaps;
public D3DVSHADERCAPS2_0 VS20Caps;
public D3DPSHADERCAPS2_0 PS20Caps;
public uint VertexTextureFilterCaps;
public uint MaxVShaderInstructionsExecuted;
public uint MaxPShaderInstructionsExecuted;
public uint MaxVertexShader30InstructionSlots;
public uint MaxPixelShader30InstructionSlots;
}Imports System.Runtime.InteropServices
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure D3DVSHADERCAPS2_0
Public Caps As UInteger
Public DynamicFlowControlDepth As Integer
Public NumTemps As Integer
Public StaticFlowControlDepth As Integer
End Structure
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure D3DPSHADERCAPS2_0
Public Caps As UInteger
Public DynamicFlowControlDepth As Integer
Public NumTemps As Integer
Public StaticFlowControlDepth As Integer
Public NumInstructionSlots As Integer
End Structure
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure D3DCAPS9
Public DeviceType As Integer
Public AdapterOrdinal As UInteger
Public Caps As UInteger
Public Caps2 As UInteger
Public Caps3 As UInteger
Public PresentationIntervals As UInteger
Public CursorCaps As UInteger
Public DevCaps As UInteger
Public PrimitiveMiscCaps As UInteger
Public RasterCaps As UInteger
Public ZCmpCaps As UInteger
Public SrcBlendCaps As UInteger
Public DestBlendCaps As UInteger
Public AlphaCmpCaps As UInteger
Public ShadeCaps As UInteger
Public TextureCaps As UInteger
Public TextureFilterCaps As UInteger
Public CubeTextureFilterCaps As UInteger
Public VolumeTextureFilterCaps As UInteger
Public TextureAddressCaps As UInteger
Public VolumeTextureAddressCaps As UInteger
Public LineCaps As UInteger
Public MaxTextureWidth As UInteger
Public MaxTextureHeight As UInteger
Public MaxVolumeExtent As UInteger
Public MaxTextureRepeat As UInteger
Public MaxTextureAspectRatio As UInteger
Public MaxAnisotropy As UInteger
Public MaxVertexW As Single
Public GuardBandLeft As Single
Public GuardBandTop As Single
Public GuardBandRight As Single
Public GuardBandBottom As Single
Public ExtentsAdjust As Single
Public StencilCaps As UInteger
Public FVFCaps As UInteger
Public TextureOpCaps As UInteger
Public MaxTextureBlendStages As UInteger
Public MaxSimultaneousTextures As UInteger
Public VertexProcessingCaps As UInteger
Public MaxActiveLights As UInteger
Public MaxUserClipPlanes As UInteger
Public MaxVertexBlendMatrices As UInteger
Public MaxVertexBlendMatrixIndex As UInteger
Public MaxPointSize As Single
Public MaxPrimitiveCount As UInteger
Public MaxVertexIndex As UInteger
Public MaxStreams As UInteger
Public MaxStreamStride As UInteger
Public VertexShaderVersion As UInteger
Public MaxVertexShaderConst As UInteger
Public PixelShaderVersion As UInteger
Public PixelShader1xMaxValue As Single
Public DevCaps2 As UInteger
Public MaxNpatchTessellationLevel As Single
Public Reserved5 As UInteger
Public MasterAdapterOrdinal As UInteger
Public AdapterOrdinalInGroup As UInteger
Public NumberOfAdaptersInGroup As UInteger
Public DeclTypes As UInteger
Public NumSimultaneousRTs As UInteger
Public StretchRectFilterCaps As UInteger
Public VS20Caps As D3DVSHADERCAPS2_0
Public PS20Caps As D3DPSHADERCAPS2_0
Public VertexTextureFilterCaps As UInteger
Public MaxVShaderInstructionsExecuted As UInteger
Public MaxPShaderInstructionsExecuted As UInteger
Public MaxVertexShader30InstructionSlots As UInteger
Public MaxPixelShader30InstructionSlots As UInteger
End Structureimport ctypes
from ctypes import wintypes
class D3DVSHADERCAPS2_0(ctypes.Structure):
_fields_ = [
("Caps", wintypes.DWORD),
("DynamicFlowControlDepth", ctypes.c_int),
("NumTemps", ctypes.c_int),
("StaticFlowControlDepth", ctypes.c_int),
]
class D3DPSHADERCAPS2_0(ctypes.Structure):
_fields_ = [
("Caps", wintypes.DWORD),
("DynamicFlowControlDepth", ctypes.c_int),
("NumTemps", ctypes.c_int),
("StaticFlowControlDepth", ctypes.c_int),
("NumInstructionSlots", ctypes.c_int),
]
class D3DCAPS9(ctypes.Structure):
_fields_ = [
("DeviceType", ctypes.c_int),
("AdapterOrdinal", wintypes.DWORD),
("Caps", wintypes.DWORD),
("Caps2", wintypes.DWORD),
("Caps3", wintypes.DWORD),
("PresentationIntervals", wintypes.DWORD),
("CursorCaps", wintypes.DWORD),
("DevCaps", wintypes.DWORD),
("PrimitiveMiscCaps", wintypes.DWORD),
("RasterCaps", wintypes.DWORD),
("ZCmpCaps", wintypes.DWORD),
("SrcBlendCaps", wintypes.DWORD),
("DestBlendCaps", wintypes.DWORD),
("AlphaCmpCaps", wintypes.DWORD),
("ShadeCaps", wintypes.DWORD),
("TextureCaps", wintypes.DWORD),
("TextureFilterCaps", wintypes.DWORD),
("CubeTextureFilterCaps", wintypes.DWORD),
("VolumeTextureFilterCaps", wintypes.DWORD),
("TextureAddressCaps", wintypes.DWORD),
("VolumeTextureAddressCaps", wintypes.DWORD),
("LineCaps", wintypes.DWORD),
("MaxTextureWidth", wintypes.DWORD),
("MaxTextureHeight", wintypes.DWORD),
("MaxVolumeExtent", wintypes.DWORD),
("MaxTextureRepeat", wintypes.DWORD),
("MaxTextureAspectRatio", wintypes.DWORD),
("MaxAnisotropy", wintypes.DWORD),
("MaxVertexW", ctypes.c_float),
("GuardBandLeft", ctypes.c_float),
("GuardBandTop", ctypes.c_float),
("GuardBandRight", ctypes.c_float),
("GuardBandBottom", ctypes.c_float),
("ExtentsAdjust", ctypes.c_float),
("StencilCaps", wintypes.DWORD),
("FVFCaps", wintypes.DWORD),
("TextureOpCaps", wintypes.DWORD),
("MaxTextureBlendStages", wintypes.DWORD),
("MaxSimultaneousTextures", wintypes.DWORD),
("VertexProcessingCaps", wintypes.DWORD),
("MaxActiveLights", wintypes.DWORD),
("MaxUserClipPlanes", wintypes.DWORD),
("MaxVertexBlendMatrices", wintypes.DWORD),
("MaxVertexBlendMatrixIndex", wintypes.DWORD),
("MaxPointSize", ctypes.c_float),
("MaxPrimitiveCount", wintypes.DWORD),
("MaxVertexIndex", wintypes.DWORD),
("MaxStreams", wintypes.DWORD),
("MaxStreamStride", wintypes.DWORD),
("VertexShaderVersion", wintypes.DWORD),
("MaxVertexShaderConst", wintypes.DWORD),
("PixelShaderVersion", wintypes.DWORD),
("PixelShader1xMaxValue", ctypes.c_float),
("DevCaps2", wintypes.DWORD),
("MaxNpatchTessellationLevel", ctypes.c_float),
("Reserved5", wintypes.DWORD),
("MasterAdapterOrdinal", wintypes.DWORD),
("AdapterOrdinalInGroup", wintypes.DWORD),
("NumberOfAdaptersInGroup", wintypes.DWORD),
("DeclTypes", wintypes.DWORD),
("NumSimultaneousRTs", wintypes.DWORD),
("StretchRectFilterCaps", wintypes.DWORD),
("VS20Caps", D3DVSHADERCAPS2_0),
("PS20Caps", D3DPSHADERCAPS2_0),
("VertexTextureFilterCaps", wintypes.DWORD),
("MaxVShaderInstructionsExecuted", wintypes.DWORD),
("MaxPShaderInstructionsExecuted", wintypes.DWORD),
("MaxVertexShader30InstructionSlots", wintypes.DWORD),
("MaxPixelShader30InstructionSlots", wintypes.DWORD),
]#[repr(C)]
pub struct D3DVSHADERCAPS2_0 {
pub Caps: u32,
pub DynamicFlowControlDepth: i32,
pub NumTemps: i32,
pub StaticFlowControlDepth: i32,
}
#[repr(C)]
pub struct D3DPSHADERCAPS2_0 {
pub Caps: u32,
pub DynamicFlowControlDepth: i32,
pub NumTemps: i32,
pub StaticFlowControlDepth: i32,
pub NumInstructionSlots: i32,
}
#[repr(C)]
pub struct D3DCAPS9 {
pub DeviceType: i32,
pub AdapterOrdinal: u32,
pub Caps: u32,
pub Caps2: u32,
pub Caps3: u32,
pub PresentationIntervals: u32,
pub CursorCaps: u32,
pub DevCaps: u32,
pub PrimitiveMiscCaps: u32,
pub RasterCaps: u32,
pub ZCmpCaps: u32,
pub SrcBlendCaps: u32,
pub DestBlendCaps: u32,
pub AlphaCmpCaps: u32,
pub ShadeCaps: u32,
pub TextureCaps: u32,
pub TextureFilterCaps: u32,
pub CubeTextureFilterCaps: u32,
pub VolumeTextureFilterCaps: u32,
pub TextureAddressCaps: u32,
pub VolumeTextureAddressCaps: u32,
pub LineCaps: u32,
pub MaxTextureWidth: u32,
pub MaxTextureHeight: u32,
pub MaxVolumeExtent: u32,
pub MaxTextureRepeat: u32,
pub MaxTextureAspectRatio: u32,
pub MaxAnisotropy: u32,
pub MaxVertexW: f32,
pub GuardBandLeft: f32,
pub GuardBandTop: f32,
pub GuardBandRight: f32,
pub GuardBandBottom: f32,
pub ExtentsAdjust: f32,
pub StencilCaps: u32,
pub FVFCaps: u32,
pub TextureOpCaps: u32,
pub MaxTextureBlendStages: u32,
pub MaxSimultaneousTextures: u32,
pub VertexProcessingCaps: u32,
pub MaxActiveLights: u32,
pub MaxUserClipPlanes: u32,
pub MaxVertexBlendMatrices: u32,
pub MaxVertexBlendMatrixIndex: u32,
pub MaxPointSize: f32,
pub MaxPrimitiveCount: u32,
pub MaxVertexIndex: u32,
pub MaxStreams: u32,
pub MaxStreamStride: u32,
pub VertexShaderVersion: u32,
pub MaxVertexShaderConst: u32,
pub PixelShaderVersion: u32,
pub PixelShader1xMaxValue: f32,
pub DevCaps2: u32,
pub MaxNpatchTessellationLevel: f32,
pub Reserved5: u32,
pub MasterAdapterOrdinal: u32,
pub AdapterOrdinalInGroup: u32,
pub NumberOfAdaptersInGroup: u32,
pub DeclTypes: u32,
pub NumSimultaneousRTs: u32,
pub StretchRectFilterCaps: u32,
pub VS20Caps: D3DVSHADERCAPS2_0,
pub PS20Caps: D3DPSHADERCAPS2_0,
pub VertexTextureFilterCaps: u32,
pub MaxVShaderInstructionsExecuted: u32,
pub MaxPShaderInstructionsExecuted: u32,
pub MaxVertexShader30InstructionSlots: u32,
pub MaxPixelShader30InstructionSlots: u32,
}import "golang.org/x/sys/windows"
type D3DVSHADERCAPS2_0 struct {
Caps uint32
DynamicFlowControlDepth int32
NumTemps int32
StaticFlowControlDepth int32
}
type D3DPSHADERCAPS2_0 struct {
Caps uint32
DynamicFlowControlDepth int32
NumTemps int32
StaticFlowControlDepth int32
NumInstructionSlots int32
}
type D3DCAPS9 struct {
DeviceType int32
AdapterOrdinal uint32
Caps uint32
Caps2 uint32
Caps3 uint32
PresentationIntervals uint32
CursorCaps uint32
DevCaps uint32
PrimitiveMiscCaps uint32
RasterCaps uint32
ZCmpCaps uint32
SrcBlendCaps uint32
DestBlendCaps uint32
AlphaCmpCaps uint32
ShadeCaps uint32
TextureCaps uint32
TextureFilterCaps uint32
CubeTextureFilterCaps uint32
VolumeTextureFilterCaps uint32
TextureAddressCaps uint32
VolumeTextureAddressCaps uint32
LineCaps uint32
MaxTextureWidth uint32
MaxTextureHeight uint32
MaxVolumeExtent uint32
MaxTextureRepeat uint32
MaxTextureAspectRatio uint32
MaxAnisotropy uint32
MaxVertexW float32
GuardBandLeft float32
GuardBandTop float32
GuardBandRight float32
GuardBandBottom float32
ExtentsAdjust float32
StencilCaps uint32
FVFCaps uint32
TextureOpCaps uint32
MaxTextureBlendStages uint32
MaxSimultaneousTextures uint32
VertexProcessingCaps uint32
MaxActiveLights uint32
MaxUserClipPlanes uint32
MaxVertexBlendMatrices uint32
MaxVertexBlendMatrixIndex uint32
MaxPointSize float32
MaxPrimitiveCount uint32
MaxVertexIndex uint32
MaxStreams uint32
MaxStreamStride uint32
VertexShaderVersion uint32
MaxVertexShaderConst uint32
PixelShaderVersion uint32
PixelShader1xMaxValue float32
DevCaps2 uint32
MaxNpatchTessellationLevel float32
Reserved5 uint32
MasterAdapterOrdinal uint32
AdapterOrdinalInGroup uint32
NumberOfAdaptersInGroup uint32
DeclTypes uint32
NumSimultaneousRTs uint32
StretchRectFilterCaps uint32
VS20Caps D3DVSHADERCAPS2_0
PS20Caps D3DPSHADERCAPS2_0
VertexTextureFilterCaps uint32
MaxVShaderInstructionsExecuted uint32
MaxPShaderInstructionsExecuted uint32
MaxVertexShader30InstructionSlots uint32
MaxPixelShader30InstructionSlots uint32
}type
D3DVSHADERCAPS2_0 = record
Caps: DWORD;
DynamicFlowControlDepth: Integer;
NumTemps: Integer;
StaticFlowControlDepth: Integer;
end;
D3DPSHADERCAPS2_0 = record
Caps: DWORD;
DynamicFlowControlDepth: Integer;
NumTemps: Integer;
StaticFlowControlDepth: Integer;
NumInstructionSlots: Integer;
end;
D3DCAPS9 = record
DeviceType: Integer;
AdapterOrdinal: DWORD;
Caps: DWORD;
Caps2: DWORD;
Caps3: DWORD;
PresentationIntervals: DWORD;
CursorCaps: DWORD;
DevCaps: DWORD;
PrimitiveMiscCaps: DWORD;
RasterCaps: DWORD;
ZCmpCaps: DWORD;
SrcBlendCaps: DWORD;
DestBlendCaps: DWORD;
AlphaCmpCaps: DWORD;
ShadeCaps: DWORD;
TextureCaps: DWORD;
TextureFilterCaps: DWORD;
CubeTextureFilterCaps: DWORD;
VolumeTextureFilterCaps: DWORD;
TextureAddressCaps: DWORD;
VolumeTextureAddressCaps: DWORD;
LineCaps: DWORD;
MaxTextureWidth: DWORD;
MaxTextureHeight: DWORD;
MaxVolumeExtent: DWORD;
MaxTextureRepeat: DWORD;
MaxTextureAspectRatio: DWORD;
MaxAnisotropy: DWORD;
MaxVertexW: Single;
GuardBandLeft: Single;
GuardBandTop: Single;
GuardBandRight: Single;
GuardBandBottom: Single;
ExtentsAdjust: Single;
StencilCaps: DWORD;
FVFCaps: DWORD;
TextureOpCaps: DWORD;
MaxTextureBlendStages: DWORD;
MaxSimultaneousTextures: DWORD;
VertexProcessingCaps: DWORD;
MaxActiveLights: DWORD;
MaxUserClipPlanes: DWORD;
MaxVertexBlendMatrices: DWORD;
MaxVertexBlendMatrixIndex: DWORD;
MaxPointSize: Single;
MaxPrimitiveCount: DWORD;
MaxVertexIndex: DWORD;
MaxStreams: DWORD;
MaxStreamStride: DWORD;
VertexShaderVersion: DWORD;
MaxVertexShaderConst: DWORD;
PixelShaderVersion: DWORD;
PixelShader1xMaxValue: Single;
DevCaps2: DWORD;
MaxNpatchTessellationLevel: Single;
Reserved5: DWORD;
MasterAdapterOrdinal: DWORD;
AdapterOrdinalInGroup: DWORD;
NumberOfAdaptersInGroup: DWORD;
DeclTypes: DWORD;
NumSimultaneousRTs: DWORD;
StretchRectFilterCaps: DWORD;
VS20Caps: D3DVSHADERCAPS2_0;
PS20Caps: D3DPSHADERCAPS2_0;
VertexTextureFilterCaps: DWORD;
MaxVShaderInstructionsExecuted: DWORD;
MaxPShaderInstructionsExecuted: DWORD;
MaxVertexShader30InstructionSlots: DWORD;
MaxPixelShader30InstructionSlots: DWORD;
end;const D3DVSHADERCAPS2_0 = extern struct {
Caps: u32,
DynamicFlowControlDepth: i32,
NumTemps: i32,
StaticFlowControlDepth: i32,
};
const D3DPSHADERCAPS2_0 = extern struct {
Caps: u32,
DynamicFlowControlDepth: i32,
NumTemps: i32,
StaticFlowControlDepth: i32,
NumInstructionSlots: i32,
};
const D3DCAPS9 = extern struct {
DeviceType: i32,
AdapterOrdinal: u32,
Caps: u32,
Caps2: u32,
Caps3: u32,
PresentationIntervals: u32,
CursorCaps: u32,
DevCaps: u32,
PrimitiveMiscCaps: u32,
RasterCaps: u32,
ZCmpCaps: u32,
SrcBlendCaps: u32,
DestBlendCaps: u32,
AlphaCmpCaps: u32,
ShadeCaps: u32,
TextureCaps: u32,
TextureFilterCaps: u32,
CubeTextureFilterCaps: u32,
VolumeTextureFilterCaps: u32,
TextureAddressCaps: u32,
VolumeTextureAddressCaps: u32,
LineCaps: u32,
MaxTextureWidth: u32,
MaxTextureHeight: u32,
MaxVolumeExtent: u32,
MaxTextureRepeat: u32,
MaxTextureAspectRatio: u32,
MaxAnisotropy: u32,
MaxVertexW: f32,
GuardBandLeft: f32,
GuardBandTop: f32,
GuardBandRight: f32,
GuardBandBottom: f32,
ExtentsAdjust: f32,
StencilCaps: u32,
FVFCaps: u32,
TextureOpCaps: u32,
MaxTextureBlendStages: u32,
MaxSimultaneousTextures: u32,
VertexProcessingCaps: u32,
MaxActiveLights: u32,
MaxUserClipPlanes: u32,
MaxVertexBlendMatrices: u32,
MaxVertexBlendMatrixIndex: u32,
MaxPointSize: f32,
MaxPrimitiveCount: u32,
MaxVertexIndex: u32,
MaxStreams: u32,
MaxStreamStride: u32,
VertexShaderVersion: u32,
MaxVertexShaderConst: u32,
PixelShaderVersion: u32,
PixelShader1xMaxValue: f32,
DevCaps2: u32,
MaxNpatchTessellationLevel: f32,
Reserved5: u32,
MasterAdapterOrdinal: u32,
AdapterOrdinalInGroup: u32,
NumberOfAdaptersInGroup: u32,
DeclTypes: u32,
NumSimultaneousRTs: u32,
StretchRectFilterCaps: u32,
VS20Caps: D3DVSHADERCAPS2_0,
PS20Caps: D3DPSHADERCAPS2_0,
VertexTextureFilterCaps: u32,
MaxVShaderInstructionsExecuted: u32,
MaxPShaderInstructionsExecuted: u32,
MaxVertexShader30InstructionSlots: u32,
MaxPixelShader30InstructionSlots: u32,
};type
D3DVSHADERCAPS2_0 {.bycopy.} = object
Caps: uint32
DynamicFlowControlDepth: int32
NumTemps: int32
StaticFlowControlDepth: int32
D3DPSHADERCAPS2_0 {.bycopy.} = object
Caps: uint32
DynamicFlowControlDepth: int32
NumTemps: int32
StaticFlowControlDepth: int32
NumInstructionSlots: int32
D3DCAPS9 {.bycopy.} = object
DeviceType: int32
AdapterOrdinal: uint32
Caps: uint32
Caps2: uint32
Caps3: uint32
PresentationIntervals: uint32
CursorCaps: uint32
DevCaps: uint32
PrimitiveMiscCaps: uint32
RasterCaps: uint32
ZCmpCaps: uint32
SrcBlendCaps: uint32
DestBlendCaps: uint32
AlphaCmpCaps: uint32
ShadeCaps: uint32
TextureCaps: uint32
TextureFilterCaps: uint32
CubeTextureFilterCaps: uint32
VolumeTextureFilterCaps: uint32
TextureAddressCaps: uint32
VolumeTextureAddressCaps: uint32
LineCaps: uint32
MaxTextureWidth: uint32
MaxTextureHeight: uint32
MaxVolumeExtent: uint32
MaxTextureRepeat: uint32
MaxTextureAspectRatio: uint32
MaxAnisotropy: uint32
MaxVertexW: float32
GuardBandLeft: float32
GuardBandTop: float32
GuardBandRight: float32
GuardBandBottom: float32
ExtentsAdjust: float32
StencilCaps: uint32
FVFCaps: uint32
TextureOpCaps: uint32
MaxTextureBlendStages: uint32
MaxSimultaneousTextures: uint32
VertexProcessingCaps: uint32
MaxActiveLights: uint32
MaxUserClipPlanes: uint32
MaxVertexBlendMatrices: uint32
MaxVertexBlendMatrixIndex: uint32
MaxPointSize: float32
MaxPrimitiveCount: uint32
MaxVertexIndex: uint32
MaxStreams: uint32
MaxStreamStride: uint32
VertexShaderVersion: uint32
MaxVertexShaderConst: uint32
PixelShaderVersion: uint32
PixelShader1xMaxValue: float32
DevCaps2: uint32
MaxNpatchTessellationLevel: float32
Reserved5: uint32
MasterAdapterOrdinal: uint32
AdapterOrdinalInGroup: uint32
NumberOfAdaptersInGroup: uint32
DeclTypes: uint32
NumSimultaneousRTs: uint32
StretchRectFilterCaps: uint32
VS20Caps: D3DVSHADERCAPS2_0
PS20Caps: D3DPSHADERCAPS2_0
VertexTextureFilterCaps: uint32
MaxVShaderInstructionsExecuted: uint32
MaxPShaderInstructionsExecuted: uint32
MaxVertexShader30InstructionSlots: uint32
MaxPixelShader30InstructionSlots: uint32struct D3DVSHADERCAPS2_0
{
uint Caps;
int DynamicFlowControlDepth;
int NumTemps;
int StaticFlowControlDepth;
}
struct D3DPSHADERCAPS2_0
{
uint Caps;
int DynamicFlowControlDepth;
int NumTemps;
int StaticFlowControlDepth;
int NumInstructionSlots;
}
struct D3DCAPS9
{
int DeviceType;
uint AdapterOrdinal;
uint Caps;
uint Caps2;
uint Caps3;
uint PresentationIntervals;
uint CursorCaps;
uint DevCaps;
uint PrimitiveMiscCaps;
uint RasterCaps;
uint ZCmpCaps;
uint SrcBlendCaps;
uint DestBlendCaps;
uint AlphaCmpCaps;
uint ShadeCaps;
uint TextureCaps;
uint TextureFilterCaps;
uint CubeTextureFilterCaps;
uint VolumeTextureFilterCaps;
uint TextureAddressCaps;
uint VolumeTextureAddressCaps;
uint LineCaps;
uint MaxTextureWidth;
uint MaxTextureHeight;
uint MaxVolumeExtent;
uint MaxTextureRepeat;
uint MaxTextureAspectRatio;
uint MaxAnisotropy;
float MaxVertexW;
float GuardBandLeft;
float GuardBandTop;
float GuardBandRight;
float GuardBandBottom;
float ExtentsAdjust;
uint StencilCaps;
uint FVFCaps;
uint TextureOpCaps;
uint MaxTextureBlendStages;
uint MaxSimultaneousTextures;
uint VertexProcessingCaps;
uint MaxActiveLights;
uint MaxUserClipPlanes;
uint MaxVertexBlendMatrices;
uint MaxVertexBlendMatrixIndex;
float MaxPointSize;
uint MaxPrimitiveCount;
uint MaxVertexIndex;
uint MaxStreams;
uint MaxStreamStride;
uint VertexShaderVersion;
uint MaxVertexShaderConst;
uint PixelShaderVersion;
float PixelShader1xMaxValue;
uint DevCaps2;
float MaxNpatchTessellationLevel;
uint Reserved5;
uint MasterAdapterOrdinal;
uint AdapterOrdinalInGroup;
uint NumberOfAdaptersInGroup;
uint DeclTypes;
uint NumSimultaneousRTs;
uint StretchRectFilterCaps;
D3DVSHADERCAPS2_0 VS20Caps;
D3DPSHADERCAPS2_0 PS20Caps;
uint VertexTextureFilterCaps;
uint MaxVShaderInstructionsExecuted;
uint MaxPShaderInstructionsExecuted;
uint MaxVertexShader30InstructionSlots;
uint MaxPixelShader30InstructionSlots;
}HSP用 定義
HSP3.7/3.8 は構造体機能が無いため4byte整数配列(dim)+peek/poke で操作(32/64bitでサイズ・位置が異なる場合はタブで分割)。IronHSP は NSTRUCT(#defstruct/stdim/->)で32/64bit共通。
; HSP3.7/3.8 は構造体機能が無いため、4byte整数の配列変数で操作します。(x64 レイアウト)
; D3DCAPS9 サイズ: 304 バイト(x64)
dim st, 76 ; 4byte整数×76(構造体サイズ 304 / 4 切り上げ)
; DeviceType : D3DDEVTYPE (+0, 4byte) st.0 = 値 / 値 = st.0 (lpoke/lpeek も可)
; AdapterOrdinal : DWORD (+4, 4byte) st.1 = 値 / 値 = st.1 (lpoke/lpeek も可)
; Caps : DWORD (+8, 4byte) st.2 = 値 / 値 = st.2 (lpoke/lpeek も可)
; Caps2 : DWORD (+12, 4byte) st.3 = 値 / 値 = st.3 (lpoke/lpeek も可)
; Caps3 : DWORD (+16, 4byte) st.4 = 値 / 値 = st.4 (lpoke/lpeek も可)
; PresentationIntervals : DWORD (+20, 4byte) st.5 = 値 / 値 = st.5 (lpoke/lpeek も可)
; CursorCaps : DWORD (+24, 4byte) st.6 = 値 / 値 = st.6 (lpoke/lpeek も可)
; DevCaps : DWORD (+28, 4byte) st.7 = 値 / 値 = st.7 (lpoke/lpeek も可)
; PrimitiveMiscCaps : DWORD (+32, 4byte) st.8 = 値 / 値 = st.8 (lpoke/lpeek も可)
; RasterCaps : DWORD (+36, 4byte) st.9 = 値 / 値 = st.9 (lpoke/lpeek も可)
; ZCmpCaps : DWORD (+40, 4byte) st.10 = 値 / 値 = st.10 (lpoke/lpeek も可)
; SrcBlendCaps : DWORD (+44, 4byte) st.11 = 値 / 値 = st.11 (lpoke/lpeek も可)
; DestBlendCaps : DWORD (+48, 4byte) st.12 = 値 / 値 = st.12 (lpoke/lpeek も可)
; AlphaCmpCaps : DWORD (+52, 4byte) st.13 = 値 / 値 = st.13 (lpoke/lpeek も可)
; ShadeCaps : DWORD (+56, 4byte) st.14 = 値 / 値 = st.14 (lpoke/lpeek も可)
; TextureCaps : DWORD (+60, 4byte) st.15 = 値 / 値 = st.15 (lpoke/lpeek も可)
; TextureFilterCaps : DWORD (+64, 4byte) st.16 = 値 / 値 = st.16 (lpoke/lpeek も可)
; CubeTextureFilterCaps : DWORD (+68, 4byte) st.17 = 値 / 値 = st.17 (lpoke/lpeek も可)
; VolumeTextureFilterCaps : DWORD (+72, 4byte) st.18 = 値 / 値 = st.18 (lpoke/lpeek も可)
; TextureAddressCaps : DWORD (+76, 4byte) st.19 = 値 / 値 = st.19 (lpoke/lpeek も可)
; VolumeTextureAddressCaps : DWORD (+80, 4byte) st.20 = 値 / 値 = st.20 (lpoke/lpeek も可)
; LineCaps : DWORD (+84, 4byte) st.21 = 値 / 値 = st.21 (lpoke/lpeek も可)
; MaxTextureWidth : DWORD (+88, 4byte) st.22 = 値 / 値 = st.22 (lpoke/lpeek も可)
; MaxTextureHeight : DWORD (+92, 4byte) st.23 = 値 / 値 = st.23 (lpoke/lpeek も可)
; MaxVolumeExtent : DWORD (+96, 4byte) st.24 = 値 / 値 = st.24 (lpoke/lpeek も可)
; MaxTextureRepeat : DWORD (+100, 4byte) st.25 = 値 / 値 = st.25 (lpoke/lpeek も可)
; MaxTextureAspectRatio : DWORD (+104, 4byte) st.26 = 値 / 値 = st.26 (lpoke/lpeek も可)
; MaxAnisotropy : DWORD (+108, 4byte) st.27 = 値 / 値 = st.27 (lpoke/lpeek も可)
; MaxVertexW : FLOAT (+112, 4byte) st.28 = 値 / 値 = st.28 (lpoke/lpeek も可)
; GuardBandLeft : FLOAT (+116, 4byte) st.29 = 値 / 値 = st.29 (lpoke/lpeek も可)
; GuardBandTop : FLOAT (+120, 4byte) st.30 = 値 / 値 = st.30 (lpoke/lpeek も可)
; GuardBandRight : FLOAT (+124, 4byte) st.31 = 値 / 値 = st.31 (lpoke/lpeek も可)
; GuardBandBottom : FLOAT (+128, 4byte) st.32 = 値 / 値 = st.32 (lpoke/lpeek も可)
; ExtentsAdjust : FLOAT (+132, 4byte) st.33 = 値 / 値 = st.33 (lpoke/lpeek も可)
; StencilCaps : DWORD (+136, 4byte) st.34 = 値 / 値 = st.34 (lpoke/lpeek も可)
; FVFCaps : DWORD (+140, 4byte) st.35 = 値 / 値 = st.35 (lpoke/lpeek も可)
; TextureOpCaps : DWORD (+144, 4byte) st.36 = 値 / 値 = st.36 (lpoke/lpeek も可)
; MaxTextureBlendStages : DWORD (+148, 4byte) st.37 = 値 / 値 = st.37 (lpoke/lpeek も可)
; MaxSimultaneousTextures : DWORD (+152, 4byte) st.38 = 値 / 値 = st.38 (lpoke/lpeek も可)
; VertexProcessingCaps : DWORD (+156, 4byte) st.39 = 値 / 値 = st.39 (lpoke/lpeek も可)
; MaxActiveLights : DWORD (+160, 4byte) st.40 = 値 / 値 = st.40 (lpoke/lpeek も可)
; MaxUserClipPlanes : DWORD (+164, 4byte) st.41 = 値 / 値 = st.41 (lpoke/lpeek も可)
; MaxVertexBlendMatrices : DWORD (+168, 4byte) st.42 = 値 / 値 = st.42 (lpoke/lpeek も可)
; MaxVertexBlendMatrixIndex : DWORD (+172, 4byte) st.43 = 値 / 値 = st.43 (lpoke/lpeek も可)
; MaxPointSize : FLOAT (+176, 4byte) st.44 = 値 / 値 = st.44 (lpoke/lpeek も可)
; MaxPrimitiveCount : DWORD (+180, 4byte) st.45 = 値 / 値 = st.45 (lpoke/lpeek も可)
; MaxVertexIndex : DWORD (+184, 4byte) st.46 = 値 / 値 = st.46 (lpoke/lpeek も可)
; MaxStreams : DWORD (+188, 4byte) st.47 = 値 / 値 = st.47 (lpoke/lpeek も可)
; MaxStreamStride : DWORD (+192, 4byte) st.48 = 値 / 値 = st.48 (lpoke/lpeek も可)
; VertexShaderVersion : DWORD (+196, 4byte) st.49 = 値 / 値 = st.49 (lpoke/lpeek も可)
; MaxVertexShaderConst : DWORD (+200, 4byte) st.50 = 値 / 値 = st.50 (lpoke/lpeek も可)
; PixelShaderVersion : DWORD (+204, 4byte) st.51 = 値 / 値 = st.51 (lpoke/lpeek も可)
; PixelShader1xMaxValue : FLOAT (+208, 4byte) st.52 = 値 / 値 = st.52 (lpoke/lpeek も可)
; DevCaps2 : DWORD (+212, 4byte) st.53 = 値 / 値 = st.53 (lpoke/lpeek も可)
; MaxNpatchTessellationLevel : FLOAT (+216, 4byte) st.54 = 値 / 値 = st.54 (lpoke/lpeek も可)
; Reserved5 : DWORD (+220, 4byte) st.55 = 値 / 値 = st.55 (lpoke/lpeek も可)
; MasterAdapterOrdinal : DWORD (+224, 4byte) st.56 = 値 / 値 = st.56 (lpoke/lpeek も可)
; AdapterOrdinalInGroup : DWORD (+228, 4byte) st.57 = 値 / 値 = st.57 (lpoke/lpeek も可)
; NumberOfAdaptersInGroup : DWORD (+232, 4byte) st.58 = 値 / 値 = st.58 (lpoke/lpeek も可)
; DeclTypes : DWORD (+236, 4byte) st.59 = 値 / 値 = st.59 (lpoke/lpeek も可)
; NumSimultaneousRTs : DWORD (+240, 4byte) st.60 = 値 / 値 = st.60 (lpoke/lpeek も可)
; StretchRectFilterCaps : DWORD (+244, 4byte) st.61 = 値 / 値 = st.61 (lpoke/lpeek も可)
; VS20Caps : D3DVSHADERCAPS2_0 (+248, 16byte) varptr(st)+248 を基点に操作(16byte:入れ子/配列)
; PS20Caps : D3DPSHADERCAPS2_0 (+264, 20byte) varptr(st)+264 を基点に操作(20byte:入れ子/配列)
; VertexTextureFilterCaps : DWORD (+284, 4byte) st.71 = 値 / 値 = st.71 (lpoke/lpeek も可)
; MaxVShaderInstructionsExecuted : DWORD (+288, 4byte) st.72 = 値 / 値 = st.72 (lpoke/lpeek も可)
; MaxPShaderInstructionsExecuted : DWORD (+292, 4byte) st.73 = 値 / 値 = st.73 (lpoke/lpeek も可)
; MaxVertexShader30InstructionSlots : DWORD (+296, 4byte) st.74 = 値 / 値 = st.74 (lpoke/lpeek も可)
; MaxPixelShader30InstructionSlots : DWORD (+300, 4byte) st.75 = 値 / 値 = st.75 (lpoke/lpeek も可)
; ※4byte境界の整数は添字 st.N(N=オフセット/4)で読み書き可。それ以外は peek/poke 系を使用。; IronHSP は NSTRUCT(構造体)をサポート。32bit/64bit どちらでも同じコードで動作します。
; ※GUID・入れ子構造体はデフォルト型でないため、依存する #defstruct を先に定義(下記に同梱)。
#defstruct global D3DVSHADERCAPS2_0
#field int Caps
#field int DynamicFlowControlDepth
#field int NumTemps
#field int StaticFlowControlDepth
#endstruct
#defstruct global D3DPSHADERCAPS2_0
#field int Caps
#field int DynamicFlowControlDepth
#field int NumTemps
#field int StaticFlowControlDepth
#field int NumInstructionSlots
#endstruct
#defstruct global D3DCAPS9
#field int DeviceType
#field int AdapterOrdinal
#field int Caps
#field int Caps2
#field int Caps3
#field int PresentationIntervals
#field int CursorCaps
#field int DevCaps
#field int PrimitiveMiscCaps
#field int RasterCaps
#field int ZCmpCaps
#field int SrcBlendCaps
#field int DestBlendCaps
#field int AlphaCmpCaps
#field int ShadeCaps
#field int TextureCaps
#field int TextureFilterCaps
#field int CubeTextureFilterCaps
#field int VolumeTextureFilterCaps
#field int TextureAddressCaps
#field int VolumeTextureAddressCaps
#field int LineCaps
#field int MaxTextureWidth
#field int MaxTextureHeight
#field int MaxVolumeExtent
#field int MaxTextureRepeat
#field int MaxTextureAspectRatio
#field int MaxAnisotropy
#field float MaxVertexW
#field float GuardBandLeft
#field float GuardBandTop
#field float GuardBandRight
#field float GuardBandBottom
#field float ExtentsAdjust
#field int StencilCaps
#field int FVFCaps
#field int TextureOpCaps
#field int MaxTextureBlendStages
#field int MaxSimultaneousTextures
#field int VertexProcessingCaps
#field int MaxActiveLights
#field int MaxUserClipPlanes
#field int MaxVertexBlendMatrices
#field int MaxVertexBlendMatrixIndex
#field float MaxPointSize
#field int MaxPrimitiveCount
#field int MaxVertexIndex
#field int MaxStreams
#field int MaxStreamStride
#field int VertexShaderVersion
#field int MaxVertexShaderConst
#field int PixelShaderVersion
#field float PixelShader1xMaxValue
#field int DevCaps2
#field float MaxNpatchTessellationLevel
#field int Reserved5
#field int MasterAdapterOrdinal
#field int AdapterOrdinalInGroup
#field int NumberOfAdaptersInGroup
#field int DeclTypes
#field int NumSimultaneousRTs
#field int StretchRectFilterCaps
#field D3DVSHADERCAPS2_0 VS20Caps
#field D3DPSHADERCAPS2_0 PS20Caps
#field int VertexTextureFilterCaps
#field int MaxVShaderInstructionsExecuted
#field int MaxPShaderInstructionsExecuted
#field int MaxVertexShader30InstructionSlots
#field int MaxPixelShader30InstructionSlots
#endstruct
stdim st, D3DCAPS9 ; NSTRUCT 変数を確保
st->DeviceType = 100
mes "DeviceType=" + st->DeviceType