Ludei bring WebGL to iOS and Android

25. March 2013

 

I am not sure if you have ever tried running a WebGL game on a mobile browser…  it either doesn’t work at all, or performs appallingly bad depending on the browser.  Mobile browsers already present an interesting performance problem for 2D canvas based games that products like Ludei’s CocoonJS attempts to solve.  Essentially it is a stripped down browser optimized for speed, that your HTML5 application runs in.  Today, they have announced they have added WebGL support!  This means your HTML5 WebGL applications can now be deployed to iOS and Android as a fully accelerated application.

 

From their press release (pdf link):

“We’ve already made HTML5 cross-platform 2D game development a reality,�� said Ludei CEO
Eneko Knorr. “Now we are unlocking the door for the thousands of Web game developers who
want to publish great 3D games on mobile and reach consumers through the most popular app
stores. Our 3D rendering allows today’s most popular mobile devices to run a 3D HTML5 game
with the same great user experience and performance that native gamers are used to.”


Ludei will support 3D game development via the open WebGL standard. WebGL is the browser
equivalent of OpenGL, the industry standard for deploying powerful 3D animated games. The
addition of 3D rendering on the Ludei platform means for the first time, WebGL runs on every
iOS and Android device, so developers don’t have to worry about which devices currently have
built-in 3D support to handle their complex, HTML5 mobile animated games. Now 3D game
developers, including those that historically publish console and PC games, can use Ludei’s
technology to deliver their 3D titles cross-platform to Google Play, Apple App Store and more.

 

So, if you are an HTML5 game developer and want to bring your WebGL game to iOS and Android with native level performance, be sure to check this out.

News ,




Modern OpenGL resources round up

27. February 2013

With the fundamental shift from a fixed to a programmable pipeline, finding modern style OpenGL resources can prove a bit tricky.  Therefore I have put this page together to show a collection of useful modern GL related links, books and materials.  If I missed something you believe I should add, please let me know!

 

Tutorials, Wikis and eBooks

 

http://www.opengl.org/wiki/Main_Page

The OpenGL wiki, probably the place you should start.  Contains documentation on most of OpenGL as well as complete references for both OpenGL functions and GLSL shader programming.

http://www.opengl.org/registry/

Specs and documentation for OpenGL.  Loads here but a bit… stark.

http://ogldev.atspace.co.uk/

A series of 40 OpenGL tutorials including lighting, shading, normal mapping, skeletal animation and more.

http://www.arcsynthesis.org/gltut/

Actually an ebook, covers most of OpenGL

http://open.gl/

Another series of OpenGL tutorials covering a range of subjects and bordering on being an ebook.

http://www.opengl-tutorial.org/

A series of OpenGL tutorials for OpenGL 3.3 and higher.  Broken into basic, intermediate and misc categories.

http://openglbook.com/the-book/

Another ebook on OpenGL, some on 3.3, some on 4.0.  Makes use of freeGLUT and GLEW.

http://www.lighthouse3d.com/tutorials/glsl-core-tutorial/

A series of GLSL tutorials.  GLSL is the shader language used with OpenGL.

http://duriansoftware.com/joe/An-intro-to-modern-OpenGL.-Table-of-Contents.html

An intro to modern OpenGL.

http://www.ozone3d.net/tutorials/

Ozone3d offer a range of tutorials on a number of OpenGL subjects ( as well as Direct3D tutorials if you are interested ).

http://www.opengl.org/sdk/docs/tutorials/TyphoonLabs/

Typhoon Labs GLSL tutorials ( PDF format ).

https://developer.nvidia.com/opengl

nVidia have a half dozen tutorials available at the above link, as well as a number of tools such as the NVIDIA PerfKit and Cg and FX Composer.

http://developer.amd.com/tools/graphics-development/

AMD's (ATI) developer page.  No tutorials, but a number of useful applications for developers.

http://sfml-dev.org/tutorials/2.0/window-opengl.php

Using OpenGL with SFML.

http://www.sdltutorials.com/sdl-opengl-tutorial-basics

Using OpenGL with SDL

http://lazyfoo.net/tutorials/OpenGL/index.php

LazyFoo's OpenGL tutorials.  Some are OpenGL 2.1 era while later ones are more modern style.

 http://antongerdelan.net/opengl4/

A work in progress series of OpenGL 4 tutorials.  Only the tutorials with working thumbnails currently exist, but certainly one worth keeping your eye on!

http://www.mbsoftworks.sk/index.php?page=tutorials&series=1

Another series of tutorials for OpenGL 3.3 (and higher).  Pretty good collection of materials covered from beginner to intermediate topics.

 

Code Samples

 

https://github.com/tomdalling/opengl-series

A series of code samples to go along with the tutorial series from http://tomdalling.com/.  Cover setting up Xcode, Visual Studio and Linux, as well as texturing, model loading, cameras, matrices and more.

http://www.gamefromscratch.com/post/2012/07/03/A-series-of-OpenGL-samples.aspx

