《OpenGL编程指南(原书第9版)》——2.1 着色器与OpenGL「建议收藏」

《OpenGL编程指南(原书第9版)》——2.1 着色器与OpenGL

大家好,又见面了,我是全栈君。

2.1 着色器与OpenGL

现代OpenGL渲染管线严重依赖着色器来处理传入的数据。如果不使用着色器,那么用OpenGL可以做到的事情可能只有清除窗口内容了,可见着色器对于OpenGL的重要性。在OpenGL 3.0版本以前(含该版本),或者如果你用到了兼容模式(compatibility prof?ile)环境,OpenGL还包含一个固定功能管线(f?ixed-function pipeline),它可以在不使用着色器的情况下处理几何与像素数据。从3.1版本开始,固定功能管线从核心模式中去除,因此我们必须使用着色器来完成工作。
无论是OpenGL还是其他图形API的着色器,通常都是通过一种特殊的编程语言去编写的。对于OpenGL来说,我们会使用GLSL,也就是OpenGL Shading Language,它是在OpenGL 2.0版本左右发布的(在之前它属于扩展功能)。它与OpenGL的发展是同时进行的,并通常会与每个新版本的OpenGL一起更新。虽然GLSL是一种专门为图形开发设计的编程语言,但是你会发现它与“C”语言非常类似,当然还有一点C++的影子。
着色器是OpenGL非常基础的操作,因此很有必要尽早介绍它,让读者能够尽快适应它的代码编写。任何一种OpenGL程序本质上都可以被分为两个部分:CPU端运行的部分,采用C++之类的语言进行编写;以及GPU端运行的部分,使用GLSL语言编写。
本章将介绍编写着色器的方法,以循序渐进的方式讲解GLSL,讨论如何编译着色器并且与应用程序相结合,以及如何将应用程序中的数据传递到不同的着色器中。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108181.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • WIN7系统配置maven环境变量「建议收藏」

    WIN7系统配置maven环境变量「建议收藏」1.maven程序包下载地址:maven下载后解压到想要安装的位置,我直接放到C盘下了然后配置他的环境变量新建一个MAVEN_HOME,变量值复制自己的路径黏贴即可:将%MAVEN_HOME%\bin;添加到Path后面按住WIN+R组合键,输入CMD回车,在DOS窗口输入mvn-v测试安装结果,成功后如下图:2.配置maven本地仓库在C盘新建apache-mave…

    2022年6月18日
    83
  • 协同过滤推荐算法详解「建议收藏」

    协同过滤推荐算法详解「建议收藏」一、什么是协同过滤?协同过滤是利用集体智慧的一个典型方法。要理解什么是协同过滤(CollaborativeFiltering,简称CF),首先想一个简单的问题,如果你现在想看个电影,但你不知道具体看哪部,你会怎么做?大部分的人会问问周围的朋友,看看最近有什么好看的电影推荐,而我们一般更倾向于从口味比较类似的朋友那里得到推荐。这就是协同过滤的核心思想。协同过滤一般是在海量的用户中发掘

    2022年6月29日
    25
  • 向navicat中导入数据库时出现错误_sqlserver导入sql文件

    向navicat中导入数据库时出现错误_sqlserver导入sql文件在Navicat导出的 或者别的sql文件,在使用Navicat导入时候 出现异常失败报错问题。搜索了很多资料查看,发现是没有解决掉的。最后无意间想起使用 MySql 直接使用命令导入尝试,发现可行的简单粗暴,直接打开你的MySql 登录以后 选择 要导入的数据库use 数据库名称;source 文件的绝对路径;完事 ,坐等~…

    2022年8月19日
    22
  • 错误的类文件:apache-tomcat-7.0.73-windows-x64\apache-tomcat-7.0.73 \lib\servlet-api.jar(javax/servlet/http

    错误的类文件:apache-tomcat-7.0.73-windows-x64\apache-tomcat-7.0.73 \lib\servlet-api.jar(javax/servlet/http错误的类文件:apache-tomcat-7.0.73-windows-x64\apache-tomcat-7.0.73 \lib\servlet-api.jar(javax/servlet/http

    2022年4月25日
    45
  • cpu后缀讲解

    cpu后缀讲解Intel桌面式CPUX后缀 X代表Extreme,中文意思是至尊级,代表同一时代性能最强的CPU。如Corei7-5960X、Corei7-4960X。X代表在同一代中只有一款CPU黄袍加身,地位至高无上。加上没有竞争对手可以望其项背,从露面都退出市场,期待的弑君者没有出现。SandyBridge时代到现在,竞争的天平一直向Intel倾斜。K后缀自从SandyBridge时代Intel限制

    2022年5月7日
    52
  • Sublime 安装、插件CoolFormat

    Sublime 安装、插件CoolFormat

    2021年10月7日
    53

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号