Lua コード


最初の第一章で紹介した言語の名前はLuaでした。

Luaは手続き型・プロトタイプベースのオブジェクト指向・関数型・データ駆動型のスクリプト言語である。 --Wiki

Luaバージョン:Lua5.3

注意:PixelsWorld v3.2.0より、Lua5.4に変更しました。

簡単に言えば、Luaは、Aeとユーザーの間の架け橋であり、コミュニケーション通路の役を果たしています。LuaはAeスクリプト言語に似ているため、プログラミング経験ゼロの人でもPixelsWorldを楽しめます。また、小行数のスクリプトでもバラエティー満ちたシーンを構築可能です。例えば、Aeカメラでキューブをレンダーするには、次のコードを書けば十分です:

DrawCube.lua

version3()
move(width/2,height/2)
dim3()
cube(300)

dim3()は三次元モードでレンダーするという意味です。

GLSLコードをレンダーするには、次のように書きます:

RunGlsl.lua

version3()
glsl([==[
void main(){
    vec3 col = 0.5 + 0.5*cos(time+uv.xyx+vec3(0,2,4));
    outColor = vec4(col,1.0);
}
    ]==])

shadertoyのコードをレンダーするには、次のように書きます:

RunShadertoy.lua

version3()
shadertoy([==[
void mainImage( out vec4 fragColor, in vec2 fragCoord )
{
    vec2 uv = fragCoord/iResolution.xy;
    vec3 col = 0.5 + 0.5*cos(iTime+uv.xyx+vec3(0,2,4));
    fragColor = vec4(col,1.0);
}
    ]==])

Luaでは、次のことができます:

  • ピクセルデータの読み取り
  • ピクセルデータの書き込み
  • JavaScriptの実行
  • GLSLの実行
  • パラメーターの読み取り
  • 外部Cライブラリの実行 (COOL!)
  • 外部Luaモデルの読み取り

PixelsWorld構成図

PW_Structure

results matching ""

    No results matching ""