WPF 3d 环境光光源学习

Posted bcbobo21cn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF 3d 环境光光源学习相关的知识,希望对你有一定的参考价值。

AmbientLight(环境光) 它所提供的环境光会照亮所有的对象,而不考虑对象的位置或方向。

AmbientLight 类
    将光统一应用到对象(不管其形状如何)的光对象;

    AmbientLight 空间中没有指定位置;

前面做了一个黄色平面,光源改为环境光看一下;

    看上去和前面的平行光光源差不多;

根据资料所说,环境光会照亮场景中所有对象;其他光源是只照亮照射到的物体;

做2个黄色平面看一下;应用环境光,如下,

 

 如果是点光源,range为2,左侧的一个平面没有照到,是黑的,

点光源, Range为15,左侧一个平面略有一点光照到,多少能看到一些颜色;点光源具有衰减,

 

 

<Page
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <Grid>  
  
  <Viewport3D>
        <Viewport3D.Camera>
            <PerspectiveCamera Position="0,0,10" LookDirection="0,0,-2" UpDirection="0,1,0"/>
        </Viewport3D.Camera>
        <Viewport3D.Children>                                          
            <ModelVisual3D x:Name="Light">
                <ModelVisual3D.Content>
                    <PointLight Position="1 1 1" Color="White" Range="15"/>
                </ModelVisual3D.Content>
            </ModelVisual3D>
 
        <ModelVisual3D> 
          <ModelVisual3D.Content> 
            <GeometryModel3D> 
                <GeometryModel3D.Geometry>
                  <MeshGeometry3D Positions="0,0,0,1,0,0,1,1,0,0,1,0" TriangleIndices="0,1,2 2,3,0"/> 
                </GeometryModel3D.Geometry> 
                
                <GeometryModel3D.Material> 
                  <DiffuseMaterial Brush="Yellow" /> 
                </GeometryModel3D.Material> 
              </GeometryModel3D>
            </ModelVisual3D.Content>
        </ModelVisual3D>        
        
        <ModelVisual3D> 
          <ModelVisual3D.Content> 
            <GeometryModel3D> 
                <GeometryModel3D.Geometry>
                  <MeshGeometry3D Positions="-3,0,0,-2,0,0,-2,1,0,-3,1,0" TriangleIndices="0,1,2 2,3,0"/> 
                </GeometryModel3D.Geometry> 
                
                <GeometryModel3D.Material> 
                  <DiffuseMaterial Brush="Yellow" /> 
                </GeometryModel3D.Material> 
              </GeometryModel3D>
            </ModelVisual3D.Content>
        </ModelVisual3D>
        
       </Viewport3D.Children> 
</Viewport3D>
 
  </Grid>
</Page>

以上是关于WPF 3d 环境光光源学习的主要内容,如果未能解决你的问题,请参考以下文章

WPF 3D 点光源学习

环境补光光源15V电源修改

使用WPF实现3D场景[一]

WPF三维图形

Unity3D 物体移动方式

WPF 3D开发教程