ZGameEditor4.0betaの「New Projectコマンド」の候補の一つ。

いわゆるテンプレート。

色関連のスライダが定義されており、画面をその色でクリアする。
描画ロジックはGLSLシェーダで定義されている。

"Clear"という名前の由来は、FL9当事のZGEVizのエフェクトが「Clear」と「FgAndBG」になっていたことからではないかと思われる。とはいえ、なぜClearという単語になってるのかは不明。

「ZGameEditorの一部」なためか、githubでソースコードを見ることができたりもする。
https://github.com/VilleKrumlinde/zgameeditor/tree/master/tools/ZDesigner/exe/Templates


以下は処理の概要を示すpseudo code

 // App.Content=...
  const ParamHelpConst="Alpha\nHue\nSaturation\nLightness";
  const Parameters=[0,0,0,1];
  const Color=[0,0,0];  // このへんの3行がUI上の4本のスライダを定義している。
 
  var canvasTarget=new RenderTarget();
  var canvas=new Material();
  canvas.frameBuffer=canvasTarget;
  canvas.shader=new CanvasShader();
 
  var clear=new Material();
  clear.shader=new ClearShader(a, r, g, b);
  
  var canvasModel=new Model();
  canvasModel.OnRender=function(){
    material=(renderPass)?clear:canvas;
    RenderSprite(material); // 未調査。指定マテリアルでビットマップを出力するコンポーネントらしい。
  }
 
 App=new ZApplication();
 App.OnLoad=function(){
   function angle(...){...};// radianの計算。たぶん使ってない。
   function hsv(...){...};  // HSVをRGBに変換するやつ。
  spawn(canvasModel);      // Content以下で定義した「モデル」を1つインスタンス化。
 }
 App.OnUpdate=updateFromSliders; // スライダの値をFLから受け取って解釈する。
 App.OnBeginRenderPass=function(){
   setRenderTarget(renderPass?canvasTarget:null);// 未調査。to buffer時の振り分け?
   // canvasModel.render();
 }
**参考
「ZGameEditorの一部」なためか、githubでソースコードを見ることができたりもする。
https://github.com/VilleKrumlinde/zgameeditor/tree/master/tools/ZDesigner/exe/Templates

**関連項目
【Visualizer FgBg effect】【Visualizer Clear effect without shaders】

トップ差分 バックアップ リロード  一覧 単語検索 最終更新 ヘルプ最終更新のRSS