Skip to Content
OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 4.3, Eighth Edition
book

OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 4.3, Eighth Edition

by Dave Shreiner, Graham Sellers, John M. Kessenich, Bill M. Licea-Kane
March 2013
Intermediate to advanced content levelIntermediate to advanced
984 pages
26h 18m
English
Addison-Wesley Professional
Content preview from OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 4.3, Eighth Edition

Advanced

While GLSL allows you to define functions in shaders, the call flow of those functions was always static. To dynamically select between multiple functions, you either created two distinct shaders, or used an if-statement to make a run-time selection, like demonstrated in Example 2.5.

Example 2.5. Static Shader Control Flow

#version 330 corevoid func_1() { ...  }void func_2() { ...  }uniform int func;void main(){     if (func == 1)         func_1();     else          func_2();}

Shader subroutines are conceptually similar to function pointers in C for implementing dynamic subroutine selection. In your shader, you specify a subroutine type and use that type when declaring the set of subroutines eligible for dynamic use. Then, you choose ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

OpenGL Programming Guide: The Official Guide to Learning OpenGL, Versions 3.0 and 3.1, Seventh Edition

OpenGL Programming Guide: The Official Guide to Learning OpenGL, Versions 3.0 and 3.1, Seventh Edition

Dave Shreiner - The Khronos OpenGL ARB Working Group
OpenGL ES 3.0 Programming Guide, Second Edition

OpenGL ES 3.0 Programming Guide, Second Edition

Dan Ginsburg, Budirijanto Purnomo, Dave Shreiner, Aaftab Munshi
Learn OpenGL

Learn OpenGL

Frahaan Hussain
Advanced Graphics Programming Using OpenGL

Advanced Graphics Programming Using OpenGL

Tom McReynolds, David Blythe

Publisher Resources

ISBN: 9780132748445Purchase bookOther