Overte open source virtual worlds platform.
Find a file
Anthony J. Thibault 1b3d7fabc8 ResourceCache, NetworkGeometry and Model refactoring and optimizations.
* Removed validation logic from Resource class, Qt does this internally and is more
  standards compliant.  This should result in more accurate caching and faster resource
  fetching when cache is stale and validation fails.
* Added loaded and failed slots to Resource class, so it does not have to be polled.

* NetworkGeometry now uses multiple Resource objects to download
  the fst/mapping file and the fbx/obj models.
* NetworkGeometry is no longer a subclass of Resource
* NetworkGeometry now has signals for success and failure, you no longer
  have to poll it to determine when loading is complete (except for textures *sigh*)

Some functionality was removed

* NetworkGeometry no longer has a fallback
* NetworkGeometry no longer loads LODs or has lod logic.
* The number of FBXGeometry copies is greatly reduced.

* Model::setURL no supports fallback URL, delayLoad or retainCurrent option.
  This can result in a pop when switching avatars, and there's no longer a default
  if avatar loading fails.
2015-08-20 18:59:51 -07:00
assignment-client add readWithoutCopy for clarity in Packet read 2015-08-19 14:32:26 -07:00
cmake Revert "Updating to the new version of the sixense library" 2015-08-19 09:44:51 -07:00
domain-server Merge pull request #5565 from murillodigital/node-version 2015-08-19 13:32:48 -07:00
examples Merge pull request #5614 from samcake/punk 2015-08-20 15:00:16 -07:00
gvr-interface remove use of include_dependency_includes and use cmake 2015-02-18 14:12:05 -08:00
ice-server correct the unique_ptr char allocations 2015-07-31 14:29:05 -07:00
interface ResourceCache, NetworkGeometry and Model refactoring and optimizations. 2015-08-20 18:59:51 -07:00
libraries ResourceCache, NetworkGeometry and Model refactoring and optimizations. 2015-08-20 18:59:51 -07:00
tests ResourceCache, NetworkGeometry and Model refactoring and optimizations. 2015-08-20 18:59:51 -07:00
tools ResourceCache, NetworkGeometry and Model refactoring and optimizations. 2015-08-20 18:59:51 -07:00
.gitignore Merge pull request #4650 from birarda/vhacd-external 2015-04-21 09:44:52 -07:00
BUILD.md interface now depends on zlib. describe how to install on windows 2015-08-05 16:13:25 -07:00
BUILD_ANDROID.md remove TBB from build guides 2015-02-18 17:29:32 -08:00
BUILD_LINUX.md Update to reflect new required package 2015-04-02 00:33:31 -07:00
BUILD_OSX.md Update BUILD_OSX.md 2015-08-07 10:49:20 -07:00
BUILD_WIN.md interface now depends on zlib. describe how to install on windows 2015-08-05 16:13:25 -07:00
CMakeLists.txt Revert "Updating to the new version of the sixense library" 2015-08-19 09:44:51 -07:00
CONTRIBUTING.md Update CONTRIBUTING.md 2014-10-07 10:15:09 -07:00
LICENSE switch to apache license in root license file 2014-04-08 17:31:02 -07:00
README.md Update README.md 2015-01-27 19:16:20 +01:00

High Fidelity (hifi) is an early-stage technology lab experimenting with Virtual Worlds and VR.

In this repository you'll find the source to many of the components in our alpha-stage virtual world. The project embraces distributed development and if you'd like to help, we'll pay you -- find out more at Worklist.net. If you find a small bug and have a fix, pull requests are welcome. If you'd like to get paid for your work, make sure you report the bug via a job on Worklist.net.

We're hiring! We're looking for skilled developers; send your resume to hiring@highfidelity.io

Chat with us

Come chat with us in our Gitter if you have any questions or just want to say hi!

Documentation

Documentation is available at docs.highfidelity.io, if something is missing, please suggest it via a new job on Worklist (add to the hifi-docs project).

Build Instructions

All information required to build is found in the build guide.

Running Interface

When you launch interface, you will automatically connect to our default domain: "root.highfidelity.io".

If you don't see anything, make sure your preferences are pointing to root.highfidelity.io (set your domain via Cmnd+D/Cntrl+D), if you still have no luck it's possible our servers are simply down; if you're experiencing a major bug, let us know by adding an issue to this repository. Make sure to include details about your computer and how to reproduce the bug.

To move around in-world, use the arrow keys (and Shift + up/down to fly up or down) or W A S D, and E or C to fly up/down. All of the other possible options and features are available via menus in the Interface application.

Running your own servers

The assignment-client and domain-server are architectural components that will allow you to run the full stack of the virtual world.

In order to set up your own virtual world, you need to set up and run your own local "domain".

The domain-server gives a number different types of assignments to the assignment-client for different features: audio, avatars, voxels, particles, meta-voxels and models.

Follow the instructions in the build guide to build the various components.

From the domain-server build directory, launch a domain-server.

./domain-server

Then, run an assignment-client. The assignment-client uses localhost as its assignment-server and talks to it on port 40102 (the default domain-server port).

In a new Terminal window, run:

./assignment-client

Any target can be terminated with Ctrl-C (SIGINT) in the associated Terminal window.

This assignment-client will grab one assignment from the domain-server. You can tell the assignment-client what type you want it to be with the -t option. You can also run an assignment-client that forks off n assignment-clients with the -n option.

./assignment-client -n 4

To test things out you'll want to run the Interface client.

To access your local domain in Interface, open your Preferences -- on OS X this is available in the Interface menu, on Linux you'll find it in the File menu. Enter "localhost" in the "Domain server" field.

If everything worked you should see that you are connected to at least one server. Nice work!