在工程myTutorialD3D11_17中,我们重新定义我们的cube顶点法向,每个三角形面的顶点法向都是和这个三角形的面法向是一致的。如下图所示:

在该工程中,我们还修改了CubeModelClass文件,从一个cube.txt文件中读cube顶点位置、法向、纹理坐标。

cube.txt的格式为:

Vertex Count: 36

Data:

-1.0  1.0 -1.0 0.0 0.0  0.0  0.0 -1.0

数据行前三个数据为顶点位置,接着两个数据为纹理坐标,最后的三个数据为顶点法向。

为了实现读取cube.txt,我们增加了函数LoadModel,该函数把模型数据读取到m_model中去,之后在初始化缓冲函数中,又会从m_model中读取数据。

程序的执行效果如下,可以看到由于使用面法向,再加上是平行光光源,所有cube的每个面颜色都是一样的,效果很差。

完整的代码请参考:

工程文件myTutorialD3D11_17

代码下载:

http://files.cnblogs.com/mikewolf2002/myTutorialD3D11.zip

Directx教程(24) 简单的光照模型(3)相关推荐

  1. Directx教程(27) 简单的光照模型(6)

    Directx教程(27) 简单的光照模型(6) 原文:Directx教程(27) 简单的光照模型(6) 从myTutorialD3D11_15到myTutorialD3D11_19的工程中,我们都只 ...

  2. 【Visual C++】游戏开发笔记四十一 浅墨DirectX教程之九 为三维世界添彩:纹理映射技术(一)...

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 文章链接: http://blog.csdn.net/zhmxy555/article/details/8523341 作者:毛星云(浅墨 ...

  3. 【Visual C++】游戏开发笔记四十三 浅墨DirectX教程十一 为三维世界添彩:纹理映射技术(二)...

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 作者:毛星云(浅墨)    邮箱: happylifemxy@163.com 本篇文章里,我们首先对Direct3D之中固定功能流水线中的 ...

  4. 【Visual C++】游戏开发笔记四十六 浅墨DirectX教程十四 模板测试与镜面特效专场

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处.   文章链接: http://blog.csdn.net/zhmxy555/article/details/8632184 作者:毛星云( ...

  5. STM32 基础系列教程 24 - USB_HID_key

    前言 学习stm32 USB接口使用,学会用CUBE工具快速创建USB设备工程及调试,关于usb的相关知道请读者提前准备并学习,当然如果不想深究其中原理的话,跟着本文来操作就可以实现基于USB的设备开 ...

  6. 【Visual C++】游戏开发四十八 浅墨DirectX教程十六 三维地形系统的实现

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 本系列文 ...

  7. 【Visual C++】游戏开发笔记四十二 浅墨DirectX教程之十 游戏输入控制利器 DirectInput专场

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 本系列文 ...

  8. 【Visual C++】游戏开发笔记四十七 浅墨DirectX教程十五 翱翔于三维世界 摄像机的实现

    分享一下我老师大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow 本系列文章由zhm ...

  9. 【Visual C++】游戏开发五十六 浅墨DirectX教程二十三 打造游戏GUI界面(一)

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/16384009 作者:毛星 ...

最新文章

  1. centos6 防火墙iptables操作整理
  2. 批量管理服务器,批量分发文件
  3. 声音对比处理_厨房垃圾处理器 | 厨余垃圾分类的正确打开姿势
  4. UA MATH564 概率论VI 数理统计基础3 卡方分布的正态近似
  5. 下面使用计算机动画制作的,2020年最新电大《计算机二维动画制作》形考作业任务01-03网考试题及答案(10页)-原创力文档...
  6. 批处理 操作mysql_用批处理对MySQL进行数据操作
  7. C/C++认识标准win32应用程序
  8. 什么叫直播秒开?如何实现秒开?
  9. 《腾讯Android自动化测试实战》— Android 书籍
  10. 设置table的td宽度,不随文字变宽
  11. mysql架构 三级主从同步_MySQL 主从同步架构中你不知道的“坑”(完结篇)
  12. Centos 下 mysql 安装过程
  13. React-native项目使用逍遥游模拟器运行
  14. c语言 整数拆分,C++ 整数拆分方法详解
  15. 计算机毕设Python+Vue兴发农家乐服务管理系统(程序+LW+部署)
  16. docker搭建xui
  17. Java + Swing + MySQL实现图书管理系统
  18. linux设备驱动七(时间、延迟及延缓操作)
  19. SQLServer 查询分析器里大小写转换快捷键
  20. 【并发编程的艺术】并发机制原理

热门文章

  1. swift 中拨电话的实现
  2. 基于IndexedDB实现简单文件系统
  3. 性能测试学习过程中遇到的问题与解答1
  4. 泛前端知识图谱(Web/iOS/Android/RN)
  5. 用fgets()函数以字符串形式读取磁盘文件并输出到屏幕
  6. LeetCode - 34. Search for a Range
  7. 【前端】纯前端的一个‘喜欢我吗?’
  8. 设计模式C#实现(三)——外观模式
  9. 区块链技术产生数字货币时代
  10. 华为技术面试编码题_最佳技术编码面试准备书