🌸 「なでしこ」
>
🍯 「貯蔵庫」
WEBGLのシェーダを利用する際の補助関数群(nako3プラグイン)
🌟新規
📒一覧
🔌
🔍検索
🚪ログイン
WEBGLのシェーダを利用する際の補助関数群(nako3プラグイン) 📖
WebGLのシェーダを利用するプログラムを作成する際に定形的な処理を支援するプラグイン。WebGL APIプラグインが読み込まれる。
プログラム:
(→大)
# WEBGLのシェーダを利用する際の補助関数群 # webgl_shader_helper.nako3 # !「https://n3s.nadesi.com/plain/564.nako3」を取り込む ●(プログラムの)パラメータロケーション情報更新とは PGMはプログラム["PROGRAM"] プログラム["PARAM"]を反復 項目はプログラム["PARAM"][対象キー] もし、項目["TYPE"]が"ATTR"ならば、 項目["LOC"]はPGMから項目["NAME"]のGL属性ロケーション取得 違えば、 項目["LOC"]はPGMから項目["NAME"]のGL共有データロケーション取得 ここまで ここまで ここまで ●(プログラムにOPTSで)シェーダプログラムパラメータ設定とは 使用リソースは{ テクスチャ:[], 属性:[] } もし、OPTS["属性"]ならば、 OPTS["属性"]を反復する 使用属性はプログラムに対象でシェーダプログラム属性設定する 使用リソース["属性"]は使用リソース["属性"]に使用属性を配列足す ここまで ここまで もし、OPTS["共有データ"]ならば、 OPTS["共有データ"]を反復する 項目はプログラム["PARAM"][対象キー] もし、項目ならば、 データはOPTS["共有データ"][対象キー] データを項目["LOC"]に項目["TYPE"]でGL共有データ設定 ここまで ここまで ここまで TEXIDは0 もし、OPTS["テクスチャ"]ならば、 Fは『(function(a) {return a instanceof Array;})』を[OPTS["テクスチャ"]]でJS関数実行 もし、Fならば、 OPTS["テクスチャ"]を反復する データは対象 項目名はデータ["共有データ名"] 項目はプログラム["PARAM"][項目名] もし、項目ならば、 TEXIDをGLテクスチャ枠指定 データ["テクスチャ"]をGLテクスチャ設定 TEXIDを項目["LOC"]に項目["TYPE"]でGL共有データ設定 使用リソース["テクスチャ"]にTEXIDを配列追加 TEXIDはTEXID+1 ここまで ここまで 違えば、 OPTS["テクスチャ"]を反復する 項目はプログラム["PARAM"][対象キー] もし、項目ならば、 データはOPTS["テクスチャ"][対象キー] TEXIDをGLテクスチャ枠指定 データをGLテクスチャ設定 TEXIDを項目["LOC"]に項目["TYPE"]でGL共有データ設定 使用リソース["テクスチャ"]にTEXIDを配列追加 TEXIDはTEXID+1 ここまで ここまで ここまで ここまで 使用リソースで戻る ここまで ●(使用リソースを)シェーダプログラムパラメータ解放とは もし、使用リソース["テクスチャ"]ならば、 使用リソース["テクスチャ"]を反復する 対象をGLテクスチャ枠指定 NULLをGLテクスチャ設定 ここまで ここまで もし、使用リソース["属性"]ならば、 使用リソース["属性"]をシェーダプログラム属性解放 ここまで ここまで ●(プログラムにバッファーで)シェーダプログラム属性設定とは 有効化一覧は[] バッファー["BUF"]をGLバッファ設定 バッファー["PARAM"]を反復する 項目はプログラム["PARAM"][対象キー] もし、項目ならば、 データはバッファー["PARAM"][対象キー] 項目["LOC"]をGL頂点属性有効 項目["LOC"]に{数:データ["NUM"], レコード長:バッファー["STRIDE"], オフセット:データ["OFFSET"] }でGL頂点属性書式設定 有効化一覧に項目["LOC"]を配列追加 ここまで ここまで NULLをGLバッファ設定 有効化一覧で戻る ここまで ●(有効化一覧を)シェーダプログラム属性解放とは 有効化一覧を反復する 対象をGL頂点属性無効 ここまで ここまで もし、プラグイン名が「メイン」ならば、 『WEBGLのシェーダを利用する際の補助関数群 のプラグインです』を表示 『このプラグインの動作には、「WebGL APIのプラグイン」が必要です』を表示 ここまで
プログラムを実行
⭐ てぃふと@うぇいく 作
タイトル:
WEBGLのシェーダを利用する際の補助関数群(nako3プラグイン)
ライセンス:
BSD (
改変可/著作権表示
)
タイプ:
wnako
タグ:
-
利用バージョン:
3.2.13
作成日時:
2021/06/05 06:16 (編集: 2021/06/16 20:25)
公開の投稿
⭐
ログイン
して★を付けよう!
Twitterへ投稿
📝作品を編集
作品公開情報
📍この作品のURL:
📍アプリ(即時実行)のURL:
📍アプリ(実行ボタンあり)のURL:
📍ブログパーツ:
上記HTML↑をブログに貼り付けることでアプリを埋め込めます。
📍ライブラリ直リンク - 『!「***」を取込』で使うとき:
📍なでしこハブ (最新版の反映は1日後):
ソースの確認
編集履歴の確認
通報数:
0
通報って何?