HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2017
0122
法貴優雅使用できるテクスチャーの最大サイズを知りたい4解決


法貴優雅

リンク

2017/1/22(Sun) 19:09:28|NO.78003

いつもお世話になっております、法貴優雅です。

HGIMG3(DirectX)を利用していて、グラフィックボードによって
扱えるテクスチャーの最大サイズが異なることに気が付いたのですが
それをプログラム上で、知る方法はないでしょうか?

欲を言えば、利用しているグラフィックボードの性能情報を
取得できるとよいのですが、その辺り、ご存じの方がおりましたら
教えていただけませんでしょうか?



この記事に返信する


KA

リンク

2017/1/22(Sun) 22:53:15|NO.78005

その「気が付いた」方法で、プログラムを考えれば
分かると思います。



seasalt

リンク

2017/1/23(Mon) 01:29:54|NO.78007

少し調べてみたのですが、残念ながらHSPで簡単に取得する方法は見つけられませんでした。
HSPCL32.DLLにはopenCLの動作するデバイスのメモリサイズを取得する命令などがありますが、
あまり手軽とは言えません。

動作対象のパソコンと同じクラスで標準的なスペックを調べておいて、それに合わせてモデルや
テクスチャのサイズを調整するというのはどうでしょうか。



totori

リンク

2017/1/23(Mon) 21:42:09|NO.78020




法貴優雅

リンク

2017/1/23(Mon) 22:20:48|NO.78021

totoriさん
検索方法が悪かったのか、この書き込みを見つけることが
できませんでした、ありがとうございます。

coldtimeさん
GetDeviceCapsを教えて頂きありがとうございます。
そこから、一応自分でも書いてみました。


#include "hgimg3.as" #usecom IDirect3DDevice8 "{7385E5DF-8FE8-41D5-86B6-D7B48547B6CF}" #comfunc global IDirect3DDevice8_GetDeviceCaps 7 int hgini hggetreq m_pD3ddev, SYSREQ_PTRD3DDEV newcom m_cD3ddev, , -1, m_pD3ddev alloc m_pCaps, 212 IDirect3DDevice8_GetDeviceCaps m_cD3ddev, varptr(m_pCaps) if (stat):dialog "ERROR:GetDeviceCaps:" + stat:end m_nTexW = lpeek(m_pCaps, 88) // MaxTextureWidth m_nTexH = lpeek(m_pCaps, 92) // MaxTextureHeight texmake 512, 512 m_pTexFont = stat texcls m_pTexFont, $000000 font "MS ゴシック", 24, 0 color 255, 255, 255 texmes "MaxTextureWidth = " + m_nTexW, m_pTexFont, 0, 0 texmes "MaxTextureHeight= " + m_nTexH, m_pTexFont, 0, 24 *proc hgdraw pos 320, 320 gmode 1, 512, 512 hgrotate m_pTexFont, 0, 0, 0.0 hgsync (1000 / 60) goto *proc

とりあえずは、totoriさんに教えて頂いた書き込みと同じ数値が出ているので
良いとは思いますが、本当にあっているかはわかりません。

とりあえず、数値が引っ張れることがわかったので、これで解決にします。
ありがとうございました。



ONION software Copyright 1997-2023(c) All rights reserved.