博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《OpenGL编程指南》一2.1 着色器与OpenGL
阅读量:5808 次
发布时间:2019-06-18

本文共 644 字,大约阅读时间需要 2 分钟。

本节书摘来自华章出版社《OpenGL编程指南》一书中的第2章,第2.1节,作者 Bill Licea-Kane ,更多章节内容可以访问云栖社区“华章计算机”公众号查看

2.1 着色器与OpenGL

现代OpenGL渲染管线严重依赖着色器来处理传入的数据。如果不使用着色器,那么用OpenGL可以做到的事情可能只有清除窗口内容了,可见着色器对于OpenGL的重要性。在OpenGL 3.0版本以前(含该版本),或者如果你用到了兼容模式(compatibility profile)环境,OpenGL还包含一个固定功能管线(fixed-function pipeline),它可以在不使用着色器的情况下处理几何与像素数据。从3.1版本开始,固定功能管线从核心模式中去除,因此我们必须使用着色器来完成工作。

无论是OpenGL还是其他图形API的着色器,通常都是通过一种特殊的编程语言去编写的。对于OpenGL来说,我们会使用GLSL,也就是OpenGL Shading Language,它是在OpenGL 2.0版本左右发布的(在之前它属于扩展功能)。它与OpenGL的发展是同时进行的,并通常会与每个新版本的OpenGL一起更新。虽然GLSL是一种专门为图形开发设计的编程语言,但是你会发现它与“C”语言非常类似,当然还有一点C++的影子。
本章将介绍编写着色器的方法,以循序渐进的方式讲解GLSL,讨论如何编译着色器并且与应用程序相结合,以及如何将应用程序中的数据传递到不同的着色器中。

转载地址:http://qxybx.baihongyu.com/

你可能感兴趣的文章
springboot 使用maven 打包 报 (请使用 -source 7 或更高版本以启用 diamond 运算符) 错误解决办法...
查看>>
什么是代码现代化?
查看>>
【2011集训贾志鹏】Crash 的数字表格
查看>>
【UR #5】怎样跑得更快
查看>>
多项式幂函数(加强版)
查看>>
springboot 2.0配置集成thymeleaf的坑
查看>>
like的性能问题
查看>>
vue 中使用 async/await 将 axios 异步请求同步化处理
查看>>
BZOJ1078 [SCOI2008]斜堆
查看>>
Digests from CG articales
查看>>
C++day07 学习笔记
查看>>
弹性盒子
查看>>
password
查看>>
JBPM流程部署之部署解析器相关对象扩展
查看>>
python---time模块使用详解
查看>>
Linux下UPnP sample分析
查看>>
react:reducer-creator
查看>>
数据库基础
查看>>
表格排序
查看>>
updatepanel中的GridView中的radiobuttonList怎么设置样式
查看>>