上へ

紹介



Lightflow について

The Lightflow Rendering Tools are a powerful set of tools made to create photorealistic images from three-dimensional scene descriptions.
These tools implement the Lightflow Rendering Interface, an object oriented programming interface to synthetic rendering, which provides a common environment and description language to treat light distribution in three-dimensional spaces.

Lightflow Rendering Tools は三次元シーンの記述から写実的なイメージを作り上げる、パワフルなツール集合です。
これらのツールは三次元空間で光の分布を扱うために、共通の環境と記述言語を提供するレンダリングを合成するためのオブジェクト指向プログラミング言語である Lightflow Rendering Interface を実装しています。

The Lightflow Rendering Tools are actually implemented as a standard ANSI C++ library, since this language has the necessary class-based control structures together with a fast code production and a good popularity. However the interface is not based on C++, but it is rather represented with its formalism. Any class based language could be used instead.

この言語は高速なコードを生成する上に大変評判が良い、必要なクラスベースの制御構造を持っているので、Lightflow Rendering Tools は実際に標準 ANSI C++ ライブラリとして実現されています。しかしインターフェイスは C++ がベースなのではなく、どちらかといえば形式的に表されます。任意のクラスベースの言語を代わりに使用することができます。

The aim of the Lightflow Rendering Interface is complete control over geometry and lighting, that is to say appearence. This is why it adopts an object oriented approach: the rendering realm is composed by abstract classes, the main of which are objects, light sources and materials. All these class entities are not well defined, but they represent the structure and functionality of each instance that belongs to them. For example objects are made up of surfaces which have some materials associated to them, and materials are procedures that control the appearence of each surface point in relation to the light that reaches it.
Lightflow allows to describe in an efficient way new instances and subtypes of those fundamental classes, giving to them a consistent and flexible interface. Flexibility is actually the main source of power of this innovative system that will mantain its consistency even after major developments and changes in the Computer Graphichs world.

Lightflow Rendering Interface の目的は、外観というジオメトリやライティングを完全にコントロールすることです。これがオブジェクト指向を取り入れた理由です: レンダリング領域は、オブジェクト (物体)、ライトソース (光源)、マテリアル (材質) が主体の、抽象的なクラスによって構成されます。全てのクラスの実体が十分に定義されていなくても、それに属するそれぞれのインスタンスの構造と機能性を表します。例えばオブジェクトがそれに関連付けられたマテリアルを持つサーフェイス (表面) で構成されていれば、マテリアルはサーフェイスに届くライト (光) との関係でそれぞれのサーフェイスポイントの外観を制御するプロシージャ (手続き) になります。
Lightflow は一貫性があり柔軟なインターフェイスを与えながら、それらの基本的なクラスの新規インスタンスとサブタイプを効率的な方法で記述することができます。柔軟性は事実、コンピュータグラフィックワールドにおいて大きな開発や変化が起こった後でさえも一貫性を持続する、この革新的なシステムのパワーの大きな源です。

This manual describes a Python module that will let users take advantage of the Lightflow Rendering Tools power without having to acquire a deep insight into them. This means it is only a partial wrapping of the underlying interface, which does not provide access to all of its functionalities, such as extension, but that makes possible the description of the most complex scenes using the built-in tools.
Python is an effective high level object oriented programming language that has been choosed because of its simplicity, that allows non-programmers to learn it in a few days, though guarantying an immense flexibility to the expert ones.
So if you do not know Python do not despair, take its manual and read it carefully, and you'll see that things will go on by themselves.

このマニュアルは深い洞察力の習得の必要無く Lightflow Rendering Tools のパワーをユーザーに利用させる、Python モジュールを記述します。これは拡張といったような、その関数の全てへのアクセスを提供していない基本的なインターフェイスの部分的なラッピングであるという意味なのですが、付属のツールを使用して最も複雑なシーンの記述を可能にします。
Python は専業プログラマーにも非常に柔軟であることを保証しながら、プログラマーではない人でも数日で学ぶことができるくらい簡単なので採用した、有用なハイレベルオブジェクト指向プログラミング言語です。
そのため Python を知らなくても落胆することはありません、このマニュアルを手に取って念入りに読んで下さい。そうすればそこで起こることが分かるでしょう。


必要条件

This manual is aimed to teach how to use the Lghtflow Rendering Tools, while it is not meant as a three-dimensional computer graphics reference book. The reader is supposed to be already expert in this field and to have some acquaintance with object oriented programming, if not with python. As regards the necessary mathematical knowledge, the reader should have at least familiarity with vectorial math, that is to say geometry. If any of these requirements is not satisfied he could consult one of the many texts on the subjects before starting reading this book.

このマニュアルは Lghtflow Rendering Tools を使う方法を伝授することを狙いとしており、三次元コンピュータグラフィックスの参考文書としては意図されていません。読者は既にこの分野のエキスパートであって、Python ではなくても、オブジェクト指向プログラミングのある程度の知識を持っていることを前提としています。必要な数学の知識に関して、読者は少なくともジオメトリ (幾何学) という、ベクトルの数学に詳しくなければならないでしょう。もしこれらの必要条件のどれも満たしていなければ、この本を読み始める前に本題にある沢山のテキスト中の一つを調べましょう。

次へ