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.

 

espbook

 

Comments




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

 

Banner


Ursina - A Game Engine Powered by Python
08/11/2024

Ursina is a new open source game engine in which you can code any type of game in Python, be it 2-D, 3-D, an application, a visualization, you name it.



Lightbend Announces Akka 3
15/11/2024

Lightbend, the company that developed Akka, has announced Akka 3, and has changed its name to Akka. The company produces cloud-native microservices frameworks, and Akka is used for building distribute [ ... ]


More News

Last Updated ( Friday, 14 March 2014 )