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


HSPTV!掲示板


未解決 解決 停止 削除要請

2025
1217
Driphgimg4 で GPOBJ_MATOPT_NOMIPMAP が正常に反映されない? またクローンされた物体は gpmatprm が効かない?0解決


Drip

リンク

2025/12/17(Wed) 18:15:47|NO.104540

こんにちはDripです。
これってバグなんでしょうか。( HSP3.6, HSP3.7 で同様の動作確認済み)
hgimg4でマテリアルにGPOBJ_MATOPT_NOMIPMAPを設定してもMIPMAPが無効になりません。


#include "hgimg4.as" chdir dir_exe+"\\sample\\hgimg4":gpreset //サンプルリソースを使用 shader="res/shaders/textured" //使用シェーダー名 texture="res/shadow.png" //使用テクスチャ名 //ユーザーマテリアルを定義 gpusermat mat_c, shader+".vert",shader+".frag",,,GPOBJ_MATOPT_NOMIPMAP //MIPMAP無効? gpmatprmt mat_c, "u_diffuseTexture", texture //テクスチャを割り当て gpfloor mdl_c,50,50,,mat_c //パネルを生成 setpos mdl_c,,-10 //位置調整 *main redraw 0 pos ginfo_winx/3,ginfo_winy/2:color ,,255:mes "MIPMAP 無効(高解像度のまま表示)" gpdraw redraw 1 await 16 goto *main

もう一例あります。
次のコードではmat_2のMIPMAPが無効になりません。
原因は上のとも違うような気が…?
ビジュアルに関わるパラメータなので結構不便しております。


#include "hgimg4.as" chdir dir_exe+"\\sample\\hgimg4":gpreset //サンプルリソースを使用 texture="res/shadow.png" //使用テクスチャ名 gptexmat mat_1,texture //MIPMAP有効 gpfloor mdl_1,30,30,,mat_1 //パネルを生成 setpos mdl_1,-20,-10 //位置調整 //★この3行を上の3行より先に実行すると今度はMIPMAPが全て無効になる? gptexmat mat_2,texture,GPOBJ_MATOPT_NOMIPMAP //MIPMAP無効? gpfloor mdl_2,30,30,,mat_2 //パネルを生成 setpos mdl_2,20,-10 //位置調整 *main redraw 0 pos ginfo_winx/5,ginfo_winy/3:color:mes "MIPMAP 有効(低解像度表示)" pos ginfo_winx/2,ginfo_winy/3:color ,,255:mes "MIPMAP 無効(高解像度のまま表示)" gpdraw redraw 1 await 16 goto *main

またこれはMIPMAPとは関係なくHSP3.7でのみ確認している問題なのですが、クローンされたモデルの動作がおかしいです。
HSP3.7 に付属のサンプル、hgimg4フォルダ内の uvscroll.hsp の 22行目 あたりに次の行があります。

gpbox id_model, 1 , , id_texmat ; 箱ノードを追加
この行の下に次の1行を追加します。

gpclone id_model,id_model ; 箱ノードのクローンを追加
これでクローンされたid_modelはUVスクロールができなくなるのですが、これはバグなのでしょうか。
GPOBJ_MATOPT_UVOFFSET が効いていないだけ?とも思いましたが GPOBJ_MATOPT_SPECULAR は効いてる様子。
ということはgpmatprm系の命令に失敗している?ちょっとよくわかりません。



この記事に返信する


記事削除

記事NO.パスワード
(質問が解決したスレッドは他の利用者に活用してもらうため、削除しないようお願いします)

NO.104540への返信

マスコット

好きなマスコットを選んでください。

名前

e-mail
HOME
  1. 初めて利用する方は、HSP3掲示板の使い方をお読みください。
  2. 不要部分の多い長いスクリプトの投稿は ご遠慮ください。
  3. 書き込みは自動改行されません。適度に改行を入れてください。
  4. スクリプトは小文字の<pre>〜</pre>で囲むと見やすく表示できます。

削除用パスワード

エラー発生時、再送信すると二重送信になることがあります。
回答が得られたら、お礼書き込み時に[解決]チェックしてください。
SPAM防止のためURLから始まる文章は投稿できません。
SPAM防止のため英文字のみの本文を投稿することはできません。

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