13
$\begingroup$

I know that Blender makes extremely heavy use of OpenGL. What version of OpenGL does Blender use, and how difficult would it be to port it over to OpenGL ES?

$\endgroup$
12
$\begingroup$

Blender requires OpenGL 3.3, however we may take advantage of newer OpenGL versions too.

So while Blender depends on 3.3, it may use newer features when available and fail gracefully if they are not (as opposed to crashing or not starting at all).

Note that some features are user preferences too since we can't always rely on asking the driver if a certain feature works well or not (drivers don't always give us reliable information).

See: https://www.blender.org/download/requirements/

$\endgroup$
  • 3
    $\begingroup$ More post 1.4 features are likely find their way into Blender with the Viewport FX project for GSoC 2013: code.blender.org/index.php/2013/05/google-summer-of-code-2013 $\endgroup$ – jesterKing May 29 '13 at 23:14
  • $\begingroup$ Updated answer, minimum version changed from 1.4 to 2.1. $\endgroup$ – ideasman42 Feb 24 '16 at 22:40
  • $\begingroup$ Is this still the case with Blender 2.8? $\endgroup$ – Aaron Franke Sep 17 '19 at 2:25
  • $\begingroup$ Updated for 2.8x $\endgroup$ – ideasman42 Sep 17 '19 at 2:58
6
$\begingroup$

Blender has no ties to a specific version of OpenGL. For the entire GUI it even still sticks to the OpenGL 1.4 standard, which is now over 12 years old and can be expected to run fine on all modern 3d hardware.

$\endgroup$
6
$\begingroup$

Blender 2.77 is the first version to require OpenGL 2.1.

Blender 2.8 (planned for 2016) will be the first to require GL 3.2 core profile.

Like ideasman42 explained, Blender can use GPU features higher than the required minimum, but it must check first at run-time. This has been true for a long time and will continue to be true.

Regarding the ES part of your question, GL core profile is very close to ES so it should be doable for someone with ample time and knowledge.

See http://www.phoronix.com/scan.php?page=news_item&px=MTE2OTY for a prototype running on Android in 2012, using OpenGL ES.

$\endgroup$
  • 1
    $\begingroup$ Update: We ended up using OpenGL 3.3 core profile for Blender 2.8. $\endgroup$ – Mike Erwin Mar 16 '18 at 18:27
3
$\begingroup$

For GSoC 2012 there was a project to port part of Blender to Android and thus to OpenGL ES. See http://wiki.blender.org/index.php/User:AlexK/Gsoc2012

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.