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型の配列。 |