Technical Reference/terms
From OpenSimulator
(Corrected some spelling and fixed some wording/grammar. Added information about regionhandles.) |
m (Added some additional information about the regionhandle.) |
||
Line 22: | Line 22: | ||
'''Regionhandle'''<br /> | '''Regionhandle'''<br /> | ||
− | A regionhandle is a 64-bit number that | + | A regionhandle is a 64-bit number that stores the X/Y location of a place in a grid. The high order 32-bits are the X position, and the bottom 32-bits are the Y position. A region handle can be calculated as follows: ((X * 256 + x_offset) << 32) + (Y * 256 + y_offset). X and Y are the grid location of a region. X_offset and y_offset are the x and y location of a place within a region so their values will be in the range of 0 to 255 (inclusive). |
'''Scene'''<br /> | '''Scene'''<br /> |
Revision as of 09:11, 30 July 2013
Languages: |
English Deutsch |
This article or section contains incomplete information. Please help us by completing the content on this page. |
This is a set of software technical reference pages that include definitions and describe how the simulator works from invocation, initialization, main loop and various services.
What do all these terms mean?
Technical Reference Terms and Definitions
Definition of some common terms:
Region
A region has an X/Y position in a grid and a regionhandle calculated from the position. A region can also be defined as an IP endpoint that the Viewer can use to establish a client connection. The unique ID of a region is a UUID. This means that a region can change position, and because of that position change, the regionhandle will be recalculated. The regionhandle will uniquely identify a position in a grid.
A region contains a number of sub components:
- Scene
- Client/Viewer circuits
Regionhandle
A regionhandle is a 64-bit number that stores the X/Y location of a place in a grid. The high order 32-bits are the X position, and the bottom 32-bits are the Y position. A region handle can be calculated as follows: ((X * 256 + x_offset) << 32) + (Y * 256 + y_offset). X and Y are the grid location of a region. X_offset and y_offset are the x and y location of a place within a region so their values will be in the range of 0 to 255 (inclusive).
Scene
A scene is part of a region, currently there is a one to one relationship, i.e. one region has one scene. A scene contains all the 3d objects, called Entities, entities can either be ScenePresences or SceneObjectGroups. A ScenePresence can be represented by an avatar, if it is a root scene presence. SceneObjectGroups consists of a number of SceneObjectParts.
Avatar/ScenePresence
Each viewer is represented by one or more avatars. The Root avatar or ScenePresence functions as a kind of cursor, into the grid. Where the region will keep the viewer updated on the state of the simulation, taking place in the scene. Besides the root presence, a number of child presences will exist in the neighboring regions, enabling the viewer to know what is going on in the neighboring regions.
Viewer
An application which is used to view the state of the simulation. Currently only three different viewers are known: the LL viewer, the OpenSL test client and AjaxLife.
Session
Each connection between a viewer and a region, regardless if the avatar is the root or a child, is a session.
Simulator
A program which can manage several Regions
- OpenSim.cs (OpenSim.cs )
- OpenSim_SwInit (Initialization from Main() )
- OpenSim_SwMainLoopl (After initialization, a main loop waits for connections or commands)
- OpenSim_SwRegionHandshake (How a client connects to the simulator)
- OpenSim_UserService (How the user server works)
- OpenSim_InterRegionCommunications (How the sim communicates with other sims)
- OpenSim_GridService (How the grid server works)
- OpenSim_AssetService (How the asset server works)
- OpenSim_SimService (How the simulator operates after a connection is made)
- Sim_Throttles (How the simulator handles throttling of packets)