查看: 1338|回复: 9

glsl 问题

[复制链接]

该用户从未签到

发表于 2009-11-30 10:29:57 | 显示全部楼层 |阅读模式
怎么读出 模型的原始材质??

该用户从未签到

发表于 2009-11-30 11:18:42 | 显示全部楼层

该用户从未签到

 楼主| 发表于 2009-11-30 11:58:59 | 显示全部楼层
就是 在 载入时          模型本身已经贴了材质  不是通过 uniform 传入的材质

该用户从未签到

发表于 2009-11-30 12:27:57 | 显示全部楼层
通过内建的一致变量gl_FrontMaterial和gl_BackMaterial读入,具体的结构体内容可以参阅《OpenGL着色语言》一书

该用户从未签到

 楼主| 发表于 2009-12-2 10:34:10 | 显示全部楼层
老大啊 给个 事例 代码吧 我怎么也整不出来

如果想让 纹理 都加一层绿色 怎么用 glsl 语言??
还有 如果 材质的每一个颜色点都要 乘以 一个 因子(因子 都在一个文件中) 这个 能用glsl 语言实现吗??
glsl好像不能读文件吧

该用户从未签到

发表于 2009-12-2 10:47:51 | 显示全部楼层
不能读文件,只能用uniform变量传入。简单地加一层绿色就gl_FragColor += vec4(0,1,0,1)就可以了,复杂的需要您自己设计融合的方式,并用mix等内置函数运算

该用户从未签到

 楼主| 发表于 2009-12-2 10:55:50 | 显示全部楼层
不是 要给模型本身的纹理加 颜色 用gl_FrontMaterial和gl_BackMaterial怎么就没有纹理了?
uniform 不能传入那么多的 变量吧

该用户从未签到

发表于 2009-12-2 11:04:21 | 显示全部楼层
麻烦您把自己的思路理清再提问,我不知道您到底想说什么

该用户从未签到

 楼主| 发表于 2009-12-2 22:49:04 | 显示全部楼层
对不起对不起 我问的有问题

1 我给模型本身的纹理加颜色时,采用gl_FrontMaterial和gl_BackMaterial怎么就没有纹理了?
   也就是说纹理不见了~
2 uniform 不能传入很多的变量吧!

该用户从未签到

发表于 2009-12-3 08:33:42 | 显示全部楼层
第一个问题我还是不明白,您是如何给“纹理加颜色”的?

uniform能够传入的变量是有限的,可以通过glGet查询GL_MAX_VERTEX_UNIFORM_COMPONENTS和GL_MAX_FRAGMENT_UNIFORM_COMPONENTS来获取您的显卡所支持的数量
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表