您当前的位置: 首页 >  ar

Jave.Lin

暂无认证

  • 3浏览

    0关注

    704博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

LearnGL - 12 - GLSL include - GL_ARB_shading_language_include (Extensions扩展) - 各种踩坑

Jave.Lin 发布时间:2020-07-24 18:20:51 ,浏览量:3

文章目录
  • GL_ARB_shading_language_include 不支持?
    • 留意使用的显卡是否集成显卡
    • 设置使用独立显卡
  • 扩展的 API
    • GLAD、GLAD Web 页面使用
    • API
  • 实践
    • 先准备两个被 #include 的文件
      • my_global.glsl
        • 注意的一些错误 - 坑1
      • my_phong.glsl
    • testing_includes.vert/frag 带有 include 的 shader
      • #extension GL_ARB_shading_language_include : require 有时报错要放在任意代码之前 - 坑2
    • C++应用层 glNamedStringARB 调用
      • my_gl_include_exts.h
  • References
LearnGL - 学习笔记目录

前些篇:

  • LearnGL - 11.1 - 实现简单的Gouraud-Phong光照模型
  • LearnGL - 11.2 - 实现简单的Phong光照模型
  • LearnGL - 11.3 - 实现简单的Blinn-Phong光照模型
  • LearnGL - 11.4 - 实现简单的Flat BlinnPhong光照模型

我们学习 GLSL 的尝试光照计算,但是每个 shader 中一堆的重复代码,实在让人无法忍受

这篇:我们就给 GLSL 添加 #include"your_file_name.xxx" 的功能

本人才疏学浅,如有什么错误,望不吝指出。

在 GLSL 编写 shader 时,发现不能直接使用 #include"file_name.xxx"

写 shader 起来相当麻烦

然后我还想着去添加一下 GLSL Include 的功能

GL_ARB_shading_language_include 不支持?

结果发现 OpenGL 4.5 竟然不支持 GL_ARB_shading_language_include

// static API
static std::vector g_supportExtensions;
static void GetSupportExtensions() {
	if (!g_supportExtensions.empty())
		return;
	GLint n, i;
	glGetIntegerv(GL_NUM_EXTENSIONS, &n);
	for (i = 0; i             
关注
打赏
1664331872
查看更多评论
0.3172s