Valve Shares DirectX to OpenGL Code
Written by David Conrad   
Friday, 14 March 2014

Valve has open sourced code for its Direct3D to OpenGL Abstraction Layer, which could help other game developers involved in graphics translation and has also provided alpha code for its Open GL capture/playback debugger.

The ToGL translation layer has been taken directly from the source tree of DOTA2, a popular multi-player game.

 

valvedota2

 

According to its GitHub page it supports: 

  • Limited subset of Direct3D 9.0c

  • Bytecode-level HLSL -> GLSL translator

  • Some SM3 support: Multiple Render Targets, no Vertex Texture Fetch

On his blog, Valve developer Rich Geldrich apologizes for it being a simply a "raw dump" saying:

I really wish we had the time to package it better (so you could actually compile it!) with some examples, etc. There's a ton of practical Linux GL driver know-how packed all over this code -- if you look carefully.

The code is far from perfect: many parts are more like a battleground in there. It's optimized for results, and the primary metrics for success were perf vs. Windows and Source1 correctness, sometimes to the detriment of other factors.

Outlining the history of ToGL Geldrich explains that the layer was started by Valve's team, then ported from Mac to Linux by the steam team and finally ported to Windows for the purposes of debugging since the best available GL debuggers were Windows-only.

He says that Valve is working to rectify the lack of an open source GL debugger with vogl and his next blog post reports that thevogl GL debugger source is on GithHub .

This project, described as " a surprisingly massive undertaking for ~3 devs"  is at an early stage of development and a warning on its page states:

This project is alpha^2 right now. If you are up for suffering through a bit of pain with early releases, please continue on - we'd love to have your help...

Game and graphics developers should find this useful so hopefully the number of those involved in the project can grow exponentially.

 

More Information

ToGL on GitHub

vogl on GitHub

Valve

Related Articles

DirectX Not Dead - Version 12 At GDC

Updates to OpenGL and OpenCL

OpenGL Faster Than DirectX - Or Is It?

OpenGL 4.1

OpenGL Faster Than DirectX - Or Is It?

Graphics Accelerators

OpenGL Shading Language

Fundamentals of Computer Graphics

OpenGL Programming Guide 

 

To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, Facebook, Google+ or Linkedin,  or sign up for our weekly newsletter.

 

raspberry pi books

 

Comments




or email your comment to: comments@i-programmer.info

 

Banner


Java Version 22 Released
04/04/2024

JDK 22 is not a Long Term Support release, but is one of the regular releases that are scheduled to arrive every six months. Still, it has got a lot to show for itself.



Apache Updates Geronimo Arthur
28/03/2024

Apache Geronimo Arthur has been updated with support for Common-compress, XBean, and ensures the default options are compatible with last GraalVM release.


More News

Last Updated ( Friday, 14 March 2014 )