先画一个平面,物体具有黄色的材质;不添加灯光,显示如下,

加入一个点光源,位置(1,1,1)、颜色白色,如下,照亮了物体,看到物体的材质;

点光源是从斜上方照过来的,

如果光源为绿色,则如下,

点光源具有Range属性,Range为1如下,

不同的Range,

点光源具有衰减属性;

光线强度在距离上逐渐减弱的速率称为其衰减,可以通过设置 ConstantAttenuation、 LinearAttenuation或 QuadraticAttenuation 属性来控制。

点光源没有Direction属性;

MSDN参考,
https://learn.microsoft.com/zh-cn/dotnet/api/system.windows.media.media3d.pointlight?redirectedfrom=MSDN&view=windowsdesktop-7.0
PointLight 类
    表示在空间中具有指定位置并向所有方向上投射光线的光源。

Range获取或设置光产生效果的最大距离。

<Pagexmlns="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="Green" Range="2" ConstantAttenuation="1"/></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></Viewport3D.Children>
</Viewport3D></Grid>
</Page>

WPF 3D 点光源学习相关推荐

  1. WPF 3D 基础学习 - 相机、裁剪、光线入门(2)

    接 https://blog.csdn.net/bcbobo21cn/article/details/109697065 1 从坐标系看相机 从坐标系看一下相机:右手是X正向,Y正方向是向上:这是WP ...

  2. WPF 3D基础学习 - 画布、相机、Model3D(1)

    如果绘制3D立方体,需绘制6个面:下面代码绘制一个面:来逐步理解此代码: <Pagexmlns="http://schemas.microsoft.com/winfx/2006/xam ...

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

    材质(Material ) 在二维中,可以使用 Brush 类来向屏幕中的区域应用颜色.图案.渐变或其他可视化内容. 但是,三维对象的外观是照明模型的功能,而不只是应用于它们的颜色或图案.  实际对象 ...

  4. WPF 3D模型介绍及使用

    2D 容器中的三维: WPF 中的3D 图形内容封装在一个元素中, Viewport3D 该元素可以参与二维元素结构. 在 WPF 中,图形系统将视为二维 Viewport3D 视觉对象,如许多其他元 ...

  5. Autocad 3D 完全学习教程

    Autocad 3D 完全学习教程 你会学到什么 如何使用AutoCAD三维基本特征 了解如何在AutoCAD中创建和开发三维模型 准备实体.网格和曲面几何图形 不同的命令2d和3D 要求 不需要事先 ...

  6. Blender全流程制作真实感3D产品学习教程

    MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz,2 Ch 语言:英语+中英文字幕(根据原英文字幕机译更准确) |时长:41节课(4h 29m) |大小解压后:4.53 G ...

  7. 「可解释ML/3D深度学习等」Github六月最受欢迎的机器学习库来啦

    https://www.toutiao.com/a6706469836307825163/ SHUBHAM SINGH总结了Github上6月份最火的7个项目.这七个项目涵盖可解释性机器学习.3D深度 ...

  8. WPF 3D中多个模型如何设置某一个在最前?

    原文:WPF 3D中多个模型如何设置某一个在最前? 问题:我们的模型包括导入的3D solid模型和axis坐标轴模型,当模型旋转的时候,3D会将axis挡住. 期望:axis一直在最前面,不会被3D ...

  9. 未能加载程序集或它的一个依赖项_英伟达发布kaolin:一个用于加速3D深度学习研究的PyTorch库...

    由于大多数现实环境是三维的,因此理想情况下,应针对3D数据训练旨在分析视频或现实环境中的完整任务的深度学习模型.诸如机器人,自动驾驶汽车,智能手机和其他设备之类的技术工具目前正在产生越来越多的3-D数 ...

最新文章

  1. 多表连接去重复 mysql_连接多个表时避免重复条目(MySQL)
  2. apc220使用心得
  3. android 键盘 能复制,android – 从EditText中禁用软键盘,但仍允许复制/粘贴?
  4. loj#2542. 「PKUWC2018」随机游走(MinMax容斥 期望dp)
  5. 线程安全的atomic wrapper classes例子
  6. centOS 安装远程桌面
  7. 金庸15部小说精校版
  8. Windows下测试算法在FDDB数据库的性能
  9. mysql根据身份证号计算年龄
  10. 网易云音乐热评的规律,44万条数据告诉你
  11. 【Mybatis】一二级缓存的源码研究
  12. Python程序开发
  13. 开发一款抓取Android系统Log的APP(logcat, kernel, Memory, cpu)
  14. 北京大学公开课:操作系统与虚拟化安全 学习与研究
  15. matlab建立mex,Visual Studio创建Matlab mex(dll)函数
  16. vue json可视化编辑器 vue-json-editor
  17. 为什么我charles抓包带了给锁_使用Charles抓包
  18. flash8加as2.0制作山寨版flappy bird小游戏
  19. Duplicate Cleaner - 重复文件 / 相似文件扫描 - 构建深度学习标注数据集
  20. 风控算法赛lgb实战-拍拍贷魔镜杯

热门文章

  1. Linux中常见的指令(三):几个查看文件内容的指令,ctrl+c的理解
  2. 蜥蜴人传说的起源-[大卫艾克与科瑞多穆特瓦的访谈]
  3. shell softech 面料_MAMMUT猛犸象的黑科技大军(服装篇)
  4. 【数字逻辑】学习笔记 第四章 Part2 常用组合逻辑电路与竞争、险象
  5. java.sql.SQLException: No suitable driver found for jdbc
  6. Rust Async: smol源码分析-Executor篇
  7. 【微信小程序】协同工作与发布
  8. 怎么将图片kb压缩变小?
  9. 百倍加速:Python量化策略的算法性能提升指南
  10. 黄仁勋没有回应,英伟达没有新品