【WPF】MeshGeometry3D中的Normals和TextureCoordinates属性
MeshGeometry3D的Normals属性和TextureCoordinates属性用于指定纹理如何贴到3D模型的表面去。
<MeshGeometry3D Positions="1,1,0 -1,1,0 -1,-1,0 1,-1,0"
Normals="0 0 1, 0 0 1, 0 0 1, 0 0 1"
TextureCoordinates="1 0, 0 0, 0 1, 1 1"
TriangleIndices="0,1,3 3,1,2"/>
上面的代码建立了一个简单的平面模型。
MSDN:Normal vectors are vectors perpendicular to the face of each triangle that defines a mesh. Normals determine whether a given triangle face is lit.(Normals决定了一个给定的三角面是否被照亮)
MSDN:Texture coordinates determine how a Material is mapped to the vertices of the triangles that make up a mesh. (TextureCoordinates决定了材质如何被映射到构成网格的三角形的顶点)
对于一个材质来说,它的顶点定义如下:
上面的代码: TextureCoordinates="1 0, 0 0, 0 1, 1 1"也就是说,将M1映射到P0,M0映射到P1,M3映射到P2,M2映射到P3,即:
顺便放自己做的一个简单的3D程序。
转载于:https://www.cnblogs.com/RMay/archive/2008/06/30/1232287.html
【WPF】MeshGeometry3D中的Normals和TextureCoordinates属性相关推荐
- WPF MeshGeometry3D中的Normals和TextureCoordinates属性
MeshGeometry3D的Normals属性和TextureCoordinates属性用于指定纹理如何贴到3D模型的表面去. <MeshGeometry3D Positions=" ...
- WPF xaml中列表依赖属性的定义
原文:WPF xaml中列表依赖属性的定义 列表内容属性 如上图,是一个列表标题排序控件,我们需要定义一个标题列表,从而让调用方可以自由的设置标题信息. 在自定义控件时,会遇到列表依赖属性,那么该如何 ...
- WPF中通过控件Margin属性设置控件位置
WPF中通过控件Margin属性设置控件位置 一.Margin属性简介 二.Margin在cs文件中定义 三.Margin设置控件位置 四.参考文档 一.Margin属性简介 在使用WPF进行页面设计 ...
- WPF MeshGeometry3D
原文:WPF MeshGeometry3D 说说 MeshGeometry3D 里 常用的 四个属性. 先看看 MSDN 的 简介 先说说 Positions,介绍说 是顶点位置的集合,什么意思,看张 ...
- WPF入门教程(七)---依赖属性(3)(转)
WPF入门教程(七)---依赖属性(3) 2018年08月24日 08:33:43 weixin_38029882 阅读数:50 四. 只读依赖属性 在以前在对于非WPF的功能来说,对于类的属性的封装 ...
- WPF整理-为User Control添加依赖属性
WPF整理-为User Control添加依赖属性 原文:WPF整理-为User Control添加依赖属性 依赖属性 ".NET properties are nothing more t ...
- 《深入浅出WPF》学习笔记之深入浅出话属性
依赖属性是一种可以从父级元素继承,并且可以通过Binding从数据源获取,当从父级继承时不占用内存的属性系统.拥有依赖属性的对象称为依赖对象.WPF允许在创建对象时并不分配用于存储数据的空间,而在需要 ...
- 在WPF TreeView中使用复选框
目录 介绍 背景 细节决定成败 功能要求 将Smarts放入ViewModel 树视图配置 将TreeViewItem变成ToggleButton Aero主题中的复选框错误 介绍 本文回顾了一个WP ...
- WPF/Silverlight中MVVM运用
随着WPF/Silverlight等技术的出现,一种新的模式出现在大家面前,那就是MVVM,提到这个模式,大家也许感觉很迷惑,也许会不屑于故,也许你会说我现在做项目都形成了自己的框架了,为什么还要花费 ...
最新文章
- MySQL · 最佳实践 · 如何索引JSON字段
- lucene-solr源码编译导入eclipse--转
- 腾讯手游如何提早揭露游戏外挂风险?
- 持续集成持续部署持续交付_如何开始进行持续集成
- ksrot php_php中ksort函数的功能起什么作用呢?
- 前方 Bug 出没?盘他!
- 12.11scrum report (第十次)
- php要求输入是个数求平均值、_如何在Excel中求数字个数
- 《数据挖掘——概念与技术》笔记
- 照片幻灯片java_Java的POI向幻灯片中插入图片算法设计
- c语言定义数组uint,c - 将uint8_t数组转换为C中的uint16_t值 - 堆栈内存溢出
- 录游戏视频的屏幕软件
- c9大学计算机系好的大学,C9顶尖高校所有自主招生专业大汇总
- 基于 Sphinx 以纯文本编写富媒体项目文档的方法介绍
- c语言搭积木游戏,我们一起搭积木,做游戏,就这就简单
- 10bit显示器测试软件,10bit究竟是什么?10bit显示器画质更好?
- PROE塑胶产品结构标准设计视频教程灯具设计
- 关于Windows Paint的基础图层透明背景的操作说明
- TCP/IP 完成端口
- 经验分享:如何系统学习 Web 前端技术?
热门文章
- 风险管理、收尾管理和知识产品管理
- 让批处理运行不显示窗口的两个方法
- 反编译插件jadclips
- java.lang.ClassCastException: java.math.BigDecimal cannot be cast to java.lang.Integer
- Vue项目自动转换 px 为 rem,高保真还原设计图
- 第四章函数作业题,函数模板
- 浅谈Web中前后端模板引擎的使用
- Spark之SQL解析(源码阅读十)
- OSChina 周日乱弹 ——科普逗逼行为准则
- Python 开发者节省时间的 10 个小技巧