[翻译]opengl扩展教程2

原文地址https://www.opengl.org/sdk/docs/tutorials/ClockworkCoders/extensions_part2.php

  • [翻译]opengl扩展教程2

    • OpenGL着色器语言扩展

      • 检测存在的GLSL版本

OpenGL着色器语言扩展

实际上现在我们知道足够多的扩展,对于我们GLSL程序使用。

检测存在的GLSL版本

若要检查OpenGL着色语言当前是否支持,扩展"GL_ARB_shading_language_100"必须可用。如果存在此扩展,则实际版本的OpenGL着色语言可以用glGetString(GL_SHADING_LANGUAGE_VERSION_ARB)进行查询。返回字符串的格式是:
"major.minor.release vendor_info_string"。(其中"release""vendor_info_string"是可选)。版本号可以是1位或多位数。
不幸的是,这是不可能用 OpenGL 着色语言的初始版本。如果查询返回一个"GL_INVALID_ENUM"的错误,那么你可以假设它是版本1.051(major=1, minor=0, revision=51)(主版本号=1, 次版本号=0, 修订版本号=51)。

if (glewIsSupported("GL_ARB_shading_language_100"))
{  int major, minor, revision;const GLubyte* sVersion = glGetString(GL_SHADING_LANGUAGE_VERSION_ARB);if (glGetError() == GL_INVALID_ENUM){major = 1; minor = 0; revision=51;}else{// parse string sVersion to get major, minor, revision}
}

如果"GL_ARB_shading_language_100"是当前支持的,那么着色器语言相关其他的扩展也一定存在:"GL_ARB_shader_objects", "GL_ARB_fragment_shader", 和"GL_ARB_vertex_shader"

转载于:https://www.cnblogs.com/oloroso/p/5133975.html

[翻译]opengl扩展教程2相关推荐

  1. overflow鼠标拖拽显示_[翻译] 从零开始的 .Net Shell 扩展教程 (四) - Shell 拖拽处理程序

    Vukr:[翻译] 从零开始的 .Net Shell 扩展教程 (三) - Shell 提示处理程序​zhuanlan.zhihu.com 使用 .Net 快速创建 Shell 拖拽处理程序 介绍 S ...

  2. OpenGL入门教程(转)

    OpenGL入门学习 说起编程作图,大概还有很多人想起TC的#include <graphics.h>吧? 但是各位是否想过,那些画面绚丽的PC游戏是如何编写出来的?就靠TC那可怜的640 ...

  3. OpenGL完整教程专栏完整目录

    OpenGL完整教程专栏完整目录 专栏说明如下 专栏目录 专栏说明如下 内容:OpenGL完整教程 数量:314篇博文(2023年2月15日截止) 更新时间至:2023年2月15日(后续加上去的博文, ...

  4. Win32汇编扩展教程

    Win32汇编扩展教程 第一课 Win32 扩展消息框示例 在罗哥云琳的Win32消息框示例基础上,做一个扩展例子. 首先弹出消息框,2个按钮,YESNO; 点击NO,程序结束:点击YES,弹出第二个 ...

  5. [Z]如何使用OpenGL扩展

    如果你在Windows平台下开发OpenGL程序,那么系统中自带的OpenGL库就是1.1的,如果想使用1.2或者更高版本的OpenGL库,那么只能使用OpenGL扩展,在网上关于如何使用OpenGL ...

  6. iOS-raywenderlich翻译-AFNetworking速成教程

    http://blog.csdn.net/beyondvincent/article/details/8691257 本文是由 iOS Tutorial 小组成员 Scott Sherwood撰写,他 ...

  7. OpenGL版本与OpenGL扩展机制

    1 opengl的版本区别(在opengl官方文档中有详细说明)     针对Opengl不同版本的升级是主要是扩展指令集.     现在版本是4.0啦 1.1 opengl1.1 1995年,SGI ...

  8. windows7下安装php的imagick和imagemagick扩展教程

    这篇文章主要介绍了windows7下安装php的imagick和imagemagick扩展教程,同样也适应XP操作系统,Win8下就没测试过了,需要的朋友可以参考下 最近的PHP项目中,需要用到切图和 ...

  9. OpenGL ES教程VI之纹理贴图(原文对照)

    注:又是一篇,是否有人能解释得清楚,2是重复两次,那么是否N就是重复N次呢?接近1.0的坐标值整数部分加上几就是重复几次吗?这个好像之前验证过不一定的. 转自:http://melord.iteye. ...

最新文章

  1. 终于搞懂了sleep/wait/notify/notifyAll
  2. Eclipse一直building workspace问题解决
  3. java和python哪个好就业2020-python和java自学哪个好?
  4. 计算机组成原理数据冒险的解决nop,计算机组成原理实验讲义(103页)-原创力文档...
  5. 计算机基础- -计算机为什么要使用二进制
  6. 每周分享五个 PyCharm 使用技巧(四)
  7. python 字符串替换_学完Python打算出去找工作,怕找不到?看完这篇你可以提高通过率...
  8. C4D灵感合集|在集设,设计眼界被打开
  9. 【数据结构】- 二叉树基础操作
  10. 关于RAM的空间使用超过限度的时候报错
  11. BZOJ4360 : achievement
  12. scrapy 处理动态加载,使用phantomjs
  13. protel dxp 2004 sp2
  14. EXE捆绑机制作原理
  15. 【python+selenium】自动登陆青果教务系统
  16. 放眼看政策!2022年武汉市光谷招贤令奖励补贴政策以及申报条件!
  17. Element日期选择器带快捷选项切换日期
  18. cdr文件过大导出pdf打不开_cdr导出pdf 文件有问题怎么办
  19. 签名服务器原理,SSL证书数字签名的原理是什么?如何实现加密?
  20. Spring Cloud OAuth2 认证服务器

热门文章

  1. Session在类库中的使用
  2. 学习NodeJS第一天:node.js引言
  3. mysql数据库表迁移
  4. 简单入门——深度学习笔记(Part II)
  5. centos6.5虚拟机安装后,没有iptables配置文件
  6. Linux 大规模请求服务器连接数相关设置
  7. MySQL查看状态及简单优化
  8. 安装apache2.4.10
  9. 利用UltraEdit将十六进制转换成ASCII 字符串(调试查看内存有用哦)
  10. iftop 流量监控