2023/11/09(木) [n年前の日記]
#1 [hsp] HGIMG3で仮想画面を作れるのかどうか調べてる
Windows10 x64 22H2 + HSP 3.7 beta7 で、HGIMG3 を使った際に、仮想画面が作れるのかどうかを調べているところ。小さい仮想画面に HGIMG3 で描画して、それをデスクトップサイズの大きな表示ウインドウに拡大描画する、といったことをしたい。
ただ、調べた範囲では、そういうことは無理っぽい気配がしてきた…。
一応、 _sample\hgimg3\settex.hsp が、少し似ているサンプルに見えなくもない。以下のような処理をしているっぽい。
ただ、この settex.hsp というサンプルは、テクスチャ部分をHSPの標準機能で描画しているようで…。HGIMG3 で描画してるのは、テクスチャをメイン表示ウインドウに拡大描画するところだけ…。
テクスチャ部分も HGIMG3 で描画できないかと、settex.hsp を改造しながら動作確認してみたけれど、どうもダメっぽい。イメージバッファに描画してほしいのに、表示ウインドウのほうに描画されているように見える…。
このあたり、おそらく、HGIMG3 を使って描画できるウインドウは1つだけで、複数のウインドウ、もしくは複数のイメージバッファに HGIMG3 で描画するのは無理。ということじゃないのかなと。
そもそも、HSP が buffer命令で確保したイメージバッファは、メインメモリ上に置かれるイメージバッファであって…。HGIMG3 が使っている DirectX は GPUが管理してるVRAM上に描画処理をしているのだろうから、buffer で確保したイメージバッファに対して描画せよと HGIMG3 に指示を出してみても無視されて、その時たまたま描画先になっている表示ウインドウ(VRAM上)に描画されてしまうような気もする。
ただ、調べた範囲では、そういうことは無理っぽい気配がしてきた…。
一応、 _sample\hgimg3\settex.hsp が、少し似ているサンプルに見えなくもない。以下のような処理をしているっぽい。
- メイン表示ウインドウ(ID=0)とは異なるサブ表示ウインドウ(ID=1)を新規作成
- そのサブ表示ウインドウ(ID=1)に文字列を描画
- そのサブ表示ウインドウをテクスチャとして登録
- そのテクスチャを HGIMG3 でメイン表示ウインドウ(ID=0)に拡大描画
ただ、この settex.hsp というサンプルは、テクスチャ部分をHSPの標準機能で描画しているようで…。HGIMG3 で描画してるのは、テクスチャをメイン表示ウインドウに拡大描画するところだけ…。
テクスチャ部分も HGIMG3 で描画できないかと、settex.hsp を改造しながら動作確認してみたけれど、どうもダメっぽい。イメージバッファに描画してほしいのに、表示ウインドウのほうに描画されているように見える…。
このあたり、おそらく、HGIMG3 を使って描画できるウインドウは1つだけで、複数のウインドウ、もしくは複数のイメージバッファに HGIMG3 で描画するのは無理。ということじゃないのかなと。
そもそも、HSP が buffer命令で確保したイメージバッファは、メインメモリ上に置かれるイメージバッファであって…。HGIMG3 が使っている DirectX は GPUが管理してるVRAM上に描画処理をしているのだろうから、buffer で確保したイメージバッファに対して描画せよと HGIMG3 に指示を出してみても無視されて、その時たまたま描画先になっている表示ウインドウ(VRAM上)に描画されてしまうような気もする。
◎ HGIMG4なら一部実現できる :
これが HGIMG4 なら仮想画面を作って描画して、といったことができるっぽい。
_sample\hgimg4\buffer.hsp
というサンプルで、以下の処理をしている。
しかし、HGIMG4 (hsp3dish) は表示ウインドウを1つしか持てないわけで…。
- 小さいイメージバッファ(ID=1)を新規作成
- その小さいイメージバッファ(ID=1)に HGIMG4 (hsp3dish) を使って描画
- そのイメージバッファの内容をメインの表示ウインドウ(ID=0)に拡大描画
しかし、HGIMG4 (hsp3dish) は表示ウインドウを1つしか持てないわけで…。
- 複数の表示ウインドウを持てるけど、描画先は1つのウインドウに限られてしまう HGIMG3。
- 複数のイメージバッファに描画できるけど、表示ウインドウは1つに限定されてしまう HGIMG4 (hsp3dish)。
[ ツッコむ ]
#2 [nitijyou] ホースだかチューブだかを買ってきた
ホーマックで、内径8mm、外径10mmの、透明タイプのホースだかチューブだかを6m分購入。1mで税抜き140円だった気がする。税込924円。
今までは、床下の水汲みをする際に、焼酎用ペットボトル(4L) x 2本に水を入れて、一々玄関まで持っていて水を捨てていたのだけど、その行き来がシンドイ。先日は51本分も運んだわけで…。こんな馬鹿げた作業を何度も何度もやってられるか。そこで、ポンプの排水ホースを延長して、直接、縁側に排水できないかと考え始めた。
本来なら床下にホースを這わせたいけれど、床下に潜って移動するのはスペース的に無理っぽいので、それについては諦めることにした。もはや、茶の間の畳の上にホースがそのまま置いてある状態でも構わない。作業が済んだらホースを丸めて床下に入れておく、みたいな感じではどうか。
ただ、ポンプの排水ホースと、今回買ってきたホースが繋げられるかどうか…。先日、ノギスで測った際は、内径8mmに見えたのだけど…。一応、内径8mmのホース同士を繋ぐプラスチック製のコネクタ(税込217円)も買ってきたので、すんなり差さってくれたら助かるのだけど、さてはてどうなることやら。
今までは、床下の水汲みをする際に、焼酎用ペットボトル(4L) x 2本に水を入れて、一々玄関まで持っていて水を捨てていたのだけど、その行き来がシンドイ。先日は51本分も運んだわけで…。こんな馬鹿げた作業を何度も何度もやってられるか。そこで、ポンプの排水ホースを延長して、直接、縁側に排水できないかと考え始めた。
本来なら床下にホースを這わせたいけれど、床下に潜って移動するのはスペース的に無理っぽいので、それについては諦めることにした。もはや、茶の間の畳の上にホースがそのまま置いてある状態でも構わない。作業が済んだらホースを丸めて床下に入れておく、みたいな感じではどうか。
ただ、ポンプの排水ホースと、今回買ってきたホースが繋げられるかどうか…。先日、ノギスで測った際は、内径8mmに見えたのだけど…。一応、内径8mmのホース同士を繋ぐプラスチック製のコネクタ(税込217円)も買ってきたので、すんなり差さってくれたら助かるのだけど、さてはてどうなることやら。
[ ツッコむ ]
以上、1 日分です。