Tag: web3d - Strona 2

Three.js

Three.JS tutorial logoPopularnym wyborem twórców zaangażowanych w popularyzacje WebGL jest biblioteka three.js (link). W Internecie podziwiać można wiele dem (atrakcyjnych wizualnie prezentacji) wykonanych przy pomocy tej właśnie technologii. Część z nich znaleźć można na stronie projektu ROME (link), który również prezentuje możliwości drzemiące w WebGL, uwolnione przy pomocy three.js. W projekt zaangażowane jest Google, które prowadzi portal Chrome WebGL Experiment (link), gdzie zamieszczać można ciekawe realizacje wykorzystujące zaawansowany JavaScript i HTML5, w tym technologie WebGL. Three.js posiada dokumentacje, dostępne są także tutoriale przedstawiające podstawy oraz objaśniające jak rozpocząć prace z biblioteka (link). Jednak najbardziej pomocne jest prześledzenie i przeanalizowanie kodu źródłowego wielu dostępnych przykładów.

Copper Licht

Ambiera logoCopperLicht stworzony został przez austriacka firmę Ambiera, która odpowiedzialna jest też za komercyjny wizualny edytor CopperCube, który pierwotnie przeznaczony był dla Flasha. Engine do obsługi interfejsu WebGL sam w sobie jest darmowy i posiada pełną dokumentacje, autorzy proponują jednak wykorzystanie narzędzia CopperCube (z bezpłatnej wersji testowej można korzystać przez 14 dni). Biblioteka zdaje się być przeznaczona przede wszystkim do tworzenia gier – posiada wbudowane mechanizmy wykrywania kolizji oraz symulacje fizyki. Ciekawa opcja jest kompilacja trójwymiarowych modeli do postaci binarnej, co pozwala na zaoszczędzenie ilości przesyłanych danych. CopperLicht jest w stanie obsłużyć wiele innych formatów plików.

Dziura w zabezpieczeniach WebGL

Context Information Security homepage imageCzy WebGL pozwala na kradzież zasobów między domenami? Bezpieczeństwo to istotny aspekt kazdej nowej technologii. WebGL jest w trakcie ciągłego wdrażania i ulepszania. W proces ten, poza Khronos Groupe, mocno zaangażowana jest Mozilla, Google i Apple. Najnowsze wersje ich przeglądarek, a także Opera, już wspierają technologie WebGL (link). Chociaż implementacje te nie są jeszcze wolne od błędów, to są one na bieżąco wychwytywane i poprawiane.

Czytaj dalej »

WebGL, czyli niskopoziomowe 3D w każdej przeglądarce

WebGL logoWebGL jest biblioteką graficzną bardzo niskiego poziomu – daje bezpośredni dostęp do wierzchołków i wykorzystuje programy cieniujące (tzw. shadery) do manipulacji geometrii (vertex shader) oraz fragmentów (fragment shader), które pisać można w języku GLSL (link). Wszystkie koncepcje z których czerpie WebGL, są już uznanymi standardami, które rozwijały się wraz z ewolucją technologii OpenGL. Oznacza to przede wszystkim, że są to rozwiązania sprawdzone i wielokrotnie wykorzystywane zarówno w wizualnie zaawansowanych grach, jak i programach graficznych. Całe stworzone oprogramowanie, może być niewielkim nakładem środków (tzn. bez potrzeby pisania całego kodu od początku) przeniesione w środowisko przeglądarki, za przykład czego może służyć chociażby konwersja gry Quake 2 (link).

Czytaj dalej »

Czy ze stron 3D można wyżyć, czyli kwestia zabezpieczania treści

Istotną kwestią, na którą należy zwrócić uwagę przy podsumowaniu poszczególnych rozwiązań, jest ich zdolność do dostarczenia treści wystarczająco zabezpieczonych. Na świecie istnieje wystarczająco duża ilość entuzjastów wolnego oprogramowania, żeby stworzyć darmowe narzędzia do wykorzystania w domenie Web3D. Aby jednak odniosły one sukces – a co za tym idzie, zyskały powszechną popularność – potrzebna jest ciekawa treść za ich pomocą przedstawiona. A to zazwyczaj wiąże się z koniecznością odwołania się do modelu o bardziej biznesowym charakterze.

Czytaj dalej »

Co wybiorą użytkownicy, czyli kwestia dostepności

