HSPCL32_minor_version 4.02配布ページ

../../_images/sample_hspcl32_fix_0001.png ../../_images/sample_hspcl32_fix_0000.png

(3DモデルデータはMetasequoia LE R3.0 の witch.mqo を使用)

HSPCL32_FIX(HSPCL32 minor version 4.02)は、pippi氏が開発したHSPCL32 version 4.02 をHSP3.6bate5以降でも使えるようにした修正版マイナーバージョンです。

HSPCL32_FIXは、HSP3でOpenCLとOpenGLを扱う拡張モジュールです。

注釈

pippi氏のオリジナルのHSPCL32 version 4.02と区別するため、呼称がHSPCL32_FIX version 4.02からHSPCL32 minor version 4.02に変更になりました。略称はHSPCL32M 4.02になります。

変更はあくまで呼称だけです。スクリプトはそのまま使用できます。

配布ページとリファレンスにも変更を加えていません。使用する上では今まで通り、使用できます。

なお、開発版の呼称もHSPCL32M 4.03へと変更になります。こちらも変更は呼称のみです。

ダウンロード

HSP3.6bate5で動作を確認済みです。

安定板

hspcl32_fix_b.zip

注釈

readme.txtのURLを、新サイトのURLに対応済みです。

開発版

サンプルを同梱していません。

サンプルを参照したい場合は、安定版の方もダウンロードするといいでしょう。

開発版という位置づけですが、それは大部分のコマンドの動作検証をしていないためです。

ですが、実際の修正内容については動作を安定させる方向の修正を行っています。

より動作を安定させたい場合は開発版の方を使うとよいでしょう。

.hs ファイルについてですが、コマンド部分はfix版に合わせましたが、バージョンや備考の部分等は変更していません。数が膨大でチェックが及ばないからです。

安定版との違いは修正した箇所を参照してください。

hspcl32_fix_403_alpha_b.zip

注釈

readme.txtのURLを、新サイトのURLに対応済みです。

オリジナル版の開発者 pippi 氏のHP

http://toropippi.web.fc2.com/

利用規約

オリジナルの HSPCL32 と同じく、The MIT License で再配布します。

The MIT License(日本語訳)

Copyright (c) 2021, pippi(オリジナル), youdai(修正)

以下に定める条件に従い、本ソフトウェアおよび関連文書のファイル(以下「ソフトウェア」)の複製を取得するすべての人に対し、ソフトウェアを無制限に扱うことを無償で許可します。これには、ソフトウェアの複製を使用、複写、変更、結合、掲載、頒布、サブライセンス、および/または販売する権利、およびソフトウェアを提供する相手に同じことを許可する権利も無制限に含まれます。

上記の著作権表示および本許諾表示を、ソフトウェアのすべての複製または重要な部分に記載するものとします。

ソフトウェアは「現状のまま」で、明示であるか暗黙であるかを問わず、何らの保証もなく提供されます。ここでいう保証とは、商品性、特定の目的への適合性、および権利非侵害についての保証も含みますが、それに限定されるものではありません。作者または著作権者は、契約行為、不法行為、またはそれ以外であろうと、ソフトウェアに起因または関連し、あるいはソフトウェアの使用またはその他の扱いによって生じる一切の請求、損害、その他の義務について何らの責任も負わないものとします。

The MIT License

Copyright (c) 2021, pippi(original), youdai(fix)

Permission is hereby granted, free of charge, to any person obtaining a copy ofthis software and associated documentation files (the "Software"), to deal inthe Software without restriction, including without limitation the rights to use,copy, modify, merge, publish, distribute, sublicense, and/or sell copies of theSoftware, and to permit persons to whom the Software is furnished to do so,subject to the following conditions:

The above copyright notice and this permission notice shall be included in allcopies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OFMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE ORTHE USE OR OTHER DEALINGS IN THE SOFTWARE.

HSPCL32_FIXとは

HSPCL32_FIX(HSPCL32 minor version 4.02)は、HSP3でOpenCLとOpenGLを扱う拡張モジュールです。

OpenCLは、OpenCL C言語を扱えます。

OpenGLは、GLSLではなく直接OpenGLをHSP3スクリプトから取り扱う形となっています。(例えば glBegin など)

モデル化された配列変数(行列)を非常に高速に処理できる他、並列計算もできるようになります。

例えば、このようなことが可能になります。

  • 標準HSP3で画像処理を高速に行える

  • 独自の物理演算エンジンを実装できる

  • OpenGLベースの3D描画エンジンを実装できる

  • import をOpenCLで自作すれば、様々な3DモデルフォーマットをOpenGLで表示できるモデルビュアーを作れる

  • モデル化されたAIの処理を高速に行える

  • 顔認識処理を高速に行える

また、単にOpenCLで処理を行うだけでも、HSP3言語と比較して非常に高速に処理できるようになります。

3Dモデルデータに関して

3Dモデルデータに関しては、メタセコイアLE R2.4 ~ R3.0 の .mqo 形式のファイルを扱えます。

ですが、最新のメタセコイアの場合は使用できないか、使用できてもデータが異常な可能性があります。

他のOpenGL系HSP3モジュールと併用したい場合はHSPCL32_minor_version_2.1で

OpenGLを使った他のHSP3モジュール(例えばHGIMG4)と併用したい場合は、HSPCL32_FIX(HSPCL32 minor version 4.02)ではなく、OpenCLのみを扱うHSPCL32_minor_version_2.1を使いましょう。

修正した箇所

version4.02(安定版)

  • hspcl32.asのvarsizeを varsize_cl32 にリネーム

  • 及び、ヘルプのdoclibフォルダのvarsize関係の記述をvarsize_cl32に統一

他の部分は元々のHSPCL32と同じです。

version4.03(開発版)

HSPCL32_FIX version 4.02 (安定版)とほとんど変化はありません。

命令名重複を避けたことと、不具合が起きそうな可能性を予防したことだけです。

  • モジュール空間名を hspcl32_fix へ変更

  • varsize_cl32 命令を削除(hsp3と命令と効果が重複しているため)

  • HCLiniの HCLDevCount を stat へ変更

  • モジュール内の onexit が誤作動の原因になるため、削除

    HCLbye はユーザー側で行うこと

  • hspclenf2 hspclenf3 フラグを削除

  • ヘッダーと本体を分離(スクリプトが長大だとhsed3の一部の機能が誤作動を起こすため)

  • 命令名重複を避けるため、float を HCLfloat へ変更

  • 命令名重複を避けるため、fdim を HCLfdim へ変更