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

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.

主站蜘蛛池模板: 抚州市| 建湖县| 鄯善县| 厦门市| 康定县| 台北县| 共和县| 永清县| 霸州市| 新竹市| 基隆市| 株洲县| 宁乡县| 黔东| 宣汉县| 明光市| 宁晋县| 北流市| 正蓝旗| 瓮安县| 盱眙县| 洪雅县| 新巴尔虎左旗| 新建县| 黄龙县| 吉水县| 通州市| 禄丰县| 从化市| 吴桥县| 余江县| 武穴市| 调兵山市| 抚州市| 潜山县| 南岸区| 库尔勒市| 九龙坡区| 贵州省| 九龙城区| 和硕县|