If you're running AdBlock, please consider whitelisting this site if you'd like to support LearnOpenGL; and no worries, I won't be mad if you don't :)

How to publish


If you'd like to write your own article and have it published on LearnOpenGL for everyone to read you can send over your article to me by e-mail. By having interested readers publish their own articles on LearnOpenGL I hope this website will be more than just an online book, but a more centralized knowledge platform for everything OpenGL.

If you'd like to publish an article you'll want to follow the following guidelines:

  • Article should be OpenGL related. Articles may be technical e.g. How to use glDrawArraysIndirect and compute shaders to efficiently render large scenes, or sementical e.g. How I learned OpenGL in 30 days.
  • Article needs to have a positive impact on LearnOpenGL e.g. be educational, informative, inspirational.
  • Article should be written in a style similar to LearnOpenGL: a more step-by-step approach to writing tutorials.
  • When using shaders and/or a camera, make sure to use LearnOpenGL's shader and camera includes for consistency with all the other articles. Similarly, use GLFW and GLAD.
  • Article should use HTML tags to organize its layout. There is a source page you can find here as an example.
  • Images/videos can be referenced by URL. If you'd like to use locally hosted images/videos, send them alongside your article and reference them as `/img/guest/<year>/<your_article_name>/<image.png>` with `<your_article_name>` in lowercase and seperated by underlines.
  • If the article is technical, try to keep the code as self-contained (and as few files) as possible. And make the full source code available.
  • It's perfectly fine to have your article be a series of articles e.g. Terrain rendering tutorial part X/5.
  • Article should of course be technically and mathematically sound.
  • Check with me first before you start as someone else may already be working on the same topic or the topic doesn't match well.

As I intend to keep the quality-bar high, I'll be thorough in enforcing these restrictions. This means there's a good chance I'll reject your article, or return it with a significant amount of feedback. Nevertheless, if you followed the guidelines and generally make for an interesting article that adds something on top of the already existing content it's likely your article ends up on LearnOpenGL.

When you submit an article, please mention your full name, and a link to your website/blog if you'd like the additional exposure.

Topic suggestions

If you'd like to contribute but don't know what to write about, the following topics are a selection of highly requested topics:

  • Skeletal Animation
  • Frustum Culling
  • Casaded Shadow Mapping
  • Depth of Field
  • Motion Blur
  • Temporal AA
  • Compute Shaders
  • OpenGL 4+ features
  • Tesselation Shaders
  • Reflection Probes (and in-between blending)