3DMLW

Allikas: Vikipeedia

3DMLW (3D Markup Language for Web) on XML-il põhinev märgistuskeel interaktiivse 3D ja 2D sisu esitamiseks veebis. See on põhiliseks nurgakiviks samuti 3DMLW nime kandvale 3D Technologies R&D poolt arendatavale laiemale tarkvaraplatvormile.

3DMLW platvorm[muuda | redigeeri lähteteksti]

3DMLW platvorm on avatud lähtekoodiga tarkvarakomplekt, mis on loodud erinevates dünaamilist 3D-sisu näitamist nõudvates projektides rakendamiseks. 3DMLW oma skriptimiskeel pakub mõningaid omapäraseid võimalusi tarkvaraarenduseks ja laiendatav mudeliformaatide tugi võimaldab kasutamist 3D integratsioonivahendina.

Disainerid saava 3D-objekte arendada ja neid veebis avaldada ka siis, kui neil on vaid minimaalsed programmeerimisoskused. Sisuarendajaile pakutakse lihtsustatud arendusprotsessi, loomaks kõikvõimalikke lahendusi alates staatilistest animeeritud kuvadest ja rikkalikest interaktiivsetest esitlustest kuni täismahus mängudeni.

3DMLW keel[muuda | redigeeri lähteteksti]

3DMLW on XML 1.0 standardil põhinev märgenduskeel, mis võimaldab andmevahetust 3DMLW plug-in-liidesega lingitud tarkvararakenduste vahel. Saadavalolev XML-skeem võimaldab vastavat võimalust pakkuvates XML-redaktorites (nt jEdit) kontrollida notatsiooni korrektsust.

3DMLW renderdi[muuda | redigeeri lähteteksti]

Renderdusmootor kasutab standardset OpenGL API-t, mis tagab optimaalse jõudluse ja platvormisõltumatuse. Renderdi on ühendatav 3DMLW plug-in-liidesega ning koosneb stseeni- ja graafikateegist, mis tagab esimese struktuuridele optimeeritud renderduskonveieri. Stseeniteek on kasutatav ka iseseisvalt võrkude töötleja ja teisendajana ilma seejuures neid renderdamata.

3DMLW plug-in-liides[muuda | redigeeri lähteteksti]

Plug-in-liides vahendab sisend/väljundsündmusi peremees- (nt veebibrauserid) või iseseisvatest akendest. Liides on laiendatav, et võimaldada integreerimist kolmadate osapoolte tarkvarasse. Vaikimisi on olemas levinumate veebibrauserite tugi.

3DMLW serveri tööriistad[muuda | redigeeri lähteteksti]

Tööriistakomplektis sisalduvad erinevate failitüüpide (obj, 3ds, xyz, pts) pakkteisendajad ja mitme faili üheaegset töötlemist võimaldav tekstuuriatlasegeneraator. Tööriistu võib rakendada serveri poolel 3D-mudelite ja tekstuuride automaatseks teisendamiseks.

3DMLW failivorming[muuda | redigeeri lähteteksti]

3DMLW fail on lihtne tekstifail, mis sisaldab 3DMLW keele süntaksiga piiritletud käske:

<?xml version='1.0' standalone='no'?>
<document>
	<content2d>
		<area width='200' height='100' color='#C0C0C0FF' texture='flower.png' />
	</content2d>
	<content3d id='content' camera='{#cam}'>
		<camera id='cam' class='cam_rotation' y='10' z='40' viewy='10'/>
		<box name='ground' width='100' height='2' depth='100' color='green' class='ground' />
		<box name='dynamic' y='20' width='10' height='10' depth='10' color='blue' />
	</content3d>
</document>

2D- ja 3D-sisu käsitletakse üksteisest sõltumatult, kuid nende kattumine ei ole piiratud. 3D-stseenide animeerimist ja sündmuste töötlemist võimaldab Lua skriptimisvahend. Järgnev skriptilõik demonstreerib värvide hajumist:

<script type='text/x-lua'><![CDATA[
	receiver = Reference.get("@receiver");
	c = receiver:attributeColor("color");
	c:setAlpha(c:getAlpha()+1);
	if c:getAlpha()>255 then
		c:setAlpha(0);
	end
	receiver:putAttribute("color", tostring(c));
	]]>
</script>

Toetatud on 3ds-, obj-, an8- ja blend-failivormingutes 3D-mudelite kasutamine. Teistele vormingutele toe lisamine on lihtne 3DMLW plug-in-liidese abil.

3DMLW failide laiendiks on .3dmlw ja sarnaselt HTML-iga on nad omavahel lingitavad.

3DMLW kuvamine[muuda | redigeeri lähteteksti]

3DMLW on kuvatav 3D Technologies R&D pakutavate tarkvaratoodetega, mille hulka kuuluvad plug-inid Internet Explorerile ja NPAPI ühilduvusega brauseritele (Mozilla Firefox, Opera jne.), iseseisev vaatur ning sellised kohandatud lahendused nagu 3D Kiosk.

Kolmandate osapoolte tarkvaratoodetele on 3DMLW kuvamisvõime lisatav 3DMLW plug-in-liidese abil.

Välisviited[muuda | redigeeri lähteteksti]

Üldine[muuda | redigeeri lähteteksti]

Dokumentatsioon[muuda | redigeeri lähteteksti]