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属性相关推荐

  1. WPF MeshGeometry3D中的Normals和TextureCoordinates属性

    MeshGeometry3D的Normals属性和TextureCoordinates属性用于指定纹理如何贴到3D模型的表面去. <MeshGeometry3D Positions=" ...

  2. WPF xaml中列表依赖属性的定义

    原文:WPF xaml中列表依赖属性的定义 列表内容属性 如上图,是一个列表标题排序控件,我们需要定义一个标题列表,从而让调用方可以自由的设置标题信息. 在自定义控件时,会遇到列表依赖属性,那么该如何 ...

  3. WPF中通过控件Margin属性设置控件位置

    WPF中通过控件Margin属性设置控件位置 一.Margin属性简介 二.Margin在cs文件中定义 三.Margin设置控件位置 四.参考文档 一.Margin属性简介 在使用WPF进行页面设计 ...

  4. WPF MeshGeometry3D

    原文:WPF MeshGeometry3D 说说 MeshGeometry3D 里 常用的 四个属性. 先看看 MSDN 的 简介 先说说 Positions,介绍说 是顶点位置的集合,什么意思,看张 ...

  5. WPF入门教程(七)---依赖属性(3)(转)

    WPF入门教程(七)---依赖属性(3) 2018年08月24日 08:33:43 weixin_38029882 阅读数:50 四. 只读依赖属性 在以前在对于非WPF的功能来说,对于类的属性的封装 ...

  6. WPF整理-为User Control添加依赖属性

    WPF整理-为User Control添加依赖属性 原文:WPF整理-为User Control添加依赖属性 依赖属性 ".NET properties are nothing more t ...

  7. 《深入浅出WPF》学习笔记之深入浅出话属性

    依赖属性是一种可以从父级元素继承,并且可以通过Binding从数据源获取,当从父级继承时不占用内存的属性系统.拥有依赖属性的对象称为依赖对象.WPF允许在创建对象时并不分配用于存储数据的空间,而在需要 ...

  8. 在WPF TreeView中使用复选框

    目录 介绍 背景 细节决定成败 功能要求 将Smarts放入ViewModel 树视图配置 将TreeViewItem变成ToggleButton Aero主题中的复选框错误 介绍 本文回顾了一个WP ...

  9. WPF/Silverlight中MVVM运用

    随着WPF/Silverlight等技术的出现,一种新的模式出现在大家面前,那就是MVVM,提到这个模式,大家也许感觉很迷惑,也许会不屑于故,也许你会说我现在做项目都形成了自己的框架了,为什么还要花费 ...

最新文章

  1. MySQL · 最佳实践 · 如何索引JSON字段
  2. lucene-solr源码编译导入eclipse--转
  3. 腾讯手游如何提早揭露游戏外挂风险?
  4. 持续集成持续部署持续交付_如何开始进行持续集成
  5. ksrot php_php中ksort函数的功能起什么作用呢?
  6. 前方 Bug 出没?盘他!
  7. 12.11scrum report (第十次)
  8. php要求输入是个数求平均值、_如何在Excel中求数字个数
  9. 《数据挖掘——概念与技术》笔记
  10. 照片幻灯片java_Java的POI向幻灯片中插入图片算法设计
  11. c语言定义数组uint,c - 将uint8_t数组转换为C中的uint16_t值 - 堆栈内存溢出
  12. 录游戏视频的屏幕软件
  13. c9大学计算机系好的大学,C9顶尖高校所有自主招生专业大汇总
  14. 基于 Sphinx 以纯文本编写富媒体项目文档的方法介绍
  15. c语言搭积木游戏,我们一起搭积木,做游戏,就这就简单
  16. 10bit显示器测试软件,10bit究竟是什么?10bit显示器画质更好?
  17. PROE塑胶产品结构标准设计视频教程灯具设计
  18. 关于Windows Paint的基础图层透明背景的操作说明
  19. TCP/IP 完成端口
  20. 经验分享:如何系统学习 Web 前端技术?

热门文章

  1. 风险管理、收尾管理和知识产品管理
  2. 让批处理运行不显示窗口的两个方法
  3. 反编译插件jadclips
  4. java.lang.ClassCastException: java.math.BigDecimal cannot be cast to java.lang.Integer
  5. Vue项目自动转换 px 为 rem,高保真还原设计图
  6. 第四章函数作业题,函数模板
  7. 浅谈Web中前后端模板引擎的使用
  8. Spark之SQL解析(源码阅读十)
  9. OSChina 周日乱弹 ——科普逗逼行为准则
  10. Python 开发者节省时间的 10 个小技巧