WPF 3D 学习 - 3D材质初步

材质(Material )
在二维中,可以使用 Brush 类来向屏幕中的区域应用颜色、图案、渐变或其他可视化内容。
但是,三维对象的外观是照明模型的功能,而不只是应用于它们的颜色或图案。 
实际对象的图面质量不同,它们反射光的方式也会有所不同:光亮的图面与粗糙或不光滑的图面看上去不同,某些对象似乎可以吸收光,而某些对象似乎能够发光。 

Material 的具体子类用来确定模型图面的某些外观特征,每个子类还提供一个可以向其传递 SolidColorBrush、TileBrush 或 VisualBrush 的 Brush 属性。

wpf 3D 材质有三种
DiffuseMaterial 使用 DiffuseMaterial 与直接针对二维模型使用画笔非常相似;模型表面不反射光,就好像是自发光一样。
SpecularMaterial 可以通过为 SpecularPower 属性指定一个值来设置系统将为纹理的反射特质(或“发光”)建议的度数。
EmissiveMaterial  可以指定将应用纹理,就好像模型所发出的光与画笔的颜色相同。这不会使模型成为光源;但是,它参与阴影设置的方式将不同于用 DiffuseMaterial 或 SpecularMaterial 设置纹理时的情况。

3D材质不同于画刷,3D材质是为了考虑3D物体表面反射光而引入;

如下代码;元素里面是材质;

WPF 3D 学习 - 3D材质初步_第1张图片

也可以定义材质的更多属性;

WPF 3D 学习 - 3D材质初步_第2张图片

可以定义材质Material,和BackMaterial,后者应用于3D物体的内部;当前看不出效果;

WPF 3D 学习 - 3D材质初步_第3张图片

 

DiffuseMaterial.Color 属性

属性值
Color
Material 的颜色筛选器。 默认值为 #FFFFFF。 由于所有颜色在一起构成白色,因而默认情况下所有颜色均可见。参见;

https://docs.microsoft.com/zh-cn/dotnet/api/system.windows.media.media3d.diffusematerial.color?view=net-5.0#System_Windows_Media_Media3D_DiffuseMaterial_Color

为DiffuseMaterial增加一个Color属性,如下;没看到有什么变化;逐步再学习什么是材质的颜色筛选器;

 

WPF 3D 学习 - 3D材质初步_第4张图片

材质相关代码;


   


                   
                     
                       
                                                      Color="GreenYellow" 
                            Opacity="1.0"/>
                       

                     

                   



   


   

你可能感兴趣的:(.Net,图形学和3D,Material,3D材质,画刷)