首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >堆叠Cg着色器

堆叠Cg着色器
EN

Stack Overflow用户
提问于 2009-05-21 21:08:21
回答 1查看 640关注 0票数 1

在我的引擎中,我从成对的顶点/像素着色器文件中加载Cg着色器。我希望能够堆叠着色器来组合它们(照明+材质等)。除了将着色器分解成单独的函数,然后从这些函数中创建单个着色器脚本字符串之外,你知道在Cg中堆叠不同着色器的任何好方法吗?

EN

回答 1

Stack Overflow用户

发布于 2009-06-14 09:50:15

这听起来有点像你想要的东西类似于DirectX 11中的动态着色器链接功能?Cg的接口功能可以让你完成类似的事情。它允许您重新配置着色器,以便您可以轻松、干净地执行更改照明计算方式或更改材质类型等操作。

例如,假设您要编写着色器,但需要能够更改计算照明的方式。您可以定义一个Light接口,该接口具有以某种方式计算灯光的函数。在其他地方,您可以实现Light接口,例如,CoolLight和UberLight。在运行时,您可以指定应该使用Light接口的哪个实现,这与您指定其他参数的方式几乎相同。

要了解这是否是您想要的,我建议您查看Cg用户手册(http://developer.download.nvidia.com/cg/Cg_2.2/CgUsersManual.pdf)。如果你搜索“共享参数和接口”,有一个小例子。

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

https://stackoverflow.com/questions/895170

复制
相关文章

相似问题

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