Animation on the web: a survey <s> Transmission over the Web <s> Recent advances in Web technology, especially real-time 3D content using WebGL, require an efficient way to transfer binary data. Images, audio and video have respective HTML tags and accompanying data formats that transparently handle binary transmission and decompression. 3D data, on the other hand, has to be handled explicitly by the client application. In contrast to images, audio and video, 3D data is inhomogeneous and neither common formats nor compression algorithms have been established for the Web. Despite the many existing formats for binary transmission of 3D data none has been able to provide a general binary format for all kinds of 3D data including meshes, textures, animations, and materials. Existing formats are domain-specific and fixed on a certain set of input data and thus too specific to handle other types of data. Blast is a general container format for structured binary transmission on the Web that can be used for all types of 3D scene data. Instead of defining a fixed set of encodings and compression algorithms Blast exploits the code on demand paradigm to provide a simple yet powerful encoder-agnostic basis to leverage existing domain-specific solutions and compression techniques. Because streaming is of primary importance for a good user experience Blast is designed on the basis of self-contained chunks to enable JavaScript clients to utilize Web Workers for parallel decoding and to provide early feedback to the user. <s> BIB001 </s> Animation on the web: a survey <s> Transmission over the Web <s> Given that physics can be fundamental for realistic and interactive Web3D applications, a number of JavaScript versions of physics engines have been introduced during the past years. This paper presents the implementation of the rigid body physics component, as defined by the X3D specification, in the X3DOM environment, and the creation of dynamic 3D interactive worlds. We briefly review the state of the art in current technologies for Web3D graphics, including HTML5, WebGL and X3D, and then explore the significance of physics engines in building realistic Web3D worlds. We include a comprehensive review of JavaScript physics engine libraries, and proceed to summarize the significance of our implementation while presenting in detail the methodology followed. The results obtained so far from our cross-browser experiments demonstrate that real-time interactive scenes with hundreds of rigid bodies can be constructed and operate with acceptable frame rates, while the allowing the user to maintain the scene control. <s> BIB002
Computer animation files exported from 3D modeling applications are huge in size, for transmission over the web, let us define the process, whereby a lightweight HTML pages holds the DOM structure and embedded script code and all the other external data such as mesh, vertices, animation data, and images are separately requested over the HTTP protocol. Here, we compare some of the current solutions and methods :  BIB001 Binary transmission: A very simple and common approach which is used in XML3D , X3DOM BIB002 ; X3DOM], glTF  and Three.js [Cabello 2010 ]. The data being transmitted is encoded in textual representation (e.g. XML or JSON) and the external data is requested using a XHR request separately. Image Based: Here, the mesh data is encoded into images, which presents us with the opportunity to effectively use the underutilized power of the GPU on the modern systems. Encoding geometry information inside 2D images is a very promising prospect. Image decoding is done natively in the browser, decoding vertex data to the GPU totally bypasses any JavaScript based decoding. Sequential Image Geometry (SIG)  ] extends this approach further by adding functionality for quantization and progressive loading. Domain Specific: There are many solutions for streaming static 3D meshes, But a 3D object not just consists of a mesh, but also contains other information such as texture, normals etc. Hence, it can be hard for any methods to be extended to all kinds of 3D data. Solutions like OpenCTM  ] and WebGL-Loader [Chun 2011;  ] are lossless and efficient binary representations. Both formats are converted to TypedArray, which needs to be processed on the client side. Compared to image based GPU solution, it can have a slower decoding speed.