WPF 3D 点光源学习
先画一个平面,物体具有黄色的材质;不添加灯光,显示如下,
加入一个点光源,位置(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 点光源学习相关推荐
- WPF 3D 基础学习 - 相机、裁剪、光线入门(2)
接 https://blog.csdn.net/bcbobo21cn/article/details/109697065 1 从坐标系看相机 从坐标系看一下相机:右手是X正向,Y正方向是向上:这是WP ...
- WPF 3D基础学习 - 画布、相机、Model3D(1)
如果绘制3D立方体,需绘制6个面:下面代码绘制一个面:来逐步理解此代码: <Pagexmlns="http://schemas.microsoft.com/winfx/2006/xam ...
- WPF 3D 学习 - 3D材质初步
材质(Material ) 在二维中,可以使用 Brush 类来向屏幕中的区域应用颜色.图案.渐变或其他可视化内容. 但是,三维对象的外观是照明模型的功能,而不只是应用于它们的颜色或图案. 实际对象 ...
- WPF 3D模型介绍及使用
2D 容器中的三维: WPF 中的3D 图形内容封装在一个元素中, Viewport3D 该元素可以参与二维元素结构. 在 WPF 中,图形系统将视为二维 Viewport3D 视觉对象,如许多其他元 ...
- Autocad 3D 完全学习教程
Autocad 3D 完全学习教程 你会学到什么 如何使用AutoCAD三维基本特征 了解如何在AutoCAD中创建和开发三维模型 准备实体.网格和曲面几何图形 不同的命令2d和3D 要求 不需要事先 ...
- Blender全流程制作真实感3D产品学习教程
MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz,2 Ch 语言:英语+中英文字幕(根据原英文字幕机译更准确) |时长:41节课(4h 29m) |大小解压后:4.53 G ...
- 「可解释ML/3D深度学习等」Github六月最受欢迎的机器学习库来啦
https://www.toutiao.com/a6706469836307825163/ SHUBHAM SINGH总结了Github上6月份最火的7个项目.这七个项目涵盖可解释性机器学习.3D深度 ...
- WPF 3D中多个模型如何设置某一个在最前?
原文:WPF 3D中多个模型如何设置某一个在最前? 问题:我们的模型包括导入的3D solid模型和axis坐标轴模型,当模型旋转的时候,3D会将axis挡住. 期望:axis一直在最前面,不会被3D ...
- 未能加载程序集或它的一个依赖项_英伟达发布kaolin:一个用于加速3D深度学习研究的PyTorch库...
由于大多数现实环境是三维的,因此理想情况下,应针对3D数据训练旨在分析视频或现实环境中的完整任务的深度学习模型.诸如机器人,自动驾驶汽车,智能手机和其他设备之类的技术工具目前正在产生越来越多的3-D数 ...
最新文章
- 多表连接去重复 mysql_连接多个表时避免重复条目(MySQL)
- apc220使用心得
- android 键盘 能复制,android – 从EditText中禁用软键盘,但仍允许复制/粘贴?
- loj#2542. 「PKUWC2018」随机游走(MinMax容斥 期望dp)
- 线程安全的atomic wrapper classes例子
- centOS 安装远程桌面
- 金庸15部小说精校版
- Windows下测试算法在FDDB数据库的性能
- mysql根据身份证号计算年龄
- 网易云音乐热评的规律,44万条数据告诉你
- 【Mybatis】一二级缓存的源码研究
- Python程序开发
- 开发一款抓取Android系统Log的APP(logcat, kernel, Memory, cpu)
- 北京大学公开课:操作系统与虚拟化安全 学习与研究
- matlab建立mex,Visual Studio创建Matlab mex(dll)函数
- vue json可视化编辑器 vue-json-editor
- 为什么我charles抓包带了给锁_使用Charles抓包
- flash8加as2.0制作山寨版flappy bird小游戏
- Duplicate Cleaner - 重复文件 / 相似文件扫描 - 构建深度学习标注数据集
- 风控算法赛lgb实战-拍拍贷魔镜杯
热门文章
- Linux中常见的指令(三):几个查看文件内容的指令,ctrl+c的理解
- 蜥蜴人传说的起源-[大卫艾克与科瑞多穆特瓦的访谈]
- shell softech 面料_MAMMUT猛犸象的黑科技大军(服装篇)
- 【数字逻辑】学习笔记 第四章 Part2 常用组合逻辑电路与竞争、险象
- java.sql.SQLException: No suitable driver found for jdbc
- Rust Async: smol源码分析-Executor篇
- 【微信小程序】协同工作与发布
- 怎么将图片kb压缩变小?
- 百倍加速:Python量化策略的算法性能提升指南
- 黄仁勋没有回应,英伟达没有新品