首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >着色器与着色器材质、特定于papervision、一般洞察力欢迎

着色器与着色器材质、特定于papervision、一般洞察力欢迎
EN

Stack Overflow用户
提问于 2010-05-25 04:36:33
回答 1查看 409关注 0票数 1

我在pv3d论坛上问了这个问题,没有一个人能回答,也没有人愿意回答。

我是3d的新手,所以如果这对一些人来说是常识,我道歉。

我有一个球体,我在其中应用了一个CellMaterial。真不错。我注意到在papervision sdk中也有一个CellShader。

我应该与CellMaterial一致地使用它吗?它应该是一个还是另一个?着色器是不推荐使用的着色器材质吗?

我最初的想法是着色器应用于整个场景,而材质可以唯一地应用于对象。

文档似乎显示了不同的情况。

同时使用CellShader和CellMaterial可以获得什么好处?我真的很喜欢在其中加入一些环境元素。

EN

回答 1

Stack Overflow用户

发布于 2010-09-11 04:44:31

如果你只是想看看细胞,没有别的,CellMaterial是你的选择。CellShader的目的是将其与ShadedMaterial中的BitmapMaterial混合使用。

假设你应用了一个GaraudMaterial并且喜欢它的外观,但是你也想要一个纹理在里面。使用GaraudMaterial无法做到这一点,但是如果您有一个BitmapMaterial和一个GaraudShader,则可以创建一个使用这两个and的ShadedMaterial。

例如:

代码语言:javascript
复制
var bitmapMaterial:BitmapMaterial = new BitmapMaterial(yourBitmapData);
var shader:PhongShader = new PhongShader(yourLight,0xFFFFFF, 0x000000,0,yourBumpMap);
//this uses the two above
var shadedMaterial:ShadedMaterial = new ShadedMaterial(bitmapMaterial,shader);
//apply it to something
var sphere:Sphere = new Sphere(shadedMaterial,250,10,10);

有关更多解释,请查看Jim Foley's post

至于环境光遮挡,获得效果的最便宜方法是将bake the shadows添加到纹理中。你可以用你选择的3D编辑器(3dsmax,maya,blender,等等)来做这件事,这基本上意味着光/阴影被渲染到纹理中。

在做这个dynamically上有一些工作,还没有检查它是否会出现在最新版本的Papervision中。

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

https://stackoverflow.com/questions/2900142

复制
相关文章

相似问题

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