Karkasas
<scene>
<viewport>
...
</viewport>
<output>
...
</output>
<global_parameters>
...
</global_parameters>
<lights>
...
</lights>
<objects>
...
</objects>
<scene>
Dokumento šakninis
elementas vadinamas
scene
Privalomi elementai
Nebūtini elementai
Viewport
<viewport>
<window>
...
</window>
<camera>
...
</camera>
</viewport>
Window
<window>
<position>
...
</position>
<size>
...
</size>
</window>
Camera
<camera>
<position>
...
</position>
<camera>
Output
<output>
<size>
...
</size>
<supersampling>
...
</supersampling>
</output>
Privalomi elementai
Nebūtini elementai
Supersampling
<supersampling>
<quality></quality>
</supersampling>
Privalomi elementai
Pastabos:
- quality
reikšmė - sveikas skaičius pradedant nuo 1
- quality
reikšmė pagal nutylėjimą lygi 1
Global_parameters
<global_parameters>
<max_depth></max_depth>
<diffuse_reflection>
...
</diffuse_reflection>
<refraction>
...
</refraction>
</global_parameters>
Nebūtini elementai
Pastabos:
- max_depth
reikšmė - sveikas skaičius pradedant nuo 0
- max_depth
reikšmė pagal nutylėjimą lygi 0
Diffuse_reflection
<diffuse_reflection>
<samples_number></samples_number>
<max_depth></max_depth>
</diffuse_reflection>
Nebūtini elementai
- samples_number - difuzinio atspindžio generuojamų
atsispindėjusių spindulių skaičius
- max_depth - maksimalus
leidžiamas difuzinio atspindžio skverbimosi gylis
Pastabos:
- samples_number
reikšmė - sveikas skaičius pradedant nuo 1
- samples_number
reikšmė pagal nutylėjimą lygi 1
- max_depth reikšmė -
sveikas skaičius pradedant nuo 0
- max_depth reikšmė
pagal nutylėjimą lygi 0
Refraction
<refraction>
<stack>
...
</stack>
</refraction>
Stack
<stack>
<default_refraction_index></default_refraction_index>
<refraction_index></refraction_index>
.................................................................
<refraction_index></refraction_index>
</stack>
Privalomi elementai
- default_refraction_index -
standartinis (aplinkos) lūžio rodiklis
Nebūtini elementai
Pastabos:
- refraction_index
kiekis neribojamas
- jei
kamera ir ekranas yra objekte kuris yra kitame objekte ir t.t -
naudojami visų objektų refraction_index'ai
surašyti didžiausio objekto
link mažiausio eilės tvarka (pvz. Obj3(Obj2(Obj1(ekranas su
kamera))) -> Default,
Obj3,
Obj2,
Obj1)
Lights
<lights>
<point_light>
...
</point_light>
<light_sphere>
...
</light_sphere>
<light_box>
...
</light_box>
</lights>
Nebūtini
elementai
Pastaba: elementų skaičius
neribotas
Point_light
<point_light
name = "">
<position>
...
</position>
<color>
...
</color>
<illumination></illumination>
</point_light>
Privalomi elementai
Nebūtini elementai
- illumination - šviesos intensyvumas
Nebūtini atributai
- name - objekto
pavadinimas (leidžia lengviau aptikti klaidos vietą)
Pastabos:- illumination reikšmė - slankaus kablelio skaičius intervale nuo 0 iki 1
- illumination reikšmė pagal nutylėjimą lygi 0.5
Light_sphere
<light_sphere
name = "">
<position>
...
</position>
<radius></radius>
<color>
...
</color>
<illumination></illumination>
<texture>
...
</texture>
</light_sphere>
Privalomi elementai
Nebūtini elementai
- illumination - šviesos intensyvumas
- texture
Nebūtini atributai
- name - objekto
pavadinimas (leidžia lengviau aptikti klaidos vietą)
Pastabos:
- radius
reikšmė - slankaus kablelio skaičius didesnis už 0
- galima naudoti tik SPHERICAL tipo
tekstūras
- illumination reikšmė - slankaus kablelio skaičius intervale nuo 0 iki 1
- illumination reikšmė pagal nutylėjimą lygi 0.5
Light_box
<light_box
name = ""
type = "" complex_object_id = "">
<position>
...
</position>
<size>
...
</size>
<color>
...
</color>
<illumination></illumination>
<light_grid>
...
</light_grid>
<texture>
...
</texture>
</light_box>
Privalomi elementai
Privalomi atributai
Nebūtini elementai
- illumination - šviesos intensyvumas
- texture
Nebūtini atributai
- name - objekto
pavadinimas (leidžia lengviau aptikti klaidos vietą)
- complex_object_id - sudėtinio objekto identifikatorius/pavadinimas (leidžia šviesos šaltinius apjungti į vieną sudėtinį šaltinį)
Pastabos:
- galimos type reikšmės: (LEFT - kairė, RIGHT - dešinė, TOP - viršus, BOTTOM - apačia, FRONT - priekis, BACK - užpakalis)
- galima naudoti
tik TILED
ir STRETCHED
tipo tekstūras
- illumination reikšmė - slankaus kablelio skaičius intervale nuo 0 iki 1
- illumination reikšmė pagal nutylėjimą lygi 0.5
Light_grid
<light_grid>
<size>
...
</size>
</light_grid>
Ambient_light
<ambient_light>
<color>
...
</color>
</ambient_light>
Objects
<objects>
<sphere>
...
</sphere>
<plane>
...
</plane>
<polygon>
...
</polygon>
<circle>
...
</circle>
<ellipse>
...
</ellipse>
</objects>
Nebūtini elementai
Pastaba: elementų skaičius
neribotas
Sphere
<sphere
name
= "">
<position>
...
</position>
<radius></radius>
<color>
...
</color>
<diffuse_coef></diffuse_coef>
<specular_coef></specular_coef>
<reflection_coef></reflection_coef>
<diffuse_reflection_coef></diffuse_reflection_coef>
<refraction_index></refraction_index>
<transparency_coef></transparency_coef>
<texture>
...
</texture>
<bumpmap>
...
</bumpmap>
</sphere>
Privalomi elementai
Nebūtini elementai
- diffuse_coef - difuzijos
koeficientas (padengimo spalva lygis)
- specular_coef - veidrodinio
atspindžio koeficientas
- reflection_coef - atspindžio
koeficientas (atspindimos šviesos kiekis)
- diffuse_reflection_coef - difuzinio
atspindžio koeficientas (sklaidos lygis)
- refraction_index - lūžio rodiklis
- transparency_coef - permatomumo
koeficientas (praleidžiamos šviesos kiekis)
- texture
- bumpmap
Nebūtini atributai
- name - objekto
pavadinimas (leidžia lengviau aptikti klaidos vietą)
Pastabos:
- koeficientų
reikšmės privalo būti intervale nuo 0 iki 1
- lūžio rodiklio
reikšmė privalo būti didesnė arba lygi 0
- naudojant lūžio rodiklį lygų 0 arba lygų jo aplinkai,
objektas nelaužia spindulio
- diffuse_coef, specular_coef, reflection_coef, diffuse_reflection_coef, refraction_index, transparency_coef reikšmės pagal nutylėjimą lygios 0
- galima naudoti tik SPHERICAL tipo
tekstūras ir bumpmap'us
Plane
<plane
name =
"">
<equation>
...
</equation>
<color>
...
</color>
<diffuse_coef></diffuse_coef>
<specular_coef></specular_coef>
<reflection_coef></reflection_coef>
<diffuse_reflection_coef></diffuse_reflection_coef>
<refraction_index></refraction_index>
<transparency_coef></transparency_coef>
<texture>
...
</texture>
<bumpmap>
...
</bumpmap>
</plane>
Privalomi elementai
Nebūtini elementai
- diffuse_coef - difuzijos
koeficientas (padengimo spalva lygis)
- specular_coef - veidrodinio
atspindžio koeficientas
- reflection_coef - atspindžio
koeficientas (atspindimos šviesos kiekis)
- diffuse_reflection_coef - difuzinio
atspindžio koeficientas (sklaidos lygis)
- refraction_index - lūžio rodiklis
- transparency_coef - permatomumo
koeficientas (praleidžiamos šviesos kiekis)
- texture
- bumpmap
Nebūtini atributai
- name - objekto
pavadinimas (leidžia lengviau aptikti klaidos vietą)
Pastabos:
- koeficientų
reikšmės privalo būti intervale nuo 0 iki 1
- lūžio rodiklio
reikšmė privalo būti didesnė arba lygi 0
- naudojant lūžio koeficientą lygų 0 arba lygų jo
aplinkai, objektas nelaužia spindulio
- diffuse_coef, specular_coef, reflection_coef, diffuse_reflection_coef, refraction_index, transparency_coef reikšmės pagal nutylėjimą lygios 0
- galima naudoti tik TILED tipo tekstūras
ir bumpmap'us
- skiriamos dvi plokštumos pusės: išorinė ir vidinė
- išorinė
pusė yra toje pačioje pusėje, kaip ir normalės vektorius
- lūžiai
- spinduliui atsitrenkus į išorinę pusę jis lūžta
tarsi į uždarą objektą
- spinduliui atsitrenkus į vidinę pusę jis lūžta
tarsi iš uždaro objekto į aplinką
- bumpmap'ai
- bumpmap'as išorinėje ir vidinėje pusėse skiriasi ir
yra vienas kitam atvirkštiniai
Equation
<equation>
<normal>
...
</normal>
<D></D>
</equation>
Privalomi elementai
- normal - normalės vektorius
- D - D atributas
Normal
<normal>
<A></A>
<B></B>
<C></C>
</normal>
Polygon
<polygon
name
= "">
<points>
...
</points>
<visible_side></visible_side>
<color>
...
</color>
<diffuse_coef></diffuse_coef>
<specular_coef></specular_coef>
<reflection_coef></reflection_coef>
<diffuse_reflection_coef></diffuse_reflection_coef>
<refraction_index></refraction_index>
<transparency_coef></transparency_coef>
<texture>
...
</texture>
<bumpmap>
...
</bumpmap>
</polygon>
Privalomi elementai
Nebūtini elementai
- visible_side - objekto pusė,
kuri turi būti laikoma išorine (BACK
/ HEAD)
- diffuse_coef - difuzijos
koeficientas (padengimo spalva lygis)
- specular_coef - veidrodinio
atspindžio koeficientas
- reflection_coef - atspindžio
koeficientas (atspindimos šviesos kiekis)
- diffuse_reflection_coef - difuzinio
atspindžio koeficientas (sklaidos lygis)
- refraction_index - lūžio rodiklis
- transparency_coef - permatomumo
koeficientas (praleidžiamos šviesos kiekis)
- texture
- bumpmap
Nebūtini atributai
- name - objekto
pavadinimas (leidžia lengviau aptikti klaidos vietą)
Pastabos:
- koeficientų
reikšmės privalo būti intervale nuo 0 iki 1
- lūžio rodiklio
reikšmė privalo būti didesnė arba lygi 0
- naudojant lūžio koeficientą lygų 0 arba lygų jo
aplinkai, objektas nelaužia spindulio
- diffuse_coef, specular_coef, reflection_coef, diffuse_reflection_coef, refraction_index, transparency_coef reikšmės pagal nutylėjimą lygios 0
- galima naudoti tik TILED ir STRETCHED tipo
tekstūras ir bumpmap'us
- skiriamos dvi plokštumos pusės: išorinė ir vidinė (suteikiama galimybė iš
dvimačių figūrų kombinuoti trimačius objektus)
- išorinė
pusė yra toje pačioje pusėje, kaip ir normalės vektorius
- pagal nutylėjimą normalės vektoriaus
dedamoji z yra didesnė už 0; jei z lygi 0, tuomet x dedamoji yra
mažesnė už 0; jei z ir x dedamosios lygios 0, tuomet y dedamoji yra
didesnė už 0
- pagal nutylėjimą visible_side
lygi BACK (naudojamas normalės vektorius pagal nutylėjimą)
- lūžiai
- spinduliui atsitrenkus į išorinę pusę jis lūžta
tarsi į uždarą objektą
- spinduliui atsitrenkus į vidinę pusę jis lūžta
tarsi iš uždaro objekto į aplinką
- bumpmap'ai
- bumpmap'as išorinėje ir vidinėje pusėse skiriasi ir
yra vienas kitam atvirkštiniai
Points
<points>
<point>
...
<point>
</points>
Privalomi elementai
Pastabos:
- taškų skaičius
negali būti mažesnis už 3
- pirmieji 3
taškai negali būti vienoje tiesėje
- pirmieji 3
taškai naudojami suformuoti plokštumą, kurioje bus poligonas
- likę taškai
suprojektuojami į gautą plokštumą
Point
<point>
<position>
...
</position>
</point>
Circle
<circle
name
= "">
<plane>
...
</plane>
<radius></radius>
<visible_side></visible_side>
<color>
...
</color>
<diffuse_coef></diffuse_coef>
<specular_coef></specular_coef>
<reflection_coef></reflection_coef>
<diffuse_reflection_coef></diffuse_reflection_coef>
<refraction_index></refraction_index>
<transparency_coef></transparency_coef>
<texture>
...
</texture>
<bumpmap>
...
</bumpmap>
</circle>
Privalomi elementai
Nebūtini elementai
- visible_side - objekto pusė,
kuri turi būti laikoma išorine (BACK
/ HEAD)
- diffuse_coef - difuzijos
koeficientas (padengimo spalva lygis)
- specular_coef - veidrodinio
atspindžio koeficientas
- reflection_coef - atspindžio
koeficientas (atspindimos šviesos kiekis)
- diffuse_reflection_coef - difuzinio
atspindžio koeficientas (sklaidos lygis)
- refraction_index - lūžio rodiklis
- transparency_coef - permatomumo
koeficientas (praleidžiamos šviesos kiekis)
- texture
- bumpmap
Nebūtini atributai
- name - objekto
pavadinimas (leidžia lengviau aptikti klaidos vietą)
Pastabos:
- radius
reikšmė - slankaus kablelio skaičius didesnis už 0
- koeficientų
reikšmės privalo būti intervale nuo 0 iki 1
- lūžio rodiklio
reikšmė privalo būti didesnė arba lygi 0
- naudojant lūžio koeficientą lygų 0 arba lygų jo
aplinkai, objektas nelaužia spindulio
- diffuse_coef, specular_coef, reflection_coef, diffuse_reflection_coef, refraction_index, transparency_coef reikšmės pagal nutylėjimą lygios 0
- galima naudoti tik TILED, STRETCHED ir Circular tipo
tekstūras ir bumpmap'us
- skiriamos dvi plokštumos pusės: išorinė ir vidinė (suteikiama galimybė iš
dvimačių figūrų kombinuoti trimačius objektus)
- išorinė
pusė yra toje pačioje pusėje, kaip ir normalės vektorius
- pagal nutylėjimą normalės vektoriaus
dedamoji z yra didesnė už 0; jei z lygi 0, tuomet x dedamoji yra
mažesnė už 0; jei z ir x dedamosios lygios 0, tuomet y dedamoji yra
didesnė už 0
- pagal nutylėjimą visible_side
lygi BACK (naudojamas normalės vektorius pagal nutylėjimą)
- lūžiai
- spinduliui atsitrenkus į išorinę pusę jis lūžta
tarsi į uždarą objektą
- spinduliui atsitrenkus į vidinę pusę jis lūžta
tarsi iš uždaro objekto į aplinką
- bumpmap'ai
- bumpmap'as išorinėje ir vidinėje pusėse skiriasi ir
yra vienas kitam atvirkštiniai
Plane
<plane>
<center>
...
</center>
<p1>
...
</p1>
<p2>
...
</p2>
</plane>
Privalomi elementai
Pastaba: center,
p1 ir p2 naudojami
suformuoti plokštumą
Center
<center>
<position>
...
</position>
</center>
P1
<p1>
<position>
...
</position>
</p1>
P2
<p2>
<position>
...
</position>
</p2>
Ellipse
<ellipse name
= "">
<plane>
...
</plane>
<a></a>
<b></b>
<visible_side></visible_side>
<color>
...
</color>
<diffuse_coef></diffuse_coef>
<specular_coef></specular_coef>
<reflection_coef></reflection_coef>
<diffuse_reflection_coef></diffuse_reflection_coef>
<refraction_index></refraction_index>
<transparency_coef></transparency_coef>
<texture>
...
</texture>
<bumpmap>
...
</bumpmap>
</ellipse>
Privalomi elementai
Nebūtini elementai
- visible_side - objekto pusė,
kuri turi būti laikoma išorine (BACK
/ HEAD)
- diffuse_coef - difuzijos
koeficientas (padengimo spalva lygis)
- specular_coef - veidrodinio
atspindžio koeficientas
- reflection_coef - atspindžio
koeficientas (atspindimos šviesos kiekis)
- diffuse_reflection_coef - difuzinio
atspindžio koeficientas (sklaidos lygis)
- refraction_index - lūžio rodiklis
- transparency_coef - permatomumo
koeficientas (praleidžiamos šviesos kiekis)
- texture
- bumpmap
Nebūtini atributai
- name - objekto
pavadinimas (leidžia lengviau aptikti klaidos vietą)
Pastabos:
- a
ir b -
didysis ir mažasis spinduliai
- a
ir b
reikšmės - slankaus kablelio skaičiai didesni už 0
- koeficientų
reikšmės privalo būti intervale nuo 0 iki 1
- lūžio rodiklio
reikšmė privalo būti didesnė arba lygi 0
- naudojant lūžio koeficientą lygų 0 arba lygų jo
aplinkai, objektas nelaužia spindulio
- diffuse_coef, specular_coef, reflection_coef, diffuse_reflection_coef, refraction_index, transparency_coef reikšmės pagal nutylėjimą lygios 0
- galima naudoti tik TILED, STRETCHED ir Circular tipo
tekstūras ir bumpmap'us
- skiriamos dvi plokštumos pusės: išorinė ir vidinė (suteikiama galimybė iš
dvimačių figūrų kombinuoti trimačius objektus)
- išorinė
pusė yra toje pačioje pusėje, kaip ir normalės vektorius
- pagal nutylėjimą normalės vektoriaus
dedamoji z yra didesnė už 0; jei z lygi 0, tuomet x dedamoji yra
mažesnė už 0; jei z ir x dedamosios lygios 0, tuomet y dedamoji yra
didesnė už 0
- pagal nutylėjimą visible_side
lygi BACK (naudojamas normalės vektorius pagal nutylėjimą)
- lūžiai
- spinduliui atsitrenkus į išorinę pusę jis lūžta
tarsi į uždarą objektą
- spinduliui atsitrenkus į vidinę pusę jis lūžta
tarsi iš uždaro objekto į aplinką
- bumpmap'ai
- bumpmap'as išorinėje ir vidinėje pusėse skiriasi ir
yra vienas kitam atvirkštiniai
Plane
<plane>
<center>
...
</center>
<p1>
...
</p1>
<p2>
...
</p2>
</plane>
Privalomi elementai
Pastaba: center,
p1 ir p2 naudojami
suformuoti plokštumą
Center
<center>
<position>
...
</position>
</center>
P1
<p1>
<position>
...
</position>
</p1>
P2
<p2>
<position>
...
</position>
</p2>
Position
<position>
<x></x>
<y></y>
<z></z>
</position>
Privalomi elementai
- x - x koordinatė
- y - y koordinatė
- z - z koordinatė
Size
(1)
<size>
<width></width>
<height></height>
</size>
Privalomi
elementai
- width - plotis
- height
- aukštis
Pastaba: leidžiami tik
sveiki skaičiai
Size (2)
<size>
<width></width>
<height></height>
</size>
Privalomi
elementai
- width - plotis
- height
- aukštis
Pastaba: leidžiami
slankaus kablelio skaičiai
Color
<color>
<r></r>
<g></g>
<b></b>
</color>
Privalomi
elementai
- r - raudona
- g - žalia
- b - mėlyna
Pastaba: leidžiami
slankaus kablelio skaičiai intervale nuo 0 iki 1
Texture
Texture (TILED)
<texture
type
= "TILED" bilinear_filtering
= "">
<src></src>
<uscale></uscale>
<vscale></vscale>
</texture>
Privalomi elementai
- src - kelias failų
sistemoje iki tekstūros
Privalomi atributai
Nebūtini elementai
- uscale - ištempti /
sutraukti tekstūrą u
vektoriaus kryptimi
- vscale - ištempti /
sutraukti tekstūrą v
vektoriaus kryptimi
Nebūtini atributai
- bilinear_filtering - naudoti /
nenaudoti bilinear filtering (TRUE / FALSE)
Pastabos:
- uscale ir vscale reikšmės
pagal nutylėjimą yra 1
- bilinear_filtering
pagal nutylėjimą nenaudojamas (reikšmė FALSE)
Texture (STRETCHED/CIRCULAR)
<texture
type
= "" bilinear_filtering
= "">
<src></src>
</texture>
Privalomi elementai
- src - kelias failų
sistemoje iki tekstūros
Privalomi atributai
Nebūtini atributai
- bilinear_filtering - naudoti /
nenaudoti bilinear filtering (TRUE / FALSE)
Pastaba: bilinear_filtering
pagal nutylėjimą nenaudojamas
(reikšmė FALSE)
Texture (SPHERICAL)
<texture
type
= "SPHERICAL" bilinear_filtering
= "">
<src></src>
<initial_angle></initial_angle>
</texture>
Privalomi elementai
- src - kelias failų
sistemoje iki tekstūros
Nebūtini elementai
- initial_angle - kampas
(matuojamas radianais) nuo kurio pradedama piešti tekstūra
Privalomi atributai
Nebūtini atributai
- bilinear_filtering - naudoti /
nenaudoti bilinear filtering (TRUE / FALSE)
Pastabos:
- initial_angle
reikšmė pagal nutylejimą lygi 0
- bilinear_filtering
pagal nutylėjimą nenaudojamas
(reikšmė FALSE)
Bumpmap
Bumpmap (TILED)
<bumpmap
type
= "TILED" bilinear_filtering
= "" invert = "">
<src></src>
<uscale></uscale>
<vscale></vscale>
</bumpmap>
Privalomi elementai
- src - kelias failų
sistemoje iki bumpmap'o
Privalomi atributai
Nebūtini elementai
- uscale - ištempti /
sutraukti bumpmap'ą u
vektoriaus kryptimi
- vscale - ištempti /
sutraukti bumpmap'ą v vektoriaus kryptimi
Nebūtini atributai
- bilinear_filtering - naudoti /
nenaudoti bilinear filtering (TRUE / FALSE)
- invert - invertuoti
/neinvertuoti bumpmapą (TRUE / FALSE)
Pastabos:
- uscale ir vscale reikšmės
pagal nutylėjimą yra 1
- bilinear_filtering
pagal nutylėjimą nenaudojamas (reikšmė FALSE)
- invert
pagal nutylėjimą neatliekamas (reikšmė FALSE)
Bumpmap (STRETCHED/CIRCULAR)
<bumpmap
type
= ""
bilinear_filtering = "" invert = "">
<src></src>
</bumpmap>
Privalomi elementai
- src - kelias failų
sistemoje iki tekstūros
Privalomi atributai
Nebūtini atributai
- bilinear_filtering - naudoti /
nenaudoti bilinear filtering (TRUE / FALSE)
- invert - invertuoti
/neinvertuoti bumpmapą (TRUE / FALSE)
Pastaba:
- bilinear_filtering
pagal nutylėjimą nenaudojamas (reikšmė FALSE)
- invert
pagal nutylėjimą neatliekamas (reikšmė FALSE)
Bumpmap (SPHERICAL)
<bumpmap
type
= "SPHERICAL" bilinear_filtering
= "" invert = "">
<src></src>
<initial_angle></initial_angle>
</bumpmap>
Privalomi elementai
- src - kelias failų
sistemoje iki tekstūros
Nebūtini elementai
- initial_angle - kampas
(matuojamas radianais), laikomas bumpmap'o pradžia
Privalomi atributai
Nebūtini atributai
- bilinear_filtering - naudoti /
nenaudoti bilinear filtering (TRUE / FALSE)
- invert - invertuoti
/neinvertuoti bumpmapą (TRUE / FALSE)
Pastabos:
- initial_angle
reikšmė pagal nutylejimą lygi 0
- bilinear_filtering
pagal nutylėjimą nenaudojamas
(reikšmė FALSE)
- invert pagal
nutylėjimą neatliekamas (reikšmė FALSE)