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 kujutab endast avatud lähtekoodiga tarkvarakomplekti, 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 võivad 3D objekte arendada ja neid veebis publitseerida omades minimaalseid programmeerimisoskusi. Sisuarendajaile pakutakse lihtsustatud arendusprotsessi loomaks kõikvõimalikke lahendusi alates staatilistest animeeritud kuvadest üle rikkalike interaktiivsete presenatsioonide kuni täismahus mängudeni välja.

3DMLW keel[muuda | redigeeri lähteteksti]

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

3DMLW renderdaja[muuda | redigeeri lähteteksti]

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

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

Plug-in liides vahendab sisend/väljund sündmusi peremees-(nt. veebibrauserid) või iseseisvatest akendest. Liides on laiendatav, et võimaldada integreerimist 3-ndate 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) pakk-konverteerijad ja mitme faili üheaegset töötlemist võimaldav tekstuuriatlasegeneraator. Tööriistu võib rakendada serveri poolel 3D mudelite ja tekstuuride automaatseks konverteerimiseks.

3DMLW failiformaat[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 erinevate 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 failiformaatides 3D mudelite kasutamine. Teistele formaatidele toe lisamine on lihtne 3DMLW plug-in liidese abil.

3DMLW failide laiendiks on .3dmlw ning sarnaselt HTML-ile on nad omavahel lingitavad.

3DMLW kuvamine[muuda | redigeeri lähteteksti]

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

3-ndate 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]