managed directx 和 XNA
文章平均质量分 52
jasschow
这个作者很懒,什么都没留下…
展开
-
C# Managed DirectX 背面剔除
任何一个平面可以被若干三角形组成。 三角形的绘制分为:按顺时针绘制和按逆时针绘制。 在左手笛卡儿坐标系的默认情况下,只显示按顺时针绘制的三角形,称为背面剔除。 Direct 3D用Device的属性——RenderState.CullMode来控制背面剔除方式: Cull.CounterClockWise,不显示按逆时针绘制的三角形(默认) Cull.Cloc原创 2015-01-27 19:13:47 · 587 阅读 · 0 评论 -
C# Managed DirectX中的Device类
Device类把真实的图形卡从具体的硬件中抽象出来,在类中定义一组通用函数,这些函数将直接操作图形卡硬件。 Device类具有3个构造函数,这里介绍其中一个: public Device(int adapter, DeviceType deviceType, Control renderWindow, CreateFlags bahaviorFlags, PresentParameters p原创 2015-01-26 21:20:16 · 2179 阅读 · 0 评论 -
Managed DirectX 3D常用结构
1、点结构:Point, PointF Point(int x, int y); PointF(float x, float y); 2、尺寸结构:Size, SizeF Size(int width, int height); SizeF(float width, float height); 3、矩形结构:Rectangle, RectangleF原创 2015-01-26 17:54:05 · 510 阅读 · 0 评论 -
C# Managed DirectX 绘制静止三角形(高效版本)
CustomVertex.TransformedColored将顶点定义在托管堆中,如果顶点的数组放在图形卡的显存中,将极大地增加绘制图形的速度。 可用VertexBuffer类为数组申请存储空间,指定顶点数组的存放位置。 VertexBuffer构造函数: public VertexBuffer(Type typeVertexType, int numVerts, Device d原创 2015-01-26 23:22:46 · 797 阅读 · 0 评论 -
C# Managed DirectX 和 XNA简介
DirectX是微软公司推出的运行于Windows操作系统的多媒体API。 2002年微软推出Managed DirectX,也称作DirectX托管版本,用类重新封装了DirectX函数库,支持C#和VB.NET语言开发DirectX程序,极大简化了DirectX程序设计。 Managed DirectX SDK 9.0C包含以下命名空间: //包含公共类和数学结构,如向量转载 2015-01-26 16:59:59 · 1728 阅读 · 0 评论 -
C# Managed DirectX 三角形旋转(修改Direct 3D绘制流水线(渲染管线)中代码)
增加变量: private float angle = 0.0f; private float viewZ = -5.0f; 修改SetupMatrices方法: private void SetupMatrices() { this.device.Transform.World = Matrix.Rot原创 2015-01-27 22:53:22 · 1853 阅读 · 0 评论 -
Direct 3D绘制流水线(渲染管线)
一个3D模型要在显示器屏幕显示,必须顺序经过【世界变换】、【观察变换】和【投影变换】,顺序完成三个变换并在显示器显示的过程被称作绘制流水线。 1、世界变换 搭建3D场景时,首先要使用一个坐标系统来定位所有的3D模型的摆放位置,称为世界坐标系统。 每次在世界空间(3D场景)中放入一个3D模型,都必须根据该模型在世界空间的位置为其指定世界变换矩阵。 可以用以下函数得到世界变换矩阵,原创 2015-01-27 22:18:13 · 1137 阅读 · 0 评论 -
C# Managed DirectX 绘制静止三角形
定义数组变量: private CustomVertex.TransformedColored[] verts; 修改OnCreateDevice方法: public void OnCreateDevice(object sender, EventArgs e) { /* * 其他Device初始化工作;原创 2015-01-26 22:43:17 · 532 阅读 · 0 评论 -
C# Managed DirectX 和 XNA 数学基础
1、3D坐标系统和坐标 DirectX使用左手坐标系统,XNA使用右手坐标系统(四指绕x、y,看拇指指向)。 将一个左手坐标系统程序转换到右手坐标系统:左手坐标系统中的Z坐标值变为相反数。 2D坐标:Vector2,(x, y) 3D坐标:Vector3,(x, y, z) 特殊的结构:Vector4,最后一个字段Rhw总是为1。 当使用仿射矩阵原创 2015-01-26 19:58:44 · 888 阅读 · 0 评论 -
C# Managed DirectX 程序基本框架
Program.cs using (Form1 frm = new Form1()) { if (!frm.InitializeGraphics()) { MessageBox.Show("error"); return;转载 2015-01-26 21:43:20 · 685 阅读 · 0 评论