Tutorial: Basic Concepts

Basic Concepts

User Account

User

To use 3dverse platform for real-time rendering service, users need to create an account. Depending on the plan selected features can be available or not. Basic plans have limited upload, sharing and edition capabilities.

Workspace

Once a user has an account, he can create workspaces to organise his work.
The user can then upload scenes (from common 3D files) or textures in a workspace.
You can share each workspace with other users, or keep it private.


Client

Clients are applications running a real-time rendering session on the user device, such as:

  • Laptop
  • Tablet
  • PC
  • Cell phone
  • Hololens
    Depending on the user account plan, a user can launch one or more client session.


Real time rendering: Sessions and Sharing

Real time rendering sessions

To visualize a scene, a client application needs to start a real time rendering session.
Depending on the user subscription plan and the client application, other users can then join this session either as a simple spectator or as an editor.
In a single session, a user can have one or more viewport looking at different perspective of the scene, the same is also applicable when there are multiple users in a session.


Sharing

Workspace can be share with other users. All the scenes and assets within a workspace will be available to the users in the shared group.
Users in the shared group will also see active sessions within the workspace and will be able to join these active sessions.
You can share a session to an anonymous user by getting a guestToken. The connection lifetime of this token is limited to the session lifetime.
When sharing a session, users can hook on another user's camera so their share the same point of view as this user navigates through the scene.
When users in a session have edition rights, they can simultaneously modify the scene and immediately visualize their work and the work of the others in the scene, avoiding conflict in the edition.


Definitions


Display
  The display is the real time rendering area size. It's composed of at least one viewport.

Viewport
  A viewport is a framed area on the display having its own camera or attached to another user camera.

Camera
  A camera controls the view within the viewport.

Asset
  An asset is a single logical piece of data:

Asset type Description
Scene Describes how the different entities of a virtual world are organized. An entity can reference any asset type.
Mesh Represents a polygonal 3D model composed of vertices. Each vertex can have multiple attributes. Vertices are indexed by 3 to form a list of triangles. 3dverse has its own format for this asset type.
Material List of attributes describing how a surface reacts to lighting. Those attributes can be floating numbers, vectors, references to textures, etc. A material references a shader.
Animation Represents how the transforms of a skeleton should evolve through time. It references a skeleton.
Animation graph Represents an animation state machine.
Skeleton Used for skinning a mesh, such as deforming the vertices of the mesh to reflect the transform of the bones that compose the skeleton. It represents a series of hierarchical transforms.
Texture Chain of 2D images compressed and optimized for real-time rendering. The chain, called mipmaps, consists of the same image having its resolution halved as you go down the chain.
Texture 1D Texture data that has a single dimension.
Texture 3D Texture data that has three dimensions.
Cubemap A textured cube. It references 6 textures, each one for each face of the cube.
Volume material Represents the application of an opacity lookup table on a volume.
Shader A shader is a program that compiles and runs on the GPU.
Voxel Represents a 3D volume defining densities in space.
Lookup table (LUT) Represents the way how to visualize a Voxel in 3D by assigning a material to some density values.
Render graph Contains the rendering properties of other assets in a scene.
Sound Represents an audio recording.

Entity
  An entity is an aggregate of components.

Scene
  A scene contains a collection of one or more assets that are rendered in real time from the requested camera point of view.
The user can also create a new empty scene and, using the asset browser, simply drag and drop assets from other scene or workspace to compose his new scene.

Overrider
  Override an external entity, brought by a linker.