ZGameEditor4.0betaの「New Projectコマンド」の候補の一つ。
いわゆるテンプレート。
「Visualizer Clear effect」と構造は同じだが、描画を、GLSLシェーダではなく、「GLSLを使わないOpenGL API」を利用して行っている。
OpenGLを利用するコードは、angle, hsvなどが定義してある部分で、関数「renderCanvas」に定義してある。
いいかげんなpseudo code
// App.Content=...
const ParamHelpConst="Alpha\nHue\nSaturation\nLightness";
const Parameters=[0,0,0,1];
const Color=[0,0,0];
var canvasTarget=new RenderTarget();
var canvas=new Material();
canvas.frameBuffer=canvasTarget;
var clear=new Material();
var canvasModel=new Model();
canvasModel.OnRender=function(){
material=(renderPass)?clear:canvas;
renderCanvas(1,1); // <-ここで呼び出す。
}
App=new ZApplication();
App.OnLoad=function(){
function angle(...){...};
function hsv(...){...};
ZExternalLibrary(){} // <-こんな感じのでOpenGL32APIを呼べるようにしているっぽい。
function renderCanvas(...){...}; // <-描画ロジックはここで定義している。
spawn(canvasModel);
}
App.OnUpdate=updateFromSliders;
App.OnBeginRenderPass=function(){
setRenderTarget(renderPass?canvasTarget:null);
// renderCanvas(1,1);
}