格式: ambient <red> <green> <blue>
正确的参数在0.0和1.0之间取值。直接影响物体材质对环境光反射能力。默认值为白色(1.0 1.0 1.0)。
格式: diffuse <red> <green> <blue>
正确的参数在0.0和1.0之间取值。直接影响物体材质对漫射光的反射属性。默认值为白色(1.0 1.0 1.0)。
格式: specular <red> <green> <blue> <shininess>
正确的颜色参数在0.0和1.0之间取值,shininess属性可以是任何正数。直接影响物体材质的镜面反射属性。默认值为无镜面反射(0.0 0.0 0.0 0.0)。
格式: emissive <red> <green> <blue>
正确的颜色参数在0.0和1.0之间取值。如果一个物体自发光,它将不需要外界的照明,但是,值得注意的是这不表明这个物体将会成为一个光源:它只会照亮自己。默认是黑色(0.0 0.0 0.0)。
格式1: scene_blend <add|modulate|alpha_blend>
这个格式比较简单常用一些,参数意义如下:
add
|
渲染的结果将被以相加的方式加入场景之中,与scene_blend one one等价。对爆炸,火焰,光照,幽灵等效果比较好。
|
Modulate
|
渲染的结果与场景相乘。对烟、玻璃杯和单个的透明物效果较好。与scene_blend src_colour one_minus_src_colour等价。
|
alpha_blend
|
渲染结果中的Alpha成员将被用作遮罩。与scene_blend src_alpha one_minus_src_alpha等价。
|
格式2: scene_blend <src_factor> <dest_factor>
这个格式比较麻烦,但是比较完善。结果的计算公式为(texture * sourceFactor) + (scene_pixel * destFactor)其中sourceFactor和destFactor如下:
One
|
常数1.0
|
Zero
|
常数0.0
|
dest_colour
|
当前点的颜色
|
src_colour
|
纹理对应点的颜色
|
one_minus_dest_colour
|
1 - (dest_colour)
|
one_minus_src_colour
|
1 - (src_colour)
|
dest_alpha
|
当前点的Alpha值
|
src_alpha
|
纹理对应点的Alpha值
|
one_minus_dest_alpha
|
1 - (dest_alpha)
|
one_minus_src_alpha
|
1 - (src_alpha)
|
默认值: scene_blend one zero (不透明)
格式: depth_check <on|off>
默认打开深度缓存。有助于判断两个点的遮挡关系和前后关系,体现三维立体感。
格式: depth_write <on|off>
默认允许,关掉的话,则被关的Material会一直浮动在所有物体前面。
格式: depth_func <func>
always_fail
|
从不比较
|
always_pass
|
总是用新的换掉旧的
|
less
|
新的比旧的小就换掉
|
Less_equal
|
新的小于等于旧的就换掉
|
equal
|
等于就换掉
|
not_equal
|
不等于就换掉
|
greater_equal
|
新的大于等于旧的就换掉
|
greater
|
新的比旧的大就换掉
|
默认为:小于等于就换掉depth_func less_equal
格式: cull_hardware <clockwise|anitclockwise|none>
默认顺时针Cull。这与OpenGL的默认是一样的,但和D3D的默认相反。(因为Ogre用的是OpenGL采用的右手坐标系)
格式: cull_software <back|front|none>
默认背面。相当于硬件Cull模式的顺时针。
设置动态光照是否为此材质打开。如果关掉,将使材质本身的所有的ambient, diffuse, specular, emissive和shading属性无效,仅仅与外界的光照有关。
格式: lighting <on|off>
默认: lighting on
格式: shading <flat|gouraud|phong>
Flat
|
每个表面仅仅用一个颜色填充
|
gouraud
|
线性过渡表面颜色
|
phong
|
并非所有的硬件都支持,这种模式测定每一个顶点的颜色。
|
默认: shading gouraud
格式: filtering <none|bilinear|trilinear>
默认是双线性(bilinear)
格式: texture <texturename>
无默认值,必须指定一个纹理名。
设置动画纹理使用的图片文件名。
格式1 (短的): anim_texture <base_name> <num_frames> <duration>
指定一个图片名称,以这个名称后缀_1、_2一直到_num(由num_frames指定),duration指定间隔时间。
格式2 (长的): anim_texture <frame1> <frame2> ... <duration>
一个一个指定图片名称,duration指定间隔时间。
无默认值
分享到:
相关推荐
在Ogre 3D渲染引擎中,材质脚本是一种强大的工具,它允许开发者定义和管理对象表面的视觉表现。Ogre的材质系统是其核心特性之一,它为开发者提供了丰富的功能来控制物体如何在场景中呈现。这个"ogre中的材质脚本...
OGRE(Object-Oriented Graphics Rendering Engine)是一个开源的3D图形引擎,广泛用于游戏开发和其他需要高质量...在OGRE中,材质脚本的灵活性和强大功能使得开发者能够实现复杂的渲染逻辑,创造出令人惊叹的3D世界。
MaterialManager类的`parseAllSources`和`parseScript`函数是材质脚本解析的核心,它们负责从文件系统中加载材质脚本,并将脚本内容转化为Ogre引擎可理解的格式,最终实现在3D场景中的应用。这种设计模式不仅提高了...
lexers目录可能包含了用于解析和生成材质脚本的词法分析器,它们帮助编辑器理解和操作材质配置文件。bin目录则通常包含可执行文件或库文件,这些都是OgreMaterialEditor运行所必需的。 在实际应用中,...
通过OGRE的材质脚本,开发者可以创建可复用的材质定义,并在需要时加载它们。 材质脚本文件通常有“.material”扩展名,它们在资源组初始化时被加载。OGRE会在关联该组的所有资源位置中寻找这些文件,并进行解析。...
OGRE粒子脚本是一种强大的工具,它允许开发者在不修改源代码的情况下,通过脚本定义和实例化粒子系统。这提供了更高的灵活性,使得快速响应设计调整成为可能。粒子脚本通常用于创建各种视觉效果,如火花、烟雾、水滴...
3D游戏图形高级纹理映射及ogre材质和纹理映射.ppt
Ogre3D支持多种脚本语言,包括其内置的CgFX和HLSLFX等,主要用于处理材质和效果。但是,对于游戏逻辑和行为控制,使用像Lua这样的动态脚本语言更为合适,因为它们可以提供更直观的编程模型和更高的运行时性能。 在...
整理了一份OGRE材质脚本的快速参考文档
1. **关键字高亮**:编辑器能够识别Ogre材质脚本中的关键字,并以特定颜色高亮显示,使代码更易读,帮助开发者快速定位和识别关键指令。 2. **代码缩进**:自动代码缩进功能可以保持代码的整洁和一致性,使得脚本的...
在Ogre的粒子DEMO中,可以直观地看到这些脚本的实际应用,从而更好地理解粒子系统的运作原理和脚本的用途。 总结来说,Ogre粒子系统通过粒子脚本提供了一种灵活的方式来创建复杂的3D视觉特效。开发者可以通过调整...
6. **材质和光照**:详细阐述Ogre3D的材质系统,包括设置颜色、纹理、光照模型等,以及如何创建和应用光照效果,如点光源、方向光和聚光灯。 7. **纹理映射**:讲解如何使用2D纹理对3D物体表面进行装饰,包括颜色...
ogre材质系统分析.pdf ogre场景组织分析.pdf OGRE的消息机制.pdf Ogre的渲染系统(Rendering System).pdf OGRE分析之场景管理.pdf OGRE分析之场景渲染.pdf OGRE分析之设计模式(1234).pdf OGRE分析之文件系统...
在3D图形编程中,Ogre是一个开源的3D渲染引擎,它提供了强大的图形渲染功能。本文主要聚焦于Ogre中的材质类,这是构建...在实际应用中,通常会使用材质脚本来定义这些属性,并在运行时动态加载,以实现灵活的视觉效果。
Ogre是一个开源的3D图形引擎,用于创建实时三维应用程序,比如游戏或模拟软件。它的粒子系统是Ogre中一个强大的工具,用于实现各种视觉特效,如爆炸、烟雾、火花、水流等。本文将详细解释Ogre粒子系统的属性及其在...
6. **脚本系统**:解释Ogre的Script语言,用于创建和控制场景、材质、动画等,使得非程序员也能进行配置和调整。 7. **扩展与插件**:介绍Ogre的插件系统,如物理引擎、地形渲染、骨骼动画等,以及如何开发自定义...
- **Python接口**:允许使用Python编写脚本来控制OGRE。 - **XML转换器**:用于处理XML格式的数据。 #### 三、OGRE的学习资源 - **官方文档**:提供详细的API文档和示例代码。 - **社区论坛**:开发者可以在社区...
- **材质脚本**:通过材质脚本文件控制材质的外观。 - **示例**:环境贴图和示例材质脚本的编写。 #### 粒子系统 - **粒子系统概念**:了解粒子系统的工作原理及其在游戏中的应用。 - **粒子脚本**:通过粒子脚本...
材质脚本语言提供了丰富的选项,可以创建出逼真的3D视觉效果。同时,OGRE的材质系统支持硬件加速,充分利用GPU的能力,提高渲染效率。 数据文件结构方面,OGRE使用一种灵活的场景管理方式,可以组织复杂的3D场景。...
材质脚本定义了如何渲染一个对象,包括使用的纹理、顶点和片断程序以及渲染技术等。合成器脚本则用于执行复杂的图像处理任务,如动态光照效果、后处理效果等。粒子脚本定义了粒子系统的属性和行为,包括粒子发射器和...