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

いわゆるテンプレート。

「Visualizer Clear effect」と構造は同じだが、描画を、GLSLシェーダではなく、「GLSLを使わないOpenGL API」を利用して行っている。
OpenGLを利用するコードは、angle, hsvなどが定義してある部分で、関数「renderCanvas」に定義してある。

「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];
  
  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);
 }
**参考
「ZGameEditorの一部」なためか、githubでソースコードを見ることができたりもする。
https://github.com/VilleKrumlinde/zgameeditor/tree/master/tools/ZDesigner/exe/Templates

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

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