DirectX
文章平均质量分 89
CouchDB
专注于系统级应用的开发,研究方向:runtime system, compiler techniques, programming language, computer architecture等
展开
-
DirectX天空球和天空盒子模型
在一些大型的3D游戏中,有几个必不可少的元素,比如说天空和大地,这些元素的存在可以增加3D场景的真实感。三维场景中天空和大地场景的模拟其实很简单,这种场景跟古人所说的“天圆地方”有着异曲同工之妙。天空其实就是一个很大的容器,把整个世界都罩在下面,大地就是一个平面,场景中所有的元素都显示在二者所包围的空间中。三维天空的技术主要包括三种类型:一种是平面型天空(Sky Plane),仅用一个平面盖在所有原创 2015-11-21 11:48:56 · 4390 阅读 · 0 评论 -
Direct3D高程图立体显示
在微软的DirectX Sample Browser中,有个RaycastTerrain例子,做得很好,将一张平面的地形图,在底面添加了一个底部,四周的高度差再封闭起来,然后再添加一个浅蓝色的背景,平面图形的立体感很强,而且灯光和阴影的效果也做得很棒!这个例子是基于C++的,这里模仿这个例子,给出一个基于C#的实现。思路也大致类似,找一张bmp格式的深度图,经过像素值的计算处理,生原创 2015-11-10 21:44:46 · 2152 阅读 · 0 评论 -
Direct3D 地形
高程图生成三角形网格3D场景的模拟离不开地形,因此3D地形的模拟在3D程序设计中很重要。在3D场景中,地形的表面都是通过三角形网来表示,即通过高度图(也称影像图)上的对应坐标值来表示规则网格顶点坐标值,从而形成规则的矩阵分布三角网。具体的实现就是通过读取高度图上象元的值来获取该坐标位置的高程,然后根据这些高程值及坐标值形成一个规则的三角网。由于在三角网中相邻三角形都具有公共点,所以为了节约内存原创 2015-11-06 23:11:39 · 1340 阅读 · 0 评论 -
DirectX 3D Mesh类
Mesh类中定义了若干个3D模型,比如说立方体、圆柱、茶壶等。对于一些复杂的模型可以使用专业的软件比如说3D Max等设计,再利用DirectX提供的插件,将复杂的3D模型保存为.x文件。用Mesh类对象可以加载.x文件,并显示.x文件中的3D模型。Mesh类位于Direct 3D的扩展库中,为了使用Mesh类必须引用Microsoft.DirectX.Direct3DX组件。可以用Mesh类原创 2015-11-03 23:41:11 · 4046 阅读 · 2 评论 -
DirectX 3D纹理
纹理就是3D模型外表面上的图案。在3D场景中纹理极大地增加了物体的真实性。纹理的本质是把平面图形贴到3D物体表面。在Direct3D中纹理的x和y坐标一般称为Tu和Tv坐标,纹理坐标范围都是0.0-1.0。如果知道一个面的顶点坐标,使面的顶点坐标和句型图片纹理坐标相对应,就可以将这些二维图片贴到3D图形表面。在Direct 3D中Texture类定义纹理。如果希望为墙壁贴上瓷砖,可以只绘制一个原创 2015-11-03 23:26:39 · 1446 阅读 · 0 评论 -
DirectX 3D灯光和材质
前面所介绍的东西都假设模型有自己的颜色,即认为模型自己发光。其实自然界的大部分物体并不发光。当光线照射到物体上,物体吸收某些颜色的光,反射另一些颜色的光,反射的光的颜色就是我们所看到的物体的颜色。这里的灯光是指光源,在Direct 3D中有4种光源:环境光、定向光源、点光源和聚光灯。反射光被分为3类:环境光、漫反射光和镜面高光。材质描述物体反射光的反射属性。可以用法线来计算光的反射,光照的反射强度原创 2015-11-03 23:20:50 · 1680 阅读 · 0 评论 -
DirectX 3D图形
前面的一篇文章Direct 3D基础介绍了一些基本概念,叙述了如何在显示器上直接绘制具有立体感的2D图形。上面的方法是不现实的,因为预先根据透视原理人工计算出3D物体在显示屏幕上显示的坐标然后再绘制的这种方式如果涉及从不同角度观察的3D物体的话,需要计算的次数会很多。Direct 3D实现3D所采用的方法是首先设计一个仿真真实3D物体的立体模型,然后由计算机根据透视原理计算出每一个角度模型显示在计原创 2015-11-01 20:51:15 · 2851 阅读 · 3 评论 -
Direct3D基础
最近在公司里实习,有个项目的接合点需要用到三维处理的东西,还是比较麻烦的,虽然之前也学过一点图形学的理论知识,但都是皮毛,研究得也不深入。所以趁现在把一些基本的概念拾起来,开发平台用微软的DirectX框架并结合C#,很多东西都是现学的。下面给出几个基本的概念。图形卡即显卡,计算机和显示器之间的接口。很多图形卡都有自己的处理器,称为GPU,图形处理器。GPU是针对图形和图像所需要的计算进行过优原创 2015-11-01 15:42:19 · 950 阅读 · 0 评论