W poprzednich wpisach wspominałem o technologii pozwalającej na tworzenie gier i filmów. Tech. (takiej nazwy będę używał) z założenia jest środowiskiem symulacji procesów fizycznych. W jej skład wchodzi edytor i silnik.
Edytor odpowiada za kontrolę nad symulowanymi procesami. W szczególności do jego zadań należy tworzenie zasad i stanu początkowego a także ustawianie parametrów procesu. Zadaniem silnika jest symulacja procesów o znanych i stosunkowo prostych zasadach z jak największą efektywnością. Można wyróżnić trzy cechy charakteryzujące działanie silnika:
- szybkość
- jakość
- elastyczność
Szybkość jest odwrotnością czasu potrzebnego do przeprowadzenia procesu obliczeniowego. Jakość wyników symulacji jest tym większa im większa jest ich zgodność z wynikami analitycznymi. Elastyczność (uniwersalność) silnika jest zdolnością do przeprowadzania szerokiej klasy procesów (brak ograniczeń). Zazwyczaj zwiększenie jednego z parametrów powoduje spadek pozostałych. Głównym celem przy tworzeniu silnika jest uzyskanie największej efektywności tzn. dążenie do jak największej szybkości i jakości przy stałej mocy obliczeniowej dla optymalnego zbioru przypadków danych wejściowych. Dodatkowo powinien on pozwalać na płynną regulację współczynnika jakość / szybkość (np. automatyczne dobierając jakość wyników do ustalonej szybkości działania).
Prace nad tech. z oczywistych powodów zacząłem od silnika. W najbliższym czasie powstanie drugi podprojekt – kolejny renderer.