[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

World Server / Geometry system !




Hei har tenkt litt rundt verdens serveren i det siste. Har kommet frem til
noen punkter som jeg gjærne vil ha synspunkter på:

* En verden bestående av flere seksjoner.
* Verdenen kan ha en global geometri koblet til seg. Himmelhvelving / 
  himmellegemer for utendørs rendering.
* Hver seksjon skal ha mulighet for å lastes ut og inn av serveren
  og/eller skrus på /  av slik at en slipper å gjøre animasjoner for hele
  verdenen selv om det er spillere i bare en liten del av verdenen.
* Hver seksjon består av en eller flere celler.
* Hver celle består av et tree av geometri objekter og eller subceller.
* Det finnes ikke et globalt koordinat system!!!
* Alle koordinat systemer er lokale i forhold til master cellen til 
  spillerne. 
* Hver celle har et PVS(*1) av celler. Dette inneholder locale delta
  koordinater for alle naboceller. Dette er tilstrekkelig informasjon
  til at clienten kan tegne det som er synlig. Også tilstrekkelig for 
  at kollisjonsrutiner skal kunne ta høyde for kollisjon av objekter som 
  er på grensen mellom to celler.
* LOD(*2) informasjon kan legges i inn i hver av referansene i PVS av
  celler. Slik at de nærmeste cellene tegnes med all informasjon, mens celler
  som er langt borte tegnes med bare overordnet informasjon. Kan tenke meg
  følgende. LOD 1 = All informasjon, LOD 2 = Store objecter, LOD 3 =
  Landskapskontur. Dette har bare betydning for hva som skal sendes fra
  verdens serveren til klientene.
* LOD for objectene i cellene. Basert på lengden mellom viewpoint og 
  objektet kan forskellige LOD tegnes. Betydning for hvor raskt clienten
  kan greie å tegne en frame.
 

Denne strukturen gir en del effekter som kan brukes:
* Uendlig stor verden. Siden det ikke eksisteren noen globalt
  koordinatsystem vil en kulle linke celler sammen i PVS av celler i 
  det uendlige.
* Wrapping worlds. Dette er også en konsekvens. Dåg en forutsetning er at
  det ikke er mulig å se fra en side av verdenen til den andre gjennom 
  noen PVS av celler.
* Flere parallelle verdenen implementert med celler som ikke er linket
  sammen gjennom PVS av celler.
* Implementering av transportmiddler som subceller. Trenger da ikke å
  oppdatere posisjon til alle objektene når transportmiddlet flytter seg.
  Trenger ikke implemetere alle transportmiddler som subceller. En hest
  som en eller to personer rir vil sikker være unødvendig å implementere
  på denne måten, men et stor skip eller en flygende by vil være midt i
  blinken for subceller. (Har noen lest historien hvor to vestern
  byer bytter plass om natten. Helle byen kommer rasende i stor fart
  over slettelandskapet. Tror de kan ha vært Donald.)


(1) PVS = Possible visible set
(2) LOD = Level of detail

 ----------------------------------------------------------------------
|    ******   Anders Reggestad                                         |
|  *   *   *  Mobil tlf.   : 95044443                                  |
| *    *   *  E-Mail       : andersr@pvv.ntnu.no                       |
| *********   Post adresse : Haug Prestegård 3300 Hokksund             |
| *    *   *  Jobb adresse : FFI avdeling for Undervannsforsvar Horten |
| *    *    * Hjemmeside   : http://www.pvv.ntnu.no/~andersr           |
 ----------------------------------------------------------------------