Graphics3DFramework ライブラリ

- 目次 -

- 使用サンプルコード -


概要 - Abstract

このライブラリ graphics3d.Graphics3DFramework は、3DCG( 3次元グラフィックス )を手軽に扱うための軽量フレームワークです。

VCSSLの標準ライブラリ「 Graphics3D 」や「 GUI 」だけを用いて、ゼロから3DCGプログラムを記述する場合、
ウィンドウ・レンダラー(描画エンジン)の生成や、アニメーションループ、基本的なイベントハンドラなど、いくつかの定型的な処理を、毎回記述しなければいけません。
そこで、この Graphics3DFramework では、上述のような定型処理を、雛形のようにあらかじめ用意する事によって、手軽な3DCG利用をサポートします。

・必要な処理の記述

Graphics3DFramework は、構造的には、単体で既に完成した3DCGプログラムです。実際、単体で実行する事が可能です。
ただし、単体では何の3Dモデルも配置されておらず、ただ白い画面が表示されるだけです。

そこで実際には、自作モジュールから Graphics3DFramework を import し、3Dモデルの配置や移動など、必要な処理を記述します。
そういった処理は、いくつかの決まった名前の関数を定義し、そこに記述します。つまり、GUIなどのイベントハンドラと同じ仕組みです。
するとそれらのイベントハンドラ関数を、Graphics3DFramework が適切なタイミングで自動実行します。

Graphics3DFramework が自動実行するイベントハンドラ関数は、下記のものがあります。定義は必須では無いので、必要な関数だけを定義し、記述して下さい。

  • void onStart( int renderer ) - 起動時に一度だけ実行されます。3Dモデルの生成・配置などの初期化処理は、ここに記述します。旧称 initialize も使用可能です。
  • void onExit( int renderer ) - 終了時に一度だけ実行されます。終了時に行いたい処理があれば、ここに記述します。旧称 finalize も使用可能です。
  • void onPaint( int renderer ) - 画面更新タイミング(毎秒数十回)で毎回実行されます。前景・背景2DCGの描画を行いたい場合などは、ここに記述します。旧称 paint も使用可能です。
  • void onUpdate( int renderer ) - 画面更新タイミング(毎秒数十回)の間で毎回実行されます。3Dモデルの移動などを行いたい場合などは、ここに記述します。旧称 update も使用可能です。
  • void onResize( int renderer ) - ウィンドウサイズが変更された場合に実行されます。画面に配置したGUI部品のレイアウト調整などを行いたい場合は、ここに記述します。旧称 resize も使用可能です。
上記関数のいずれも、引数 renderer には、3DCGレンダラーのID が渡されます。これは3Dモデルの配置などに使用します。

・背景・前景の2DCG描画

Graphics3DFramework は、前景・背景の2DCG描画もサポートしています。
ただしこの機能はデフォルトで無効になっているため、利用する前にそれぞれ setForegroundRendererState ( true ) 及び setBackgroundRendererState ( true ) を実行して下さい。
その後、 getForegroundRenderer ( ) 及び getBackgroundRenderer ( ) で 2DCGレンダラーのIDを取得し、onPaint関数内などで描画を行います。

・ウィンドウのカスタマイズ

Graphics3DFramework では、ウィンドウ内に余白領域を設定し、そこにボタンやテキストフィールドなどのGUI部品を配置する事ができます。
余白の設定は、setMarginTop ( int margin ) 関数や setMarginLeft ( int margin ) 関数などで行います。
そして getWindow ( ) 関数でウィンドウのIDを取得し、余白領域にGUI部品を自由に配置してください。

・フレームレート調整

加えて、Graphics3DFramework は、フレームレートの自動調整機構も備えています。
具体的には、Graphics3DFramework は、毎フレーム間の所要時間を計測し、常に設定された目標フレームレートに近づくよう、アニメーションループのウェイト ( 待機時間 ) を自動調整します。
目標フレームレートは setFrameRate ( float rate ) で設定します。また、実測フレームレートは getCurrentFrameRate ( ) で取得可能です。

・処理落ち

なお、実行環境の処理速度にも依存しますが、描画する画面サイズが大きかったり、描画内容が重かったりすると、
アニメーションの待機時間を最小にしても、実測フレームレートが目標フレームレートに達しなくなる現象 ―― 処理落ち ―― が生じます。

処理落ちが発生すると、画面の再描画処理が追いつかなくなり、画面がちらつく場合があります。
その場合は、目標フレームレートを実測フレームレートの限界よりも余裕のある値に設定する事で、画面のちらつきを抑える事ができます。
しかし、実測フレームレートは環境に大きく依存するため、代わりに setAnimationWaitMin ( int wait ) 関数でアニメーションウェイトの下限値(ミリ秒単位)を大きめに設定する事でも、
画面のちらつきを抑える事ができます( ただしこの場合、実測フレームレートの限界は低下します )。


目次 - Index

int getGraphics()
3DCGのグラフィックスリソースIDを返します。
int getBackgroundGraphics()
背景2DCGのグラフィックスリソースIDを返します。
int getForegroundGraphics()
前景2DCGのグラフィックスリソースIDを返します。
int getRenderer()
3DCGのレンダラーIDを返します。
int getBackgroundRenderer()
背景2DCGのレンダラーIDを返します。
int getForegroundRenderer()
前景2DCGのレンダラーIDを返します。
void setBackgroundRendererState(bool state)
背景2DCGレンダラーの有効/無効を設定します。
void setForegroundRendererState(bool state)
前景2DCGレンダラーの有効/無効を設定します。
int getImageLabel()
描画内容を表示する、画像ラベルのGUIコンポーネントIDを返します。
int getGraphicsLabel()
画像ラベルのGUIコンポーネントIDを返します。この関数は、より新しい getImageLabel 関数がサポートされています。この関数は互換目的でサポートされています。
int getWindow()
ウィンドウのGUIコンポーネントIDを取得します。
void setAnimationState(bool enable)
アニメーションモードの有効/無効を設定します。
bool getAnimationState()
アニメーションの有効/無効を取得します。
void setFrameRate(float rate)
アニメーションの画面更新頻度( 1秒間あたりの描画回数 )を設定します。
float getFrameRate()
アニメーションの画面更新頻度( 1秒間あたりの描画回数 )の設定値を取得します。
float getCurrentFrameRate()
アニメーションの画面更新頻度( 1秒間あたりの描画回数 )の実測値を取得します。
int getLastFrameTime()
アニメーションの最終画面更新時刻を取得します。時刻は、プログラム開始時刻からの経過時間を、通常はミリ秒単位で表したものが返されます。ただし単位は処理系によって異なる可能性があります。処理系の依存性を完全に排除するためには、Time.millisecond関数を挟んで使用して下さい。
float getCurrentFrameRate()
アニメーションの画面更新頻度( 1秒間あたりの描画回数 )の実測値を取得します。
int getLastFrameTime()
アニメーションの最終画面更新時刻を取得します。時刻は、プログラム開始時刻からの経過時間を、通常はミリ秒単位で表したものが返されます。ただし単位は処理系によって異なる可能性があります。処理系の依存性を完全に排除するためには、Time.millisecond関数を挟んで使用して下さい。
void setPaintGraphics2DState(bool state)
画面描画時(paintコール前)の背景・前景描画において、自動でGraphics3D.paintGraphics2Dをコールするかどうかを設定します。trueを指定すると自動でコールされます。falseに設定すると自動でコールされないので、paintイベントハンドラなどで明示的にコールする必要があります。
bool getPaintGraphics3DState()
画面描画時(paintコール前)に、自動でGraphics3D.paintGraphics3Dをコールするかどうかを取得します。
void setMagnification(float rate)
描画倍率を設定します。倍率は、視点から1.0の距離にある、半径1.0の円が、半径何ピクセルに描かれるかの比率に一致します。
float getMagnification()
描画倍率を取得します。倍率は、視点から1.0の距離にある、半径1.0の円が、半径何ピクセルに描かれるかの比率に一致します。
void setBackgroundColor(int r, int g, int b, int a)
背景色を設定します。引数には、背景色の 赤,緑,青,α成分 を、0〜255の範囲で指定します。
void setBackgroundColor(int color[ ])
背景色を設定します。引数には、背景色の 赤,緑,青,α成分 を、0〜255の範囲で格納した配列を指定します。
int[ ] getBackgroundColor()
背景色を取得します。戻り値には、背景色の 赤,緑,青,α成分 を、0〜255の範囲で格納した配列が返されます。
void setDirectionalLightVector(float x, float y, float z)
平行光源の方向ベクトルを指定します。ベクトルは、ライトの存在する方向のベクトルを指定します。
void setDirectionalLightVector(float v[ ])
平行光源の方向ベクトルを指定します。ベクトルは、ライトの存在する方向のベクトルを指定します。
float[ ] getDirectionalLightVector()
平行光源の方向ベクトルを取得します。ベクトルは、ライトの存在する方向のベクトルが返されます。
void setDirectionalLightBrightness(float power)
平行光源の輝度を指定します。
float getDirectionalLightBrightness()
平行光源の輝度を取得します。
void setAmbientLightBrightness(float power)
アンビエント光源の輝度を指定します。
float getAmbientLightBrightness()
アンビエント光源の輝度を取得します。
void setWindowTitle(string title)
ウィンドウタイトルを設定します。
string getWindowTitle()
ウィンドウタイトルを取得します。
void setWindowSize(int width, int height)
ウィンドウサイズを設定します。
void setWindowSize(int size[ ])
ウィンドウサイズを設定します。
int[ ] getWindowSize()
ウィンドウサイズを取得します。
void setWindowLocation(int x, int y)
ウィンドウの位置を設定します。
void setWindowLocation(int location[ ])
ウィンドウの位置を設定します。
int[ ] getWindowLocation()
ウィンドウの位置を取得します。
void setMarginRight(int margin)
ウィンドウ右側の余白を設定します。
int getMarginRight()
ウィンドウ右側の余白を取得します。
void setMarginLeft(int margin)
ウィンドウ左側の余白を設定します。
int getMarginLeft()
ウィンドウ左側の余白を取得します。
void setMarginTop(int margin)
ウィンドウ上側の余白を設定します。
int getMarginTop()
ウィンドウ上側の余白を取得します。
void setMarginBottom(int margin)
ウィンドウ下側の余白を設定します。
int getMarginBottom()
ウィンドウ下側の余白を取得します。
void setAnimationWaitMin(int wait)
アニメーションウェイト(メインループのウェイト)の下限値を設定します。
int getAnimationWaitMin()
アニメーションウェイト(メインループのウェイト)の下限値を設定します。
void setAnimationWaitMax(int wait)
アニメーションウェイト(メインループのウェイト)の上限値を設定します。
int getAnimationWaitMax()
アニメーションウェイト(メインループのウェイト)の上限値を設定します。
void setMainLoopState(bool state)
メインループの継続状態を設定します。falseに設定するとアニメーションのメインループを脱出し、プログラムを終了します。
bool getMainLoopState()
メインループの継続状態を取得します。
string[ ] getMainArgument()
main関数の引数を取得します。
void export( string filePath, string format, float quality )
現在の描画ラベルの内容を、画像ファイルに出力します。ファイルの出力は、この関数をコールした瞬間に行われるわけでは無く、次回の画面更新タイミングに合わせて実行されます。
void main( string args[ ] )
main関数です。通常は自動で実行され、frameworkMain関数をコールします。ただし、メインプログラムでmain関数を定義する場合は、こちらは自動で実行されなくなるので、下記のframeworkMainを明示的に呼ぶ必要があります。
void frameworkMain( string args[ ] )
フレームワークのメイン処理です。通常はmain関数から自動で実行されます。ただし、メインプログラムでmain関数を定義する場合は、自動で実行されなくなるので、適当なタイミングで呼ぶ必要があります。
void onWindowClose( int id )
ウィンドウが閉じられた際にコールされるイベントハンドラです。
void onWindowResize( int id, int width, int height )
ウィンドウがリサイズされた際にコールされるイベントハンドラです。
void paintWindow()
ウィンドウの再描画を行います。通常は自動で実行されますが、通常は自動で実行されますが、アニメーションを無効にしている場合などは、画面更新時に明示的に呼び出す必要があります。
void render()
paint関数などをコールし、画面表示内容を描画します。3DCGと、背景及び前景2DCGの合成も行います。通常は自動で実行されますが、アニメーションを無効にしている場合などは、画面更新時に明示的に呼び出す必要があります。

