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


HSPTV!掲示板


未解決 解決 停止 削除要請

2008
0124
べなりあHSPDX使用中の線の描画について4解決


べなりあ

リンク

2008/1/24(Thu) 22:03:04|NO.13259

また解決し難い問題が出来てしまったので質問させていただきます。
HSPDXを使用している場合、線の描画をどのようにすれば良いでしょうか。

マニュアルを探してみたところ、一時的にGDIでの描画を可能にする命令があったので
それを使ってみたのですが、速度面での不安が残るので出来れば避けたいです。

また、es_exboxf命令を使って疑似的なline命令のようなものを作ったのですが、
これも2点の指定を角度や距離を計算して、
es_exboxfの書式に当てはまるように変えなければならないので
速度の面としてやはり不安が残ってしまいます。
es_lineとしてマクロを定義してみたのですが・・・

#define es_line(%1,%2,%3,%4,%5=2) kyori=sqrt((%1-%3)*(%1-%3)+(%2-%4)*(%2-%4)) ematan kakuhoko,%1-%3,%2-%4 es_exboxf (%1+%3)/2-%5/2,(%2+%4)/2-kyori/2,(%1+%3)/2+(%5-1)/2,(%2+%4)/2+kyori/2,$ffffff,,,4096-kakuhoko
長いので複数行に分けていますが、実際は一行です。
線は最大で4,50本ほど表示するつもりなのですが、この方式を使っての速度は十分なものなのでしょうか。

また、HSPDXには線を描画する命令というのは無いのでしょうか。
ヘルプブラウザを調べた限りではそのような命令を見つけることは出来ませんでした…

どうか無知な私にご教授ください。



この記事に返信する


リンク

2008/1/25(Fri) 10:49:01|NO.13262

藻です。

もっと単純に考えて、

ブランクバッファに線を描くか、もしくは線を描いた画像を用意して、
それをオフスクリーンバッファに転送する。

んで、es_excopyで回転角度とか指定して描画したら良いのではないかな?



べなりあ

リンク

2008/1/25(Fri) 19:47:43|NO.13263

返信ありがとうございます。
こちらの方で、es_exboxf命令とes_excopy命令を10000回繰り返して時間計測を行った結果、
僅かではありましたがes_excopy命令の方が時間がかかってしまいました…。
あと、狙い通りの2点を結ぶ為の計算にsinとcosを使ってしまい、それが時間を掛からせているのかもしれません…
また、指定した2点の半分の長さの線を一方とその反対に描画する方法もやってみたのですが、
2回コピーを行うこともあり速度的にさらに厳しくなってしまいました。

es_excopy命令を使用する場合どのような計算を行えば2点の計算がてっとり早く済むでしょうか…
引き続きご教授、お願い致します。



船丸

リンク

2008/1/27(Sun) 08:40:14|NO.13302

忘れないで。
hspdxはその位屁でもないですから。
大丈夫です。



べなりあ

リンク

2008/1/27(Sun) 19:25:23|NO.13311

返信ありがとうございます。
そこまで心配する必要もないですよね。

皆様、返信ありがとうございました!



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