首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在glsl支持ARB_shading_language_include中使用#include

如何在glsl支持ARB_shading_language_include中使用#include
EN

Stack Overflow用户
提问于 2012-05-25 20:27:42
回答 2查看 23.1K关注 0票数 30

我不想在#include中使用GLSL宏来包含着色器文件,我听说有一个ARB_shading_language_include extension支持#include宏。有没有人可以给我一个代码片段,告诉我如何使用#include宏?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-25 22:20:28

关于shading_language_include,你首先需要了解的是它不是什么,而不是"I #include a file from The disk“。OpenGL不知道什么是文件;它没有文件系统的概念。

相反,您必须预先加载您可能想要包含的所有文件。因此,您有一个着色器字符串和一个从中加载字符串的文件名。本质上,您必须在OpenGL中构建一个虚拟文件系统。

您可以使用glNamedStringARB将字符串上载到虚拟文件系统。字符串的名称是它的完整路径名。

构建虚拟文件系统后,必须为编译的每个着色器初始化扩展。

代码语言:javascript
复制
#version MY_OPENGL_VERSION //Whatever version you're using.
#extension GL_ARB_shading_language_include : require

#extension语句之后,您可以根据需要使用#include

票数 55
EN

Stack Overflow用户

发布于 2016-07-20 21:46:49

我想回答0xbadf00d的问题,但缺乏声誉。

来自ARB/shading_language_include.txt:"<type>必须是SHADER_INCLUDE_ARB

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10754437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档