Jednym z najważniejszych czynników przy wyborze technologii którą planuje się zastosować jest jej dostępność, rozumiana tutaj jako możliwość oglądania treści, bez konieczności instalowania dodatkowych komponentów. Badania przeprowadzone przez Unity3D pokazują, że wielu użytkowników rezygnuje z dalszego przeglądania strony, jeśli wymagane jest do tego pobranie i uruchomienie wtyczki (patrz rozdział o Unity3D). Powody mogą być różne: poczynając od obawy przed niebezpiecznym oprogramowaniem, na nieposiadaniu wystarczających praw administracyjnych kończąc, gdyż wiele osób korzysta z internetu także w pracy, gdzie mogą mieć ograniczony dostęp.

Czytaj dalej »

Historia rozwoju technologii trójwymiarowych w internecie

Dynamiczny i wciąż niezwalniający rozwój globalnego Internetu, towarzyszy nam już od kilkunastu lat i coraz głębiej wkrada się w życie zwyczajnego człowieka. Sieć przestała być wyłącznie tekstowa i dostępna dla garstki zaangażowanych naukowców. Z biegiem czasu minęła era niezdarnych „stron domowych”, naładowanych krzykliwymi, animowanymi obrazkami, z muzyka w formacie midi w tle. Zaczęto dbać o graficzną stronę portali, która nie była już tylko uzupełnieniem do treści pisanej, ale stała się jej integralna częścią. Ewoluował również sposób, w jaki korzysta się z Internetu – przestano traktować go jako „gazetę w komputerze”, a dostrzeżono jego potencjał społeczny. Narodziło się coś, co określa się mianem „web 2.0”, a jednocześnie rozwój technologii i ciągle wzrastająca przepustowość łącz, pozwoliła na pojawienie się bogatszej oferty multimedialnej.

Czytaj dalej »

3DVia, czyli zestaw narzędzi do interaktywnego 3D w internecie

3D Via (link) to zestaw zawierający narzędzia i usługi, przeznaczone do modelowania, programowania i publikacji trójwymiarowych aplikacji. Francuska firma Dassault Systems, producent programu CATIA (link), znana przede wszystkim z dostarczania profesjonalnych rozwiązań służących do przemysłowego projektowania, chcąc rozszerzyć swój rynek na użytkowników indywidualnych, zaoferowała cale środowisko designerskie. Umożliwia ono nie tylko tworzenie bogatych modeli 3D, ale całych interaktywnych scen i wizualizacji, a nawet gier, i osadzanie ich na stronach internetowych przy pomocy web playera.

Czytaj dalej »

Awakening

Ciekawą propozycją jest pakiet firmy AwingSoft, o nazwie Awakening (link). Zawiera on edytor sceny oraz lokalny i internetowy (osadzony na stronie www) player. Wbrew wrażeniu jakie robi strona domowa, projekt ten posiada spore możliwości. Autorzy skupili się na szybkości działania, ale mimo to, wachlarz dostępnych efektów graficznych jest całkiem szeroki. Do tego dochodzi model fizyczny oraz możliwość pisania skryptów w języku Lua. Cały pakiet jest płatny – na dzień dzisiejszy (lipiec 2011), wplata 1000$ zapewnia nam dożywotnią pomoc techniczna i uaktualnienia. Web player dostępny jest jedynie na platformę Microsoft Windows, ostatnio została w nim wykryta luka w zabezpieczeniach w wersji dla IE (link).

Burster, czyli Blender online

Analogicznie, dla darmowego środowiska do tworzenia trójwymiarowej grafiki Blender (link) istnieje plugin stworzony przez polska firmę iTechnologie – Burster (link). Umożliwia on osadzanie na stronie WWW scen z Blendera, które już same w sobie mogą zawierać zaawansowane skrypty w języku Python i animacje. Burster, podobnie jak cały Blender, jest oprogramowaniem otwartym, ale pozwala na enkrypcje kodu źródłowego Jest to funkcja przydatna tym twórcom, którzy chcą na chronić swoje dzieła lub nawet tworzyć gry (do czego Blender może być z powodzeniem wykorzystany) i udostępniać je odpłatnie Wtyczka dostępna jest na wiodące przeglądarki, na platformach Windows oraz Linux.

Hypercosm

