Tag: web3d - Strona 3

jReality

jReality (link) jest narzędziem do trójwymiarowej wizualizacji (a także sonifikacji, gdyż jReality oferuje wsparcie dla obsługi dźwięku), które powstało na wydziale matematyki Technicznego Uniwersytetu w Berlinie. Projekt ten przeznaczony jest do zastosowań naukowych – w prosty sposób pozwala miedzy innymi na wyświetlenie oraz manipulacje w przestrzeni trójwymiarowej obiektów opisanych funkcjami matematycznymi. Poza ta specjalizacja, API nadaje się do wielorakich zastosowań i jest solidnym, wciąż rozwijanym silnikiem, do którego twórcy oferują obszerny zestaw tutoriali.

Aviatrix 3D

Aviatrix3D (link) stworzony został z myślą o wizualizacjach i symulatorach (obsługa niestandardowych wyświetlaczy). Minimalistyczne API, dające nieograniczony dostęp do potoku renderującego OpenGL. Jak piszą twórcy na stronie domowej produktu „Dajemy Ci sznur, stołek i wskażemy drzewo. (…) Jeśli na prawdę chcesz wszystko spaprać, nie będziemy Cie powstrzymywać” (tłumaczenie własne). Zarazem jednak, jeśli znasz się na rzeczy i chcesz wykorzystać te wiedzę, Aviatrix3D jest tak zaprojektowany, żebyś mógł całkowicie kontrolować proces renderowania, a nawet korzystać bezpośrednio z komend OpenGL.

Ardor 3D

Z jMonkey wywodzi się inny popularny engine Ardor3D (link). Odłączenie się od jMonkey i powołanie do życia niezależnego projektu podyktowane było chęcią stworzenia bardziej profesjonalnie zorientowanego (tzn. nastawionego nie tylko na tworzenie gier) API. W internecie trudno znaleźć poradniki omawiające różnorodne funkcje zaimplementowane w Ardor3D, jednak twórcy udostępniają na stronie domowej projektu wiele przykładów, co na pewno przypadnie do gustu programistom lubiącym uczyć się poprzez analizę kodu źródłowego. Najnowsza wersja umożliwia tworzenie przy pomocy Ardor3D oprogramowania na mobilną platformę Android.

jMonkey Engine

Jednym z najpopularniejszych rozwiązań służących do tworzenia oprogramowania w języku Java, wykorzystującego wysokiej jakości trójwymiarowa grafikę, jest jMonkey. Jest to właściwie cały pakiet (SDK – Software Development Kit), ukierunkowany na tworzenia gier silnik, oferowany pod nazwa jMonkey Engine (link), do którego istnieje zintegrowane środowisko programistyczne (IDE – Integrated Development Environment) wraz z wizualnym edytorem jMonkey Platform (link). Całość udostępniona jest na licencji New BSD (link), jest to zatem oprogramowanie otwarte.

Czytaj dalej »

Xith 3D

Xith3D (link) jest interfejsem bardzo podobnym do Java 3D, jednak znacznie wydajniejszym. Przyspieszenie osiągnięto prawdopodobnie dzięki rezygnacji z wielowątkowości i skupieniu się na optymalizacji wyświetlania w jednym wątku. Istotna zaleta tego API jest fakt, że pozwala na ingerencje w proces renderowania obrazu. Xith3D, podobnie jak Java 3D obecnie straciły na dynamice rozwoju i wydaja się być w stagnacji, nie mniej są wciąż ciekawa alternatywa, a ich bliskie pokrewieństwo sprawia, że niektóre przykłady i tutoriale działają na obu platformach.

Java 3D

Historycznie pierwszym i najbliżej związanym z Java interfejsem programistycznym jest Java 3D. Projekt zapoczątkowany był przez Sun i innych liderów branży programistycznej, a jego pierwsza wersja została udostępniona publiczności w 1998 roku. Na początku roku 2000, rozwój Java 3D został zaniechany na rzecz wciąż rozwijanego projektu JavaFX, którego głównym przeznaczeniem są tzw. bogate aplikacje internetowe (RIA – Rich Internet Applications). W 2008 roku producent udostępnia kod źródłowy biblioteki na licencji GPL (link) i od tego momentu projekt rozwijany jest przez społeczność skupiona wokół Sun oraz Javy.

Czytaj dalej »