構造体 - Structs

- なし - None -


変数 - Variables

- なし - None -


関数 - Functions

定義
- Signature
int getGraphics()
詳細
- Details
3DCGのグラフィックスリソースIDを返します。
戻り値
- Return
3DCGのグラフィックスリソースID
定義
- Signature
int getBackgroundGraphics()
詳細
- Details
背景2DCGのグラフィックスリソースIDを返します。
戻り値
- Return
背景2DCGのグラフィックスリソースID
定義
- Signature
int getForegroundGraphics()
詳細
- Details
前景2DCGのグラフィックスリソースIDを返します。
戻り値
- Return
前景2DCGのグラフィックスリソースID
定義
- Signature
int getRenderer()
詳細
- Details
3DCGのレンダラーIDを返します。
戻り値
- Return
3DCGのレンダラーID
定義
- Signature
int getBackgroundRenderer()
詳細
- Details
背景2DCGのレンダラーIDを返します。
戻り値
- Return
背景2DCGのレンダラーID
定義
- Signature
int getForegroundRenderer()
詳細
- Details
前景2DCGのレンダラーIDを返します。
戻り値
- Return
前景2DCGのレンダラーID
定義
- Signature
void setBackgroundRendererState(bool state)
詳細
- Details
背景2DCGレンダラーの有効/無効を設定します。
引数
- Arguments
state : 背景2DCGレンダラーの有効/無効(trueならば有効)
定義
- Signature
void setForegroundRendererState(bool state)
詳細
- Details
前景2DCGレンダラーの有効/無効を設定します。
引数
- Arguments
state : 前景2DCGレンダラーの有効/無効(trueならば有効)
定義
- Signature
int getImageLabel()
詳細
- Details
描画内容を表示する、画像ラベルのGUIコンポーネントIDを返します。
戻り値
- Return
画像ラベルのGUIコンポーネントID
定義
- Signature
int getGraphicsLabel()
詳細
- Details
画像ラベルのGUIコンポーネントIDを返します。この関数は、より新しい getImageLabel 関数がサポートされています。この関数は互換目的でサポートされています。
戻り値
- Return
画像ラベルのGUIコンポーネントID
定義
- Signature
int getWindow()
詳細
- Details
ウィンドウのGUIコンポーネントIDを取得します。
戻り値
- Return
ウィンドウのGUIコンポーネントID
定義
- Signature
void setAnimationState(bool enable)
詳細
- Details
アニメーションモードの有効/無効を設定します。
引数
- Arguments
enable : アニメーションモードの有効/無効(trueならば有効)
定義
- Signature
bool getAnimationState()
詳細
- Details
アニメーションの有効/無効を取得します。
戻り値
- Return
アニメーションモード有効/無効(trueならば有効)
定義
- Signature
void setFrameRate(float rate)
詳細
- Details
アニメーションの画面更新頻度( 1秒間あたりの描画回数 )を設定します。
引数
- Arguments
rate : 画面更新頻度
定義
- Signature
float getFrameRate()
詳細
- Details
アニメーションの画面更新頻度( 1秒間あたりの描画回数 )の設定値を取得します。
戻り値
- Return
画面更新頻度(設定値)
定義
- Signature
float getCurrentFrameRate()
詳細
- Details
アニメーションの画面更新頻度( 1秒間あたりの描画回数 )の実測値を取得します。
戻り値
- Return
画面更新頻度(実測値)
定義
- Signature
int getLastFrameTime()
詳細
- Details
アニメーションの最終画面更新時刻を取得します。時刻は、プログラム開始時刻からの経過時間を、通常はミリ秒単位で表したものが返されます。ただし単位は処理系によって異なる可能性があります。処理系の依存性を完全に排除するためには、Time.millisecond関数を挟んで使用して下さい。
戻り値
- Return
最終画面更新時刻(通常はミリ秒単位)
定義
- Signature
float getCurrentFrameRate()
詳細
- Details
アニメーションの画面更新頻度( 1秒間あたりの描画回数 )の実測値を取得します。
戻り値
- Return
画面更新頻度(実測値)
定義
- Signature
int getLastFrameTime()
詳細
- Details
アニメーションの最終画面更新時刻を取得します。時刻は、プログラム開始時刻からの経過時間を、通常はミリ秒単位で表したものが返されます。ただし単位は処理系によって異なる可能性があります。処理系の依存性を完全に排除するためには、Time.millisecond関数を挟んで使用して下さい。
戻り値
- Return
最終画面更新時刻(通常はミリ秒単位)
定義
- Signature
void setPaintGraphics2DState(bool state)
詳細
- Details
画面描画時(paintコール前)の背景・前景描画において、自動でGraphics3D.paintGraphics2Dをコールするかどうかを設定します。trueを指定すると自動でコールされます。falseに設定すると自動でコールされないので、paintイベントハンドラなどで明示的にコールする必要があります。
引数
- Arguments
state : 設定した状態
定義
- Signature
bool getPaintGraphics3DState()
詳細
- Details
画面描画時(paintコール前)に、自動でGraphics3D.paintGraphics3Dをコールするかどうかを取得します。
戻り値
- Return
取得した状態
定義
- Signature
void setMagnification(float rate)
詳細
- Details
描画倍率を設定します。倍率は、視点から1.0の距離にある、半径1.0の円が、半径何ピクセルに描かれるかの比率に一致します。
引数
- Arguments
rate : 描画倍率
定義
- Signature
float getMagnification()
詳細
- Details
描画倍率を取得します。倍率は、視点から1.0の距離にある、半径1.0の円が、半径何ピクセルに描かれるかの比率に一致します。
戻り値
- Return
描画倍率
定義
- Signature
void setBackgroundColor(int r, int g, int b, int a)
詳細
- Details
背景色を設定します。引数には、背景色の 赤,緑,青,α成分 を、0〜255の範囲で指定します。
引数
- Arguments
r : 背景色(赤、0〜255)
g : 背景色(緑、0〜255)
b : 背景色(青、0〜255)
a : 背景色(α成分、0〜255)
定義
- Signature
void setBackgroundColor(int color[ ])
詳細
- Details
背景色を設定します。引数には、背景色の 赤,緑,青,α成分 を、0〜255の範囲で格納した配列を指定します。
引数
- Arguments
color : 背景色配列([0]=赤、[1]=緑、[2]=青、[3]=α成分、各0〜255)
定義
- Signature
int[ ] getBackgroundColor()
詳細
- Details
背景色を取得します。戻り値には、背景色の 赤,緑,青,α成分 を、0〜255の範囲で格納した配列が返されます。
戻り値
- Return
背景色配列([0]=赤、[1]=緑、[2]=青、[3]=α成分、各0〜255)
定義
- Signature
void setDirectionalLightVector(float x, float y, float z)
詳細
- Details
平行光源の方向ベクトルを指定します。ベクトルは、ライトの存在する方向のベクトルを指定します。
引数
- Arguments
x : X成分
y : Y成分
z : Z成分
定義
- Signature
void setDirectionalLightVector(float v[ ])
詳細
- Details
平行光源の方向ベクトルを指定します。ベクトルは、ライトの存在する方向のベクトルを指定します。
引数
- Arguments
v : ベクトル成分配列( v[0]=X、v[1]=Y、v[2]=Z )
定義
- Signature
float[ ] getDirectionalLightVector()
詳細
- Details
平行光源の方向ベクトルを取得します。ベクトルは、ライトの存在する方向のベクトルが返されます。
戻り値
- Return
ベクトル成分配列( v[0]=X、v[1]=Y、v[2]=Z )
定義
- Signature
void setDirectionalLightBrightness(float power)
詳細
- Details
平行光源の輝度を指定します。
引数
- Arguments
power : 輝度
定義
- Signature
float getDirectionalLightBrightness()
詳細
- Details
平行光源の輝度を取得します。
戻り値
- Return
輝度
定義
- Signature
void setAmbientLightBrightness(float power)
詳細
- Details
アンビエント光源の輝度を指定します。
引数
- Arguments
power : 輝度
定義
- Signature
float getAmbientLightBrightness()
詳細
- Details
アンビエント光源の輝度を取得します。
戻り値
- Return
輝度
定義
- Signature
void setWindowTitle(string title)
詳細
- Details
ウィンドウタイトルを設定します。
定義
- Signature
string getWindowTitle()
詳細
- Details
ウィンドウタイトルを取得します。
定義
- Signature
void setWindowSize(int width, int height)
詳細
- Details
ウィンドウサイズを設定します。
引数
- Arguments
width : 幅
height : 高さ
定義
- Signature
void setWindowSize(int size[ ])
詳細
- Details
ウィンドウサイズを設定します。
引数
- Arguments
size : ウィンドウサイズ([0]=幅、[1]=高さ)
定義
- Signature
int[ ] getWindowSize()
詳細
- Details
ウィンドウサイズを取得します。
戻り値
- Return
ウィンドウサイズ([0]=幅、[1]=高さ)
定義
- Signature
void setWindowLocation(int x, int y)
詳細
- Details
ウィンドウの位置を設定します。
引数
- Arguments
x : ウィンドウ左上のX座標
y : ウィンドウ左上のY座標
定義
- Signature
void setWindowLocation(int location[ ])
詳細
- Details
ウィンドウの位置を設定します。
引数
- Arguments
size : ウィンドウ左上の座標([0]=X座標、[1]=Y座標)
定義
- Signature
int[ ] getWindowLocation()
詳細
- Details
ウィンドウの位置を取得します。
戻り値
- Return
ウィンドウ左上の座標([0]=X座標、[1]=Y座標)
定義
- Signature
void setMarginRight(int margin)
詳細
- Details
ウィンドウ右側の余白を設定します。
引数
- Arguments
margin : 余白(ピクセル)
定義
- Signature
int getMarginRight()
詳細
- Details
ウィンドウ右側の余白を取得します。
戻り値
- Return
余白(ピクセル)
定義
- Signature
void setMarginLeft(int margin)
詳細
- Details
ウィンドウ左側の余白を設定します。
引数
- Arguments
m : 余白(ピクセル)
定義
- Signature
int getMarginLeft()
詳細
- Details
ウィンドウ左側の余白を取得します。
戻り値
- Return
余白(ピクセル)
定義
- Signature
void setMarginTop(int margin)
詳細
- Details
ウィンドウ上側の余白を設定します。
引数
- Arguments
m : 余白(ピクセル)
定義
- Signature
int getMarginTop()
詳細
- Details
ウィンドウ上側の余白を取得します。
戻り値
- Return
余白(ピクセル)
定義
- Signature
void setMarginBottom(int margin)
詳細
- Details
ウィンドウ下側の余白を設定します。
引数
- Arguments
m : 余白(ピクセル)
定義
- Signature
int getMarginBottom()
詳細
- Details
ウィンドウ下側の余白を取得します。
戻り値
- Return
余白(ピクセル)
定義
- Signature
void setAnimationWaitMin(int wait)
詳細
- Details
アニメーションウェイト(メインループのウェイト)の下限値を設定します。
定義
- Signature
int getAnimationWaitMin()
詳細
- Details
アニメーションウェイト(メインループのウェイト)の下限値を設定します。
定義
- Signature
void setAnimationWaitMax(int wait)
詳細
- Details
アニメーションウェイト(メインループのウェイト)の上限値を設定します。
定義
- Signature
int getAnimationWaitMax()
詳細
- Details
アニメーションウェイト(メインループのウェイト)の上限値を設定します。
定義
- Signature
void setMainLoopState(bool state)
詳細
- Details
メインループの継続状態を設定します。falseに設定するとアニメーションのメインループを脱出し、プログラムを終了します。
引数
- Arguments
state : メインループの継続状態
定義
- Signature
bool getMainLoopState()
詳細
- Details
メインループの継続状態を取得します。
戻り値
- Return
メインループの継続状態
定義
- Signature
string[ ] getMainArgument()
詳細
- Details
main関数の引数を取得します。
戻り値
- Return
main関数の引数
定義
- Signature
void export( string filePath, string format, float quality )
詳細
- Details
現在の描画ラベルの内容を、画像ファイルに出力します。ファイルの出力は、この関数をコールした瞬間に行われるわけでは無く、次回の画面更新タイミングに合わせて実行されます。
引数
- Arguments
filePath : 出力ファイル名またはファイルパス
format : ファイル形式("PNG"または"JPEG")
quality : 品質
定義
- Signature
void main( string args[ ] )
詳細
- Details
main関数です。通常は自動で実行され、frameworkMain関数をコールします。ただし、メインプログラムでmain関数を定義する場合は、こちらは自動で実行されなくなるので、下記のframeworkMainを明示的に呼ぶ必要があります。
引数
- Arguments
args : メイン引数( getMainArgument関数で取得可能 )
定義
- Signature
void frameworkMain( string args[ ] )
詳細
- Details
フレームワークのメイン処理です。通常はmain関数から自動で実行されます。ただし、メインプログラムでmain関数を定義する場合は、自動で実行されなくなるので、適当なタイミングで呼ぶ必要があります。
引数
- Arguments
args : メイン引数( getMainArgument関数で取得可能 )
定義
- Signature
void onWindowClose( int id )
詳細
- Details
ウィンドウが閉じられた際にコールされるイベントハンドラです。
引数
- Arguments
id : ウィンドウのGUIコンポーネントID
定義
- Signature
void onWindowResize( int id, int width, int height )
詳細
- Details
ウィンドウがリサイズされた際にコールされるイベントハンドラです。
引数
- Arguments
id : ウィンドウのGUIコンポーネントID
width : ウィンドウの幅
height : ウィンドウの高さ
定義
- Signature
void paintWindow()
詳細
- Details
ウィンドウの再描画を行います。通常は自動で実行されますが、通常は自動で実行されますが、アニメーションを無効にしている場合などは、画面更新時に明示的に呼び出す必要があります。
定義
- Signature
void render()
詳細
- Details
paint関数などをコールし、画面表示内容を描画します。3DCGと、背景及び前景2DCGの合成も行います。通常は自動で実行されますが、アニメーションを無効にしている場合などは、画面更新時に明示的に呼び出す必要があります。

