Managed DirectX +C# 开发(入门篇)(八)

  第七章 顶点缓冲一、索引缓冲3D物体中的三角形经常会有许多共用顶点。如果用两个三角形组合为一个长方形,有两个点被重复使用,当要表现一个更精细更复杂的模型的时候,重复的顶点数将会变得很大。下图的立方体,仅有八个顶点,但是当用三角形列表示它的时候,所有的点都被重复使用。索引缓冲就是一块保存了顶点数据索引的缓冲。缓冲中的索引为32位或16位的整数。比如,当使用索引0,1,6来绘制...
阅读(3170) 评论(0)

Managed DirectX +C# 开发(入门篇)(七)

  第六章 Mesh对象一、什么是Mesh?前面已经接触过Mesh类,在这里则对它进行详细介绍Mesh可以用来储存任何类型的图形数据,但主要用来封装复杂的模型。Mesh类同样也有一些用来提高渲染物体性能的方法。使用Mesh可以从外部文件读入3D的模型文件,比如MaYa文件,这样就可以在3D Max或MaYa等软件中做好模型,然后读入程序。Mesh对象内部也包含了很多几何体的...
阅读(4261) 评论(0)

Managed DirectX +C# 开发(入门篇)(六)

 第五章 矩阵变换一:为什么使用4×4矩阵?在3D中进行编程时,使用的是4×4矩阵来进行矩阵变换。初学者往往认为既然是三维空间,为何不使用3×3的矩阵来表示呢?这是因为3×3的矩阵不能表示有些变换,比如比如平移、投影、反射,因此,增大到4×4,这样,就可以描述更多的变换了。但是矩阵变成了4×4,为了做向量与矩阵的相乘,所以需要把向量增加为1×4,因为1×3的行矩阵和4×4的矩阵是无...
阅读(3418) 评论(0)

Managed DirectX +C# 开发(入门篇)(五)

  如果代码是:device.DrawPrimitives(PrimitiveType.LineStrip, 0,3);执行结果是:它把顶点绘制为一条折线。至少需要两个顶点。如果代码为:device.DrawPrimitives(PrimitiveType.PointList, 0,4);执行结果是:把数据作为一系列离散的点来绘制。 四、创建顶点缓冲...
阅读(2793) 评论(0)

Managed DirectX +C# 开发(入门篇)(四)

  Managed DirectX +C# 开发(入门篇)第四章 入门程序一、创建设备本节介绍的示例为DirectX SDK自带的示例,在这里将其解释一下,本示例什么也不做,只是显示一个空白窗体。现在先看程序运行的主函数:static void Main()          {//建立一个窗体实例;            using (CreateDevi...
阅读(3800) 评论(2)

DirectX学习:D3DX颜色函数

 1:D3DXFresnelTerm ()计算菲涅耳系数。定义:FLOAT WINAPI D3DXFresnelTerm(FLOAT CosTheta,    FLOAT RefractionIndex);参数:CosTheta [in] 本值必须在 0和1之间。 RefractionIndex [in] The refraction index of a material...
阅读(1613) 评论(0)

DirectX学习:D3DX矩阵函数

1:D3DXMatrixAffineTransformation():创建一个仿射变换变换矩阵。NULL的参数就会当作是单位矩阵。定义D3DXMATRIX *WINAPI D3DXMatrixAffineTransformation(          D3DXMATRIX *pOut,    FLOAT Scaling,    const D3DXVECTOR3 *pRotati...
阅读(2584) 评论(0)

DirectX学习:D3DX中关于平面的函数

1:D3DXPlaneFromPoints():通过三个点来求得一个平面; 2:D3DXPlaneFromPointNormal():通过一个点和一个法线来求得一个平面; 3:D3DXPlaneIntersectLine():直线与平面的交点; 4:D3DXPlaneDotCoord():利用该函数返回值的符号可决定点在平面的哪一侧。和下面不同的是,向量点为一个3D向量;W...
阅读(2364) 评论(1)

D3DX向量函数

1:D3DXVec2Add():两个二维向量的相加;D3DXVec3Add():D3DXVec4Add(): 2:D3DXVec2BaryCentric():利用给定的三个二维向量点,及f和g的值,得出Barycentric coordinates;D3DXVec3BaryCentric():D3DXVec4BaryCentric(): 3:D3DXVec2Catmul...
阅读(1911) 评论(0)

C# Direct3D9开发实例二:树木成林

一、     所用基础知识:(1)关于创建设备 Device类是DirectX里的所有绘图操作所必须的。可以把这个类假想为真实的图形卡。场景里所有其他图形对象都依赖于device。客户端可以有一个到几个device,可以控制任意多个device。        Device共有三个构造函数,最常用的一个如下:  public Device(int adapter,DeviceType device...
阅读(2466) 评论(0)

C# Direct3D9开发实例一:月球绕着地球转

源程序下载一、建立空窗体新建一个工程,添加引用,并导入名称空间。加入一个设备对象变量:private Microsoft.DirectX.Direct3D.Device device = null;添加初始化图形函数,并在这里面对设备对象进行实例化:public void InitializeGraphics()         {              PresentParameters p...
阅读(4141) 评论(10)
26条 共2页首页 上一页 1 2
    个人资料
    • 访问:107707次
    • 积分:1364
    • 等级:
    • 排名:千里之外
    • 原创:23篇
    • 转载:0篇
    • 译文:3篇
    • 评论:35条
    最新评论