background preloader

3D Graphics

Facebook Twitter

Scalable Vector Graphics (SVG) 1.1 (Second Edition) W3C Recommendation 16 August 2011 This version: Latest version: Previous version: Public comments:

Scalable Vector Graphics (SVG) 1.1 (Second Edition)

SVG animation. Animation of Scalable Vector Graphics, an open XML-based standard vector graphics format, is possible through various means: Because SVG supports PNG and JPEG raster images, it can be used to animate such images as an alternative to APNG and Multiple-image Network Graphics.

SVG animation

History[edit] SVG animation elements were developed in collaboration with the W3C Synchronized Multimedia Working Group, developers of the Synchronized Multimedia Integration LanguageSMIL 3.0 Specification SMIL. The SYMM Working Group, in collaboration with the SVG Working Group, has authored the SMIL Animation specification, which represents a general-purpose XML animation feature set.

SVG incorporates the animation features defined in the SMIL Animation specification and provides some SVG specific extensions. SVG in HTML[edit] Introduction[edit] The svg can be embedded into HTML with the <img> tag element by using the src attribute in the image tag you can refer to an SVG file. Scalable Vector Graphics. Scalable Vector Graphics (SVG) is an XML-based vector image format for two-dimensional graphics with support for interactivity and animation.

Scalable Vector Graphics

The SVG specification is an open standard developed by the World Wide Web Consortium (W3C) since 1999. SVG images and their behaviors are defined in XML text files. This means that they can be searched, indexed, scripted, and compressed. As XML files, SVG images can be created and edited with any text editor, but are more often created with drawing software. HTML Canvas 2D Context. This Version: Latest Published Version:

HTML Canvas 2D Context

Canvas element. History[edit] Usage[edit] Canvas consists of a drawable region defined in HTML code with height and width attributes.

Canvas element

JavaScript code may access the area through a full set of drawing functions similar to those of other common 2D APIs, thus allowing for dynamically generated graphics. Some anticipated uses of canvas include building graphs, animations, games, and image composition. Example[edit] The following code creates a Canvas element in an HTML page: <canvas id="example" width="200" height="200"> This text is displayed if your browser does not support HTML5 Canvas. Using JavaScript, you can draw on the canvas: var example = document.getElementById('example');var context = example.getContext('2d'); context.fillStyle = 'red'; context.fillRect(30, 30, 50, 50); This code draws a red rectangle on the screen. Canvas Element Size versus Drawing Surface Size[edit] By default, both the canvas element’s size and the size of its drawing surface is 300 screen pixels wide and 150 screen pixels high.

Viva la Canvas. Hey friends!

Viva la Canvas

I gave in and finally integrated <canvas> support into JSViz, and just in time for the Safari 3 Beta (which I'm really digging so far)! Note: To render with canvas, you'll need Firefox 1.5, Safari 2.0, or Opera 9. JSViz gracefully degrades to alternative rendering platforms (SVG, HTML) when support is not present. One more note: I'll add VML support to this demo shortly. I'm just waiting on the next build of svg2vml. I've been reluctant to integrate canvas support into JSViz, so let me explain why this has been a long time coming. HTML, SVG, and VML each similarly represent drawings as a set of "elements". Canvas works differently than these other graphics platforms. In short, this means that JSViz needs to redraw every node and edge in the graph at each cycle in the organization, even if the node didn't move. I'll gladly take feedback on the API. Comparison of layout engines (HTML5 canvas)

Explanation of the tables[edit] Engine nomenclature[edit] Rather than the names of web browsers, the names of the underlying engines are used.

Comparison of layout engines (HTML5 canvas)

The browsers that use the various engines are listed below. Values[edit] Values indicate the level of support in the most recent version of the layout engine, or (if a version number is given) in the specified version. WebGL Specification. WebGL. Design[edit] Like OpenGL ES 2.0, WebGL does not have the fixed-function APIs introduced in OpenGL 1.0 and deprecated in OpenGL 3.0.

WebGL

This functionality can instead be provided by the user in the JavaScript code space. Shaders in WebGL are expressed directly in GLSL. History[edit] WebGL evolved out of the Canvas 3D experiments started by Vladimir Vukićević at Mozilla. In early 2009, the non-profit technology consortium Khronos Group started the WebGL Working Group, with initial participation from Apple, Google, Mozilla, Opera, and others.[4][8] Version 1.0 of the WebGL specification was released March 2011.[1] As of March 2012, the chair of the working group is Ken Russell.

Early applications of WebGL include Google Maps and Zygote Body.[9][10] More recently[when?] Development of the WebGL 2 specification started in 2013.[12] This specification is based on OpenGL ES 3.0.