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】