background preloader

OpenSim

Facebook Twitter

RealXtend - Open source platform for interconnected virtual worl. Viewer Architecture. From Second Life Wiki The Second Life client (also known as the "viewer") is a complex piece of software. It can be visualized as a streaming media client like RealPlayer, a game engine like Quake 3, or a web browser. First you'll need to learn some terminology like "agent", "sim", and "region" in the glossary. Learn by Example Major Systems Animation - avatar motions Asset System - transport for animations, sounds, notecards, scripts, etc. Threads The viewer is a single process with a few threads: Main thread -- The input/output main program function (including rendering).

Program Flow Initialize - newview/viewer.cpp :: main() Loop - newview/viewer.cpp :: main_loop() Gathers keyboard and mouse input Pumps the TCP i/o idle() Render the frame let filesystem and worker threads process Shutdown One way to see what goes on in the main loop is to bring up the debug menus (Ctrl-Alt-D) then Client->Consoles->Fast Timers (or Ctrl-Shift-9) and expand the entries in the caption. Sources of Input.