W podobny sposób działa oprogramowanie Hypercosm (link). Pozwala ono na eksport modelu stworzonego w 3D Studio Max lub Google SketchUp (link), do zabezpieczonego formatu odtwarzanego przez Hypercosm 3D Player. Oprócz manipulacji obiektem, możliwe jest dodanie prostej interaktywności przy pomocy skryptów Wtyczka dostępna jest na platformy Microsoft Windows (IE, FF) oraz MacOS (Safari, FF). Narzędzie do eksportu modele jest bezpłatne w wersji podstawowej, w wersji Pro kosztuje ok. 200$ (stan na lipiec 2011) dla każdego z edytorów graficznych.

TurnTool, czyli obracaj mój model

Prostym rozwiązaniem dla artystów chcących szybko zaprezentować swoje trójwymiarowe modele szerszej publiczności jest TurnTool (link). Działa on jako plugin w Autodesk 3D Studio Max (link), skąd można wprost generować pliki, odtwarzalne w webowym playerze. Za jego pomocą, obiekt może być obracany, przesuwany lub powiększany. Udostępniono także możliwość wpływania na wszystkie parametry prezentowanej sceny, poprzez skrypty. Chociaż wywodzi się z silnika gry, aplikacja przeznaczona jest głownie dla architektów. Z powodzeniem może służyć też do prezentacji dowolnych modeli stworzonych w 3D Studio i jest darmowa, jeśli godzimy się na wyświetlanie jej logo w rogu okna. Niestety, wtyczka dostępna jest jedynie dla przeglądarek Microsoft Internet Explorer oraz Mozilla Firefox (na platformie Microsoft Windows).

Torque3D

Kolejnym znanym silnikiem, który pozwala na osadzanie aplikacji stworzonych przy jego pomocy na stronach www, jest Torque 3D (link). Jest to bardzo obszerny projekt, który poza standardowymi metodami, pozwala na wykorzystanie zaawansowanych efektów graficznych takich jak wzbogacanie wrażenia głębokości tekstur przy pomocy zjawiska paralaksy (ang. parallax occlusion mapping) (link), odbicia lub bogaty model cząstek. Oferuje rożne technologie oświetlenia, miedzy innymi prekompilowanie map oświetlenia (ang. lightmapping) lub wykorzystanie „odroczonego” oświetlania (ang. predefered lighting) (link). Do dyspozycji twórców oddano zestaw edytorów służących do modelowania wizualnej strony aplikacji. Dla programistów natomiast udostępniono cały kod źródłowy napisany w języku C++, który może być dowolnie modyfikowany. Jest to pożądanym rozwiązaniem, szczególnie biorąc pod uwagę fakt, że engine ma opinię wymagającego wprowadzenia wielu drobnych poprawek zanim projekt zacznie działać (link).

Czytaj dalej »

ShiVa3D, zaawansowany engine do tworzenia gier 3D

ShiVa 3D (link) francuskiej firmy Stonetrip jest mniej popularnym, ale równie zaawansowanym engine’em do tworzenia gier, który pozwala na publikacje do internetu. Posiada wszystkie podstawowe i zaawansowane funkcje graficzne, w tym w pełni programowalne (a także predefiniowane, np. do tworzenia efektu wody) programy cieniujące (ang. shader), dynamiczne tekstury i cienie, system symulacji cząstek (ang. particle system) i rozbudowana obsługę animacji. Shiva 3D umożliwia korzystanie z modelu fizycznego ODE, obsługi dźwięku, sieci (poprzez własny Shiva Server), obróbki klatek po wygenerowaniu obrazu 3D oraz prostego tworzenia wyświetlacza (ang. Head-up display) w nadrzędnej warstwie gry.

Czytaj dalej »

Unity3D, pełnowartościowe gry 3D w Twojej przeglądarce

Unity 3D (link) jest najpopularniejszym engine’em, w którym treści zrobione mogą być publikowane do sieci i uruchamiane przy pomocy odtwarzacza Unity Player. Posiada on atrakcyjne cechy, patrząc z perspektywy instalacji przez zwykłego użytkownika: zajmuje mniej niż 4mb, instaluje się w prosty sposób przy pomocy technologi Java Webstart (sam engine nie jest napisany w Javie), nie wymaga ponownego uruchomienia przeglądarki, ani nie instaluje dodatkowego oprogramowania (pasków narzędzi itp.). Autorzy chwalą się na stronie, że ich webplayer został zainstalowany 60mln razy, co jest imponującą ilością, jednak nie przekłada się naturalnie na 60mln użytkowników. Ostrożne szacunki twórców, mówią o ogólnej penetracji rynku na poziomie około 1% (link). Jednocześnie, według ich obliczeń, aż 60% użytkowników z powodzeniem instaluje wtyczkę, jeśli trafia na stronę która jej wymaga.