この階層の目次
お知らせ

Vnanoの公式サイトがオープン、チュートリアルやAPI仕様書等も掲載
2019年08月07日 - オープンソースのアプリケーション組み込み用スクリプトエンジン「 Vnano 」の公式サイトを開設しました。チュートリアルや、スクリプトエンジンのAPI仕様書などが参照できます。その概要をお知らせします。

リニアングラフ3D/2Dが連番ファイルのアニメーションに標準で対応
2019年07月17日 - リニアングラフ3D/2Dでは、7月17日公開の最新版より、連番ファイルを連続的に読み込みながらアニメーション描画するプログラムを同梱し、メニューから標準で使用可能になりました。その概要をお知らせします。

Vnanoのスクリプトエンジンアーキテクチャ解説2: コンパイラ
2019年07月03日 - オープンソースで開発中のスクリプトエンジン「 Vnano 」のアーキテクチャを解説する連載の第2回です。今回は、スクリプトを中間コードへと変換する、コンパイラ部分の内部をクローズアップして解説します。

新着
[公式ガイドサンプル] ユーザーのGUI操作に対して処理を行う

「VCSSL GUI開発ガイド」内のサンプルコードです。ユーザーがGUIを操作した際に行う処理を実装します。
2019年07月28日
[公式ガイドサンプル] 各種GUIコンポーネントを画面上に配置する

「VCSSL GUI開発ガイド」内のサンプルコードです。色々な種類のGUI部品を画面上に配置します。
2019年07月28日
連番ファイルから3Dグラフをアニメーション描画するツール

フォルダ内の連番データファイルを読み込み、3Dグラフを高速で連続描画して、アニメーションさせるツールです。グラフを連番の画像ファイルに保存する事もできます。
2019年06月03日
連番ファイルから2Dグラフをアニメーション描画するツール

フォルダ内の連番データファイルを読み込み、2Dグラフを高速で連続描画して、アニメーションさせるツールです。グラフを連番の画像ファイルに保存する事もできます。
2019年05月24日
[公式ガイドサンプル] 立体モデルを生成して3D空間に配置する

「VCSSL 3DCG開発ガイド」内のサンプルコードです。立体モデルを生成し、3D空間に配置します。
2019年05月21日
開発元Twitterアカウント