ZGameEditor4.0betaの「New Projectコマンド」の候補の一つ。
いわゆるテンプレート。
色関連のスライダが定義されており、画面をその色でクリアする。
描画ロジックはGLSLシェーダで定義されている。
"Clear"という名前の由来は、FL9当事のZGEVizのエフェクトが「Clear」と「FgAndBG」になっていたことからではないかと思われる。とはいえ、なぜClearという単語になってるのかは不明。
以下は処理の概要を示す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();
}
【Visualizer FgBg effect】【Visualizer Clear effect without shaders】