Czytaj dalej »

Wtyczki, czyli nieograniczone możliwości 3D

Do jednej, osobnej grupy, przynajmniej jeśli rozważa się publikacje w środowisko przeglądarki internetowej, zaliczyć można wszystkie rozwiązania wykorzystujące tzw. wtyczki (ang. plugins). Są to niewielkie (zazwyczaj) programy, które instaluje się wewnątrz przeglądarki, co umożliwia wyświetlanie treści w ich kontekście Mowa tutaj przede wszystkim o pluginach, które nie zdobyły na razie tak dużej popularności jak Flash lub Silverlight, ich baza użytkowników jest zatem niewielka.

Czytaj dalej »

LWJGL – Lightweight Java Game Library

LWJGL Lightweight Java Game Library (link), chociaż posiada odniesienie do tworzenia gier w nazwie, jest również kompletnym interfejsem dla OpenGL. Korzysta z podobnej struktury kodu źródłowego jak JOGL i aplikacje mogą być w prosty sposób konwertowane między tymi dwoma engine’ami, a nawet bezpośrednio z OpenGL. Twórcy skupili się na wydajności i jako cel założyli kompatybilność z OpenGL ES (link), zatem wersją dla systemów dedykowanych – stąd wynik rezygnacja z wielowątkowości, bardzo niewielki rozmiar całej biblioteki (ok. 200kB) oraz minimalizm całego projektu.

JOGL – Java OpenGL

JOGL – czyli Java OpenGL (link) – jest projektem rozwijanym pod opieką Sun Microsystem i został zaproponowany jako oficjalny wzór interfejsu między Javą a OpenGL SE (link) – istnieje zatem szansa, że stanie się integralną częścią kolejnego (lub co bardziej prawdopodobne, któregoś z kolejnych) oficjalnego wydania Javy. Część kodu źródłowego JOGL zostało wygenerowane automatycznie z języka C, który jest natywny dla OpenGL, przy pomocy narzędzia GlueGen (link). Zapewnia to dużą wydajność tworzonych aplikacji, gdyż polecania przekazywane są do OpenGL w stosunku 1:1 – bez dodatkowego narzutu. Z drugiej jednak strony, tracona jest obiektowa struktura, naturalna dla programów pisanych w Javie.

Stratra 3D

Strata (link) to komercyjny engine, który również nie wymaga wsparcia dla OpenGL, aby wyświetlać trójwymiarowe treści. Strata Live 3D (link) jest programem, który pozwala na wizualne edycję, a także interaktywną animację i prostą publikację apletów do sieci, dzięki możliwości umieszczenia ich na serwerze producenta, a następnie osadzenia na stronie przy pomocy krótkiego kodu HTML. Aplikacja posiada funkcję optymalizacji i kompresji wyświetlanego modelu, a pozostałe oprogramowanie z rodziny Strata 3D oferuje bogaty wachlarz narzędzi, na przykład automatyczną generację trójwymiarowego, teksturowanego obiektu na podstawie serii zdjęć.

3DzzD

Kolejnym silnikiem jest rozwijany od kilku lat 3DzzD (link). Do działania wymaga jedynie Javy w wersji 1.1 i umożliwia generowanie trójwymiarowej, interaktywnej grafiki bez pomocy OpenGL (chociaż taka opcja jest również możliwa, przy pomocy biblioteki JOGL). 3DzzD jest projektem rozwijanym przez jedną osobę i tym prawdopodobnie można wytłumaczyć fakt, że jest kiepsko udokumentowany, a jego strona domowa nie ułatwia rozpoczęcia korzystania z oprogramowania. Okazuje się jednak, że po pokonaniu początkowych barier, jest to rozwiązanie godne odrobiny uwagi, chociażby ze względu na ciekawa aplikacje on-line, która umożliwia załadowanie modelu 3D, tekstur i wygenerowanie prostego apletu pozwalającego na wyświetlenie obiektu.