Java, czyli jak wirtualna maszyna radzi sobie z Web3D

Java nie jest przeznaczona wyłącznie do zastosowań internetowych – z powodzeniem można w tym języku tworzyć aplikacje lokalne. Jednak ze względu na swoja strukturę oraz założenia które przyświecały jej twórcom, doskonale nadaje się do wykorzystania w sieci. Kod źródłowy programów napisanych w Javie jest kompilowany do uniwersalnego formatu – poleceń dla maszyny wirtualnej. Tak skompilowany program jest następnie wykonywany przez interpreter Javy. Dopiero interpreter przekłada polecenia maszyny wirtualnej na instrukcje niskiego poziomu, charakterystyczne dla danej platformy, na której uruchamiana jest aplikacja. Główną zaletą takiego rozwiązania jest fakt, że raz napisany kod jest przenośny. Program, może być uruchamiany na dowolnej platformie, pod warunkiem, że istnieje dla niej interpreter Javy. Założenie takie jest szczególnie istotne, jeśli wziąć pod uwagę aplikacje osadzone na stronach internetowych, które mogą być przecież oglądane pod różnymi systemami operacyjnymi, na sprzęcie o rozmaitych architekturach.

Czytaj dalej »

Chromeeffects, czyli falstart Microsoftu w internetowe 3D

Już na początku 1998 roku, gigant z Redmond ogłosił plan, który miał zrewolucjonizować rynek umieszczania treści multimedialnych na stronach www. Dzięki Chromeffects, każdy użytkownik najnowszego systemu Windows 98 (po zainstalowaniu Service Pack 1) miał moc korzystać z dobrodziejstw biblioteki programistycznej DirectX (stworzonej również przez Microsoft, do wykorzystania w grach), aby wyświetlać trójwymiarowe sceny pobrane z internetu wprost w swojej przeglądarce (pod warunkiem, że była to przeglądarka z rodziny IE) (link). Co więcej, Chromeeffects miał być oparty na znacznikach XML, co pozwalało by twórcom na proste tworzenie modeli 3D, bez konieczności wgłębiania się w zagadnienia programistyczne i meandry biblioteki Direct 3D (link).

Czytaj dalej »

Adobe Atmosphere, czyli 3D przed Flashem

Atmosphere (Atmo) było próbą firmy Adobe na zmierzenie się z trójwymiarową rzeczywistością wirtualną w internecie. W tym celu zaadaptowana została technologia firmy Viewpoint Corporation. Historycznie jednak, Atmo wywodzi się z projektu 3D Anarchy nieistniejącej już dziś firmy Attitude Software. Przez dwa lata w 2002 – 2003 roku platforma była w fazie ciągłych beta testów. Na początku 2004 została wypuszczona pełna oficjalna wersja, jednak projekt został zarzucony już pod koniec tego samego roku (link).

Czytaj dalej »

Hello Virtual Reality World, czyli podstawy VRML

VRML to format opisu interaktywnej grafiki 3D ukierunkowany na sieć WWW. Pozwala na wyświetlanie podstawowych kształtów takich jak sześcian, stożek lub sfera, ale umożliwia również bardziej wyszukane modelowanie obiektów przy pomocy grup punktów lub płaszczyzn. Obsługuje proste oświetlenie sceny bez rzucania cieni (światło typu ambient, direct, point, spot). Możliwe jest nakładanie tekstur na obiekty (również tekstur animowanych – plików w formacie MPEG) oraz ich transformacja. Modele mogą być wyświetlane z różną dokładnością – mechanizm level of details daje kontrole nad stopniem skomplikowania wyświetlanego obiektu, a co za tym idzie, nad szybkością i płynnością działania. Przy pomocy skryptów możliwe jest animowanie elementów sceny, także poprzez interpolacje klatek kluczowych (ang. keyframes) (link).

Czytaj dalej »

Dostępne technologie Web3D

Web3D rozwija się aktualnie w bardzo dynamiczny sposób, a największymi gwiazdami które zetrą się ze sobą w najbliższej rundzie, będą prawdopodobnie Adobe Flash (w kolejnej odsłonie, o kryptonimie Molehill) oraz WebGL. Nie są to jednak jedyni gracze – na rynku od lat istnieją aplikacje które pozwalają na osadzanie interaktywnej, trójwymiarowej grafiki na stronach www.

Czytaj dalej »