2013年2月6日

[转]平面方程

摘要: 原文地址:http://www.cnblogs.com/kesalin/archive/2009/09/09/plane_equation.html 平面方程 平面上的一点以及垂直于该平面的法线唯一定义了 3D 空间的一个平面。 图1 3D空间中的平面 在图一中,给定法线向量 ,以及平面上的一点 P1,对于平面上的任意一点 P ,我们可以在平面上定义一个由 P1 指向 P 的向量... 阅读全文

posted @ 2013-02-06 15:05 youthlion 阅读(1190) 评论(0) 推荐(0) 编辑

2013年1月24日

DirectX 10 学习笔记7:环境光

摘要: 本节用一种简单的方式模拟环境光:在pixel shader的开始部分,把所有的像素值设置为环境光的值。此后所有的操作都把新的值加在环境光的颜色值上。以此保证在渲染的场景中的最小值为环境光的颜色。首先是shader中的改变。由于引入了环境光,所以需要添加一个对应的全局变量:....float4 ambientColor;....然后在pixel shader中,首先把像素的颜色设置为环境光的颜色:...// Set the default output color to the ambient light value for all pixels.color = ambientColor;... 阅读全文

posted @ 2013-01-24 20:44 youthlion 阅读(697) 评论(0) 推荐(0) 编辑

2013年1月23日

DirectX 10 学习笔记6:渲染3D模型

摘要: 用DirectX渲染三维模型 阅读全文

posted @ 2013-01-23 20:54 youthlion 阅读(1492) 评论(0) 推荐(0) 编辑

2013年1月21日

OBJ文件格式简介

摘要: OBJ文件格式简介 阅读全文

posted @ 2013-01-21 22:01 youthlion 阅读(30834) 评论(1) 推荐(3) 编辑

2012年12月26日

使用Eigen库遇到C2719错误的解决办法

摘要: http://eigen.tuxfamily.org/dox/TopicUnalignedArrayAssert.html#c1 Cause 1: Structures having Eigen objects as members If you have code like this, class Foo { //... Eigen::Vector2d v; //... }... 阅读全文

posted @ 2012-12-26 19:04 youthlion 阅读(2867) 评论(0) 推荐(0) 编辑

2012年12月15日

DirectX 10 学习笔记5:漫射光

摘要: 这一节在渲染中加入了光照影响。由于引入了光照,所以所以框架会继续扩展,要加入一个光照类。目前的框架大概可以粗略画成这样: 另外光照的渲染与多边形以及顶点的法线方向关系密切,所以顶点格式也要发生变化:添加一个法线向量。这样调用shader的类中顶点layout、模型类中顶点各成员的赋值也要随之修改。 加入光照后的shader: 加入光照后,shader中的顶点结构改变,增加了法向量,ver... 阅读全文

posted @ 2012-12-15 21:52 youthlion 阅读(1332) 评论(0) 推荐(0) 编辑

2012年12月13日

DirecX 10 学习笔记4:纹理

摘要: 这一篇的目的是把一幅图像作为纹理,画一个有纹理的三角形。上面的图有点不恰当,实际上,因为每个像素点上都用纹理图像上的像素去渲染,所以在vertex shader里不用设置顶点的颜色了,后面会讲到。关于纹理:纹理文件的格式为.dds(Direct Draw Surface),可以用DirectX SDK自带的DirectX Texture Tool创建纹理文件。在开始看代码前,先简单说明一下纹理映射的工作机制。DirectX通过纹理坐标系统把dds文件中的图像映射到多边形上去。纹理坐标把整幅图像上二维坐标映射到0.0f-1.0f这个区间里。比方说,图像宽256个像素,第一个像素的纹理坐标就是0. 阅读全文

posted @ 2012-12-13 22:09 youthlion 阅读(1098) 评论(0) 推荐(0) 编辑

2012年12月7日

DirectX 10学习笔记3: Buffers,Shaders以及HLSL

摘要: 几个基本概念: Vertex buffer:存储顶点的数组。当构成模型的所有顶点都放进vertex buffer后,就可以把vertex buffer送进GPU,然后GPU就可以渲染模型了。 Index buffer:这个buffer的作用是索引。记录每个顶点在vertex buffer中的位置。DX SDK里说使用index buffer可以增加顶点数据被缓存在显存里的概率,所以就效率而言应... 阅读全文

posted @ 2012-12-07 21:44 youthlion 阅读(2578) 评论(0) 推荐(0) 编辑

2012年11月19日

DirectX10 学习笔记2:在多文档框架中初始化DirectX 10

摘要: 显示功能是在视图类中完成的,所以DX10的初始化及绘制工作都是视图类中完成。 首先建立一个多文档工程,工程名为02_01,在视图类头文件中加载相关的库,并包含头文件: 在视图类的头文件中添加DX10相关的成员: 其中三个变换矩阵、m_device以及显卡有关信息通过五个公有函数访问: 下面是DX具体的初始化过程,封装为一个视图类的成员函数InitDX()。 DX初始化过程中需... 阅读全文

posted @ 2012-11-19 22:36 youthlion 阅读(1460) 评论(0) 推荐(1) 编辑

2012年11月4日

DirectX 10 学习笔记1:VS2010环境中配置DX10或DX11

摘要: 1、在vs2010中创建一个空的win32工程; 2、打开Property Manager,在Debug|Win32下,打开 "Microsoft.Cpp.Win32.user" ,如下图: 3、在弹出的属性页中,选择"VC++ Directories",设置头文件、库文件等路径: 4、在"Include Directories"中添加头文件目录,如下图(在我电脑上DX SDK的目录是D:\MS_DX_SDK): 5、接下来是库目录: 6、设置完成,测试一下,在工程源文件上面添加一行#include <d3d11.h>,编 阅读全文

posted @ 2012-11-04 23:50 youthlion 阅读(2111) 评论(0) 推荐(0) 编辑

导航