C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: Texture が生成できない


(過去ログ 54 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■30652 / inTopicNo.1)  Texture が生成できない
  
□投稿者/ かめ (1回)-(2008/12/29(Mon) 18:59:21)

分類:[C#] 

初めまして

Managed DirectXでBitMapをTextureにしようとして
以下のようなコードをかきました。

/// <summary>
/// テクスチャ生成
/// </summary>
/// <param name="img">貼り付けるBitMap</param>
protected void SetTexture(Bitmap img)
{
int w = 1,h = 1;
int Width = img.Width;
int Height = img.Height;

while (w < Width) { w = w * 2; }
while (h < Height) { h = h * 2; }



tex=new Texture(Static.device,w,h,0,Usage.Dynamic,Format.X8B8G8R8,Pool.Managed);
Surface s=tex.GetSurfaceLevel(0);

Graphics g= s.GetGraphics();

g.DrawImage(img,0,0,img.Width,img.Height);

s.ReleaseGraphics();


}

ここでStatic.deviceは

Static.device = new Device(0, DeviceType.Hardware,
this, CreateFlags.SoftwareVertexProcessing, pp);

で初期化しています。

実行してみると

tex=new Texture(Static.device,w,h,0,Usage.Dynamic,Format.X8B8G8R8,Pool.Managed);

でInvalidCallException がはかれて止まります。

どのようにすればいいのでしょうか?

初期化だけなので、BitMapは関係ないはずです。
w,hは2の累乗になりますし…
引用返信 編集キー/
■30653 / inTopicNo.2)  Re[1]: Texture が生成できない
□投稿者/ かめ (3回)-(2008/12/30(Tue) 21:45:33)
Usage.Noneにしたらうまくいきました…
Dynamicだとどうしていけなかったんでしょう?
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -