Hlavná stránka | Úloha č. 1 | Úloha č. 2 | Úloha č. 3 | Úloha č. 4 | Úloha č. 5


Úloha č. 2 - Statický objekt VRML

Zadanie

Hudební nástroje převeďte do podoby prototypů. Každý prototyp bude mít alespoň 3 stupně LOD a bude obsahovat parametr:

field SFInt32 lod 0  (0=vypnutí LOD, 1=zapnutí LOD)

Dalšími parametry budou barva a textura.

#VRML V2.0 utf8
PROTO Model [
  exposedField SFInt32 lod 1
  exposedField SFColor barva 0 .6 .8
  # ... a dalsi parametry dle libosti
]
# lod: 0 - LOD vypnuto
#      1 - LOD zapnuto
{ Switch { whichChoice IS lod
    choice [Group {}     # varianta bez LOD
            LOD   {}     # varianta s LOD
    ]
  }
}
Prototyp použijte v testovacích souborech, na nichž prověříte: Jak měřit Snímkovou rychlost
  1. Umístěte do scény od každého prototypu 4 instance, celkem tedy 8 nástrojů v různých barvách a rozmanitých texturách.
  2. Pro každou vzdálenost, v níž platí určitý stupeň detailu, definujte 2 stanoviště umístěná poměrně blízko vedle sebe. Bude tedy existovat dvojice stanovišť pro nejlepší reprezentaci objektu, další dvojice pro střední kvalitu a konečně dvojice pro nejhorší stupeň LOD. Ze všech stanovišť by mělo být vidět na všechny atrakce. U blízkých stanovišť proto možná bude potřeba zvětšit šíři záběru.
  3. Samotná měření provádějte při přepínání (PgUp, PgDn) mezi danými dvojicemi stanovišť v pevně daném "EMBED" okénku o velikosti 600x450 pixelů.
  4. Měření pochopitelně proveďte pro obě scény: s LOD i bez LOD. Na tyto scény umístěte odkazy z HTML stránky.
  5. Výsledky měření (včetně poměru fps pro verzi s/bez LOD) uspořádejte do přehledné tabulky doplněné vysvětlujícím textem. Případný graf by potěšil oko pedagogovo.

Riešenie

Zvonkohra
(tubular bells)
Klavír Hudobná sála Výsledná scéna
(s LOD)
Výsledná scéna
(bez LOD)

Popis riešenia

Z hudobnej sály boli odstránené všetky nepotrebné súčasti a pridané pozadie. Ostala svietiť iba dvojica radiálnych svetiel nad stredom sály.
Prototypy hodobných nástrojov:

PROTO Klavir [
  exposedField SFInt32 lod
    # zobrazovanie so zjednodusenim LOD: 1 - zapnute, 0 - vypnute
  field MFFloat range
    # obsahuje hranice jednotlivych stupnov LOD (celkovo tri stupne LOD = dve hranice v range)
  field MFString url
    # texturka klavira 
  field MFString url2
    # texturka zaklapacieho vrchu
  exposedField SFColor diffuseColor
    # farba "bielych" klaves
  exposedField SFColor diffuseColor2
    # farba "ciernych" klaves
  exposedField SFColor diffuseColor3
    # farba klavira(v pripade nezobrazenia textury, teda v pripade url "")
    
PROTO TubularBells [
  exposedField SFInt32 lod
    # zobrazovanie so zjednodusenim LOD: 1 - zapnute, 0 - vypnute
  exposedField SFColor bellsColor
    # difuzna farba valcov
  exposedField SFColor frameColor
    # difuzna farba ramu
  exposedField MFString textureUrl
    # url textury pre ram
]
Pri použití LOD sa vo väčšej vzdialenosti nástroje zjednodušujú: vynechávajú sa nepatrné detaily a textúry, tvary typu Cylinder sa nahradzujú za Box a pod, čo vedie k urýchleniu kreslenia celej scény.

Výsledky meraní

Meranie
č.
Stroj Renderer FPS s LOD FPS bez LOD Pomer s/bez LOD
1m 15m 60m 1m 15m 60m 1m 15m 60m
1 A R98 1,4 5 20 1,4 1,5 1,5 1 3,33 13,33
2 B DirextX 23 32 88 23 23,5 23 1 1,36 3,83
3 B R98 10 20 42 10 11 11,5 1 1,82 3,65



Stroj A: Stroj B: