Texture クラス
Texture クラス
使用例
- メッシュを基にしたテクスチャの作成
テクスチャ リソースを操作するには、Texture オブジェクトのメソッドを使う。
定義
Visual Basic | Public Class Texture Inherits BaseTexture |
C# | public class Texture : BaseTexture |
Managed C++ | public __gc class Texture : public BaseTexture |
JScript | public class Texture extends BaseTexture |
メンバ テーブル
次のテーブルは、Texture オブジェクトによって公開されているメンバの一覧である。左側のタブをクリックし、表示したいメンバの種類を選ぶこと。
イベント
イベント | 説明 |
---|---|
Disposing | オブジェクトで Disposing イベントを検出するイベント ハンドラを追加する。BaseTexture から継承される。 |
メソッド
メソッド | 説明 |
---|---|
AddDirtyRectangle | テクスチャ リソースにダーティー領域を追加する。 |
Dispose | オブジェクトが使用したアンマネージのリソースを直ちに解放する。BaseTexture から継承される。 |
Equals | このインスタンスが、指定したオブジェクトに等しいかどうかを示す値を返す。 |
Finalize | Garbage Collector がオブジェクトを破棄する前に、オブジェクトが使用したリソースを強制的に解放する。BaseTexture から継承される。 |
FreePrivateData | このリソースに関連付けられている指定されたプライベート データを解放する。Resource から継承される。 |
FromBitmap | .NET ビットマップ からテクスチャ リソースを作成する。 |
FromStream | .NET ストリーム オブジェクトからテクスチャ リソースを作成する。 |
GenerateMipSubLevels | ミップマップ サブレベルを生成する。BaseTexture から継承される。 |
GetHashCode | このインスタンスのハッシュ コードを返す。 |
GetLevelDescription | テクスチャ リソースのレベル記述を取得する。 |
GetObjectByValue | このメンバは Managed DirectX インフラストラクチャをサポートするが、作成したコードから直接使うことを念頭に置いたものではない。 |
GetPrivateData | リソースに関連付けられたプライベート データを提供されたバッファにコピーする。Resource から継承される。 |
GetSurfaceLevel | 指定されたテクスチャ サーフェイスのレベルを取得する。 |
LockRectangle | テクスチャ リソース上の矩形をロックする。 |
op_Equality | |
op_Inequality | |
PreLoad | 管理下のリソースをプリロードする。Resource から継承される。 |
raise_Disposing | BaseTexture から継承される。 |
SetLevelOfDetail | 管理下のテクスチャに最大詳細レベル (LOD) を設定する。BaseTexture から継承される。 |
SetPriority | このリソースにリソース管理の優先順位を割り当てる。Resource から継承される。 |
SetPrivateData | アプリケーションでの使用が意図されているリソースとデータを関連付ける。データは値で渡され、複数のデータ セットを単一のリソースと関連付けることができる。Resource から継承される。 |
Texture | オブジェクトの新しいインスタンスを初期化する。 |
UnlockRectangle | テクスチャ リソース上の矩形をアンロックする。 |
プロパティ
プロパティ | 説明 |
---|---|
AutoGenerateFilterType | 自動生成するミップマップ サブレベルに使うフィルタ タイプを設定する。BaseTexture から継承される。 |
Device | リソースに関連付けられているデバイスを取得する。Resource から継承される。 |
Disposed | オブジェクトが解放された場合に true となる値を取得する。それ以外の場合、値は false となる。BaseTexture から継承される。 |
LevelCount | マルチレベル テクスチャのテクスチャ レベルの数を返す。BaseTexture から継承される。 |
LevelOfDetail | 管理下のテクスチャに設定されている最大詳細レベル (LOD) に制限された値を返す。BaseTexture から継承される。 |
Priority | Retrieves or sets the priority for this resource. Inherited from Resource. |
Type | リソースのタイプを取得する。Resource から継承される。 |
継承の階層構造
Texture
使用例
メッシュを基にしたテクスチャの作成
この例は、メッシュから作成されたテクスチャ オブジェクトに対し、ビットマップ化されたテクスチャ ファイルを適用する方法である。
アプリケーション定義の OnResetMeshDevice メソッドは次の内容を実行する。
- メッシュ要素は、Mesh.FromFile(String,MeshFlags,Device,ExtendedMaterial[]) を使ってファイルからロードする。
- ExtendedMaterial マテリアル バッファにファイルのデータを書き込む。
- テクスチャ名およびマテリアル プロパティは、Material3D を使って、マテリアル バッファから抽出する。
- ファイルから取得したテクスチャ値は FromFile(Device,String) を使って、各メッシュ要素に適用する。
using Microsoft.DirectX.Direct3D;
public class Meshes : System.Windows.Forms.Form
{
// Global variables for this project
Device device = null; // Rendering device
Mesh mesh = null; // Mesh object
Direct3D.Material[] meshMaterials; // Materials structure for mesh
Texture[] meshTextures; // Textures structure for mesh
public bool InitializeGraphics() // Initialize the Direct3D object
{
.
.
.
// Call method to reset mesh device
device.DeviceReset += new System.EventHandler(this.OnResetMeshDevice);
.
.
.
}
// Mesh device reset method
public void OnResetMeshDevice(object sender, EventArgs e)
{
ExtendedMaterial[] materials = null;
Device dev = (Device)sender;
// Set up the directory to load the proper data
System.IO.Directory.SetCurrentDirectory(
System.Windows.Forms.Application.StartupPath + @"\..\..\");
// Load the mesh from the specified file
mesh = Mesh.FromFile("tiger.x", MeshFlags.SystemMem,
device, out materials);
// Extract texture names and material properties from material buffer
meshTextures = new Texture[materials.Length];
meshMaterials = new Direct3D.Material[materials.Length];
for( int i=0; i<materials.Length; i++ )
{
meshMaterials[i] = materials[i].Material3D;
// Set the ambient color for the material
meshMaterials[i].Ambient = meshMaterials[i].Diffuse;
// Create the texture
meshTextures[i] = TextureLoader.FromFile(dev,
materials[i].TextureFilename);
}
.
.
.
}
static void Main()
{
Meshes frm = new Meshes();
if (!frm.InitializeGraphics())
{
// Error handling
}
System.Windows.Forms.Application.Run(frm);
}
}
クラスの情報
名前空間 | Microsoft.DirectX.Direct3D |
アセンブリ | Microsoft.DirectX.Direct3D (microsoft.directx.direct3d.dll) |
厳密名 | Microsoft.DirectX.Direct3D, Version=0293, Culture=neutral, PublicKeyToken=d3231b57b74a1492 |
© 2002 Microsoft Corporation. All rights reserved. Terms of use.