EddyScript

EddyScript

EddyScriptは、Pythonに似た構文を持つプログラミング言語です。これは、Eddyの様々な部分で使用されます。この言語で書かれたものは、すべて固有のGPUコードにコンパイルされ、ハードウェア上で実行されます。

この言語の使用例は、Eddyに実装されているシェーダーのいずれかを開くことで確認することができます。それらはすべてこの言語で書かれています。

Pythonと多数の類似点がありますが、Pythonとはまったく異なります。型がどのように扱われるか、また、関数をどのように宣言する必要があるかを理解することは重要です。

以下は、EddyScriptではまだ同等の機能がないPython関数のリストです。

  • import statements

  • tuples

  • user defined classes/objects

  • strings

  • dictionaries

  • generators

  • context managers

  • nested functions

  • exceptions

  • list comprehensions

  • function *args and **kwargs

  • function named arguments

  • function optional arguments

この言語はまだ発展中で、今後のバージョンでは、おそらくこれらの関数のいくつかに対応するようになるでしょう。


基本型

説明

説明

Int, int

32ビットの符号付き整数。

Int8, int8

8ビットの符号付き整数。

Int16, int16

16ビットの符号付き整数。

Int64, int64

64ビットの符号付き整数。

Float, float

単精度浮動小数。

Bool, bool

True/Falseを表すブール型。

None

無効。デフォルトの関数の戻り型。

ベクトル型

説明

説明

Int2

2つのInt型の配列。

Int3

3つのInt型の配列。

Int4

4つのInt型の配列。

Float2

2つのFloat型の配列。

Float3

3つのFloat型の配列。

Float4

4つのFloat型の配列。

これらの型は、この例のように通常のリストとして扱うことができます。

def example(foo=Float3, bar=Float2): return foo[0] + bar[1]

以下は、整数のリストを、これらの型の1つを受け取る関数へどのように渡すかを示した例です。

def add_float3(a=Int3, b=Int3): return a+b def example(): return add_float3([1,1,1], [1,1,1])



ご注意

リストが対応するベクトル型と一致しない場合、コンパイルエラーが発生します。

マトリックス型

説明

説明

Float3x3

3つのFloat3型の配列。

Float3x4

3つのFloat4型の配列。

Float4x4

4つのFloat4型の配列。