Blog
News, thoughts, and other items of interest.

December 09, 2011     Mobile WebShader

Did a bunch of work to get WebShader working on a touch screen mobile device.  I think this will be a pretty interesting field as WebGL is gaining more support in this area.  Tweaked the drag and drop image support to allow larger image uploading, and to make way for some future enhancements.



December 06, 2011     Drag and Drop Image Uploading

Added new image drag and drop features into WebShader.  For non-guest accounts, image files can now be dragged from your desktop into the WebShader Editor Variables window, which will be uploaded and saved along with your scene.  In addition, for all accounts, hosted images from your own web sites can be dropped onto an open Texture Variable Editor window, which will update the URL with the URL of the dropped image.


November 08, 2011     GPU Terrain Subdivision and Tessellation Technical Paper

Updated the technical paper describing our GPU Terrain Subdivision and Tessellation algorithm.  There is likely to be some edits still made, but hopefully it is understandable to those interested.


October 06, 2011     Improved Procedural Terrain Calculations

Spent some time significantly improving the procedural terrain height and surface normal calculation algorithms.  I wasn't happy with how much of a bottle neck they were causing, especially in comparison to the very fast subdivision and tessellation algorithm.  I'll outline the algorithm and the associated improvements in the Terrain Tessellation Research technical paper that is currently in development.


September 23, 2011     DirectX 11 Realtime Terrain Rendering

Here's a video showing the results of the terrain rendering algorithm mentioned below.  Curiously, the most expensive part of the algorithm is the adaptive procedural height calculations, whereas the mesh subdivision is handled swiftly, even at exceptionally high detail levels.  When the procedural height calculation is swapped out and a single height-map is used in its place, the frame rates increase about tenfold!  It would be interesting to see the algorithm adapted to use streamed in detailed GPS data.


September 19, 2011     Adaptive Continuous LOD Terrain Rendering Algorithm

Been working on some different algorithm ideas while still experimenting with terrain rendering.  Below shows a wireframe of an endless procedural terrain mesh created entirely on the GPU using an adaptive continuous LOD scheme.  Tapping in to some new hardware capabilities enabled through DirectX 11 (mainly the Geometry Shader with Multiple Stream-Out), the resulting mesh scales dynamically with smooth transitions between all detail levels.  This algorithm differs from the one shown previously by creating a vertex mesh, instead of    a position/height based texture.  It is also able to be dynamically tuned to achieve a desired fps, and can work more easily with other rendering technologies.



August 22, 2011     More DirectX 11 Experimentation

Continuing with the DirectX 11 Compute Shader / real-time terrain rendering experiments.  Added some color to the mountains, snow, and distance attenuation.  Spent a lot of time making speed improvements to the core rendering algorithm, with positive results.



August 10, 2011     DirectX 11 Experiments

Did some playing with DirectX 11 recently.  This is an endless procedurally generated landscape with per pixel adaptive level of detail, all created with the new functionality enabled through the Compute Shader.



July 18, 2011     Additional Browser Support

Added a handful of fixes in the editor to better support another WebGL enabled browser (Opera).  Still some remaining issues to solve, but it's coming along.  Also made small code changes to some WebShader gallery demos, as different browsers seemed to compile some GLSL math operations differently, resulting in unwanted visual differences.


June 28, 2011     2D Fluid Flow

Added a new 2D fluid flow demo to the gallery.  This was a great demo to test and iron out a lot of the recent WebShader additions... and, it's also just fun to play with.  Added line numbers to the code editor window, which greatly helps debugging.  All in all, WebShader is starting to feel pretty good with regards to its stability and the feature set that was planned for the beta release.


June 22, 2011     Emerging Technologies

It's great seeing WebGL becoming more supported, with updates and improvements happening very quickly.  Of course, this also means that as the specification evolves, so does all of the code that uses it, such as WebShader.  This week saw our texture handling having to change, matrix functions breaking, and visible seams appearing in cubemaps.  I'm happy to say that all of the surprises found this week have been addressed, and both the WebGL specification and WebShader are both better as a result.  We strive to keep up-to-date with any and all problems found.  No rest for the wicked, eh?


June 12, 2011     Renderable Textures and Surfaces

Added support for renderable textures and surfaces.  This feature is limited to 2D surfaces for the moment.  Also added a full-screen button to the 3D viewer window for both the editor and the gallery.  This allows the 3D viewer to expand to the size of the browser window.  A cool new volumetric demo has also been added to the gallery.  Yeah, it's been a busy couple of weeks here!


June 02, 2011     New Gallery Demo Page

A new gallery demo page is available here!  The current WebShader sample scenes have been added to the gallery.  Fixed some issues surrounding the use of the page menu on certain browsers.  Looking forward to WebGL becoming more available.


May 13, 2011     Log In System Enabled

Enabled the log in system, which allows users to load and save their own WebShader scenes. Added support for CubeMap textures, in vertical or horizontal cross format. A handful of additional fixes and improvements also went into this update.



May 03, 2011     More Testing and Improving the early BETA Release

Overdue for another post here!  The log in system is now working, which, when enabled, will allow users to load and save their WebShader projects online.  Continuing to test and make improvements to the Editor, and preparing for another WebShader BETA update shortly.


April 15, 2011     Testing and Improving the early BETA Release

Been busy testing and improving the early BETA release of the WebShader Editor.  Started working on the log-in system, which will allow more of the editor features to be enabled.  Seems to work well in the WebGL enabled versions of the Chrome and Firefox browsers, although there are some WebGL work-arounds required when using the browsers on some OS's.  Will post more details in the coming week(s).


March 25, 2011     Render States and Texture States

Finished per-pass render state controls, and also added texture state controls for texture variables.  Also made some GUI related changes, fixes, and enhancements.


March 11, 2011     Multi-Pass Rendering

Added support for the creation and editing of multi-pass materials, as well as per-pass render state control.  Added additional server side support to prevent data loss on a page refresh.


February 25, 2011     More WebShader Development

Lots of changes on the server side of WebShader to, among other things, enable file loading and saving, texture updates, etc.  Also started testing with additional WebGL enabled browsers.


February 04, 2011     WebShader -- Screenshot

Thought we would post a screenshot of our WebGL based online shader editor.  We are currently calling it WebShader.  A number of things to hook up yet before unleashing it, but we are hoping to get a beta version out in the near future.



January 28, 2011     WebGL Experiments

Have been doing further research and development using OpenGL ES 2 API and the related WebGL API.  Got inspired to start writing a small web based application to utilize it.  While this is a bit of a distraction from the development of MindSpider, we are looking forward to sharing the results of the experiments soon.


January 11, 2011     New Year, Upgraded Web Site

Was busy coding up some improvements to the web site over the holidays, making room for easier future updates, and for simpler content management.  What can I say, it has been between -20 and -30 degrees celsius lately, so it seemed like a good time to do this.




All product names are trademarks or registered trademarks of their respective holders.