A series of well commented modern OpenGL samples that make no use of an external library.  Includes some advanced samples such as a Voxel rendering engine.  Note, these tutorials aren't hosted on GameFromScratch, we simply provide a table of contents and description of each in one place.

http://sourceforge.net/projects/ogl-samples/

OpenGL samples from the author of the GLM library mentioned below.  Website explaining what is contained is available here.

 

Libraries

 

GLFW http://www.glfw.org/

GLFW is a cross platform open source library for handling window creation and management as well as dealing with input.

GLEW http://glew.sourceforge.net/

GLEW stands for OpenGL Extension Wrangler and it makes working with OpenGL extensions easier.  It makes it easy to querying if a device supports a given extensions as well as calling that extension a much simpler process.

GLUT http://www.opengl.org/resources/libraries/glut/

GLUT stands for OpenGL Utility KIt and it is for creating and handling Windows like GLFW as well as keyboard, mouse and joysticks in a cross platform manner.  It is not being actively developed, so other options are probably better choices.  The last release was in 1998.

freeGLUT http://freeglut.sourceforge.net/

Is an open sourced implementation of GLUT under more active development than GLUT.

SDL http://www.libsdl.org/

Simple DirectMedia Layer is a 2D game programming library that can be used to create windows and handle input, as well as simplifying many 2D graphic tasks.

SFML http://www.sfml-dev.org/

SFML is a 2D game programming library built over OpenGL.  Like SDL it can be used for window creation, input, audio and more along side your OpenGL library.

OpenGL Mathematics http://glm.g-truc.net/

Header file only C++ mathematics

 

As you may have guessed at this point, OpenGL has no facilities for creating windows or handling input, sound, networking, etc.

 

 

Books

 

OpenGL Programming Guide: The Official Guide to Learning OpenGL Version 4.3 (8th Edition)  (Safari Link) OpenGL 4.3

OpenGL SuperBible: Comprehensive Tutorial and Reference (5th Edition) (Safari Link) OpenGL 3.3

OpenGL 4.0 Shading Language Cookbook (Safari Link) OpenGL 4.0

 

 

Language Bindings

 

OGLPlus http://oglplus.org/

OGLPlus is a C++ wrapper for OpenGL 3.x and higher.

OpenTK http://www.opentk.com/ 

OpenGL, OpenAL and OpenCL wrappers for .NET languages such as C# and VB.net.

PyOpenGL http://pyopengl.sourceforge.net/

OpenGL, GLU, GLUT wrapper for Python.

JOGL https://jogamp.org/jogl/www/

OpenGL bindings for Java.

LWJGL http://www.lwjgl.org/

Lightweight Java Game Library, a Java layer over OpenGL, OpenAL, OpenCL as well as additional input support.

( There are many many many more language bindings/wrappers for OpenGL for dozens of languages.  These are some of the most common ).

 

 

See Also

 

OpenGL ES 2 http://www.khronos.org/opengles/2_X/

OpenGL ES 2 is the most modern reference implementation for OpenGL on mobile or embedded devices.  It's derived from OpenGL 2 and is very similar but varies in some ways from desktop OpenGL.

WebGL http://www.khronos.org/webgl/

WebGL is OpenGL ES 2 for the web, it is a JavaScript based library.  WebGL support in modern browsers is getting better, but is by no means universal, nor is the performance consistent between browsers.

Mesa3D http://www.mesa3d.org/

On open source implementation of the OpenGL standard, currently compatible with OpenGL 3.1.

OGLPlus http://oglplus.org/

OGLPlus is a C++ wrapper for OpenGL 3.x and higher.




Nice new modern OpenGL tutorial series

8. February 2013

 

Since Nehe, which is horrifically out of date, there simply haven’t been that many good OpenGL tutorial series.  I mentioned a couple months ago about a series of OpenGL examples, there’s this free e-book and not a ton more.

 

Fortunately there is another author doing a series of OpenGL tutorials in the works.

 

The tutorial is across 5 parts as of now:

Modern OpenGL 01 – Getting Started in Xcode, Visual C++, and Linux

 

Modern OpenGL 02 – Textures

 

Modern OpenGL 03 – Matrices, Depth Buffering, Animation

 

Modern OpenGL 04 – Cameras, Vectors &Input

 

Modern OpenGL 05 – Model Assets &Instances

 

They are an easy read, go into a fair bit of detail and are a good learning source.  There are a few caveats though. 

 

First the tutorials depend on a few external libraries, GLEW, GLFW and GLM.  This is one thing I really liked about the examples I linked earlier, they didn’t depend on any third party libraries, but I can understand why the author did was he did.

 

Second, a lot of the OpenGL functionality is abstracted away into a custom library tdogl.  Again, I can understand why he did this, but it does make learning a bit trickier ( while making the code easier to understand and much cleaner… trade offs ).  As you are going through the tutorials, be sure to check out the source code as you go.  Fortunately there is a github repository with the code for each episode readily available.

 

So, if you are looking to learn OpenGL, you have another excellent source.  Just be prepared to do a bit of digging through the provided source to fully understand what it going on.

Programming ,