官术网_书友最值得收藏!

Introduction

The OpenGL API has seen various changes since its creation in 1992. With every new version, new features were added and additional functionality was exposed on supporting hardware through extensions. Until OpenGL v2.0 (which was introduced in 2004), the functionality in the graphics pipeline was fixed, that is, there were fixed set of operations hardwired in the graphics hardware and it was impossible to modify the graphics pipeline. With OpenGL v2.0, the shader objects were introduced for the first time. That enabled programmers to modify the graphics pipeline through special programs called shaders, which were written in a special language called OpenGL shading language (GLSL).

After OpenGL v2.0, the next major version was v3.0. This version introduced two profiles for working with OpenGL; the core profile and the compatibility profile. The core profile basically contains all of the non-deprecated functionality whereas the compatibility profile retains deprecated functionality for backwards compatibility. As of 2012, the latest version of OpenGL available is OpenGL v4.3. Beyond OpenGL v3.0, the changes introduced in the application code are not as drastic as compared to those required for moving from OpenGL v2.0 to OpenGL v3.0 and above.

In this chapter, we will introduce the three shader stages accessible in the OpenGL v3.3 core profile, that is, vertex, geometry, and fragment shaders. Note that OpenGL v4.0 introduced two additional shader stages that is tessellation control and tessellation evaluation shaders between the vertex and geometry shader.

主站蜘蛛池模板: 微山县| 兴义市| 马鞍山市| 舒兰市| 丰顺县| 绥江县| 福泉市| 高尔夫| 涿鹿县| 沈阳市| 建瓯市| 阳新县| 新蔡县| 松溪县| 衡阳县| 茌平县| 麻城市| 枣庄市| 资兴市| 铜山县| 嘉兴市| 泗洪县| 天镇县| 潞城市| 垫江县| 常熟市| 高雄市| 剑阁县| 宁南县| 南平市| 谢通门县| 内乡县| 葵青区| 枣阳市| 铜川市| 宿迁市| 恩施市| 眉山市| 陇川县| 马边| 昌乐县|