C# WinForm构架下的DirectX框架
来源:互联网 发布:淘宝扣分清零时间 编辑:程序博客网 时间:2024/05/28 11:51
1) 应用程序框架
启动时加载DirectX
Device设备初始化,只执行一次
Deivce 初始化工作,只调用一次:
窗口发生变化 -> Device 参数变化
渲染,显示过程
2) 直接屏幕绘制
TransFormedColored 结构
记录顶点
根据透视原理计算过的
可以直接在显示器上显示
属性 Position, Vector4(x,y,z,1). 同一图形的z应该相同,表示观察者的距离
属性 Color,
CustomVertex.TransformedColored vert = CustomVertex.TransformedColored();
float z = 0.5F;
vert.Position = new Vector4(150F, 50F, z, 1F);
vert.Color = Color.Aqua.ToArgb();
绘制顶点,必须使用 DrawUserPrimitives()
verts = new CustomVertex.TransformedColored[n];
...
device.DrawUserPrimitives(PrimitiveType, 1, verts);
结构 PrimitiveType
-> PointList 绘制顶点
-> LineList 绘制线段,每个线段使用2个顶点
-> LineStrip 绘制线段,中间顶点重复使用
-> TriangleList 绘制三角形,每个三角形使用3个顶点
-> TriangleStrip 绘制三角形,每2个相邻三角形共享中间两个顶点
-> TriangleFan 绘制三角形,每2个相邻三角形共享中间两个顶点,所有三角形共享一个顶点
3) 使用VertexBuffer
构造函数
#region VertexBuffer
vertexBuffer = new VertexBuffer(typeof(CustomVertex.TransformedColored),
3,//顶点个数
dev,//Device
0,
CustomVertex.TransformedColored.Format,//顶点格式
Pool.Default);//(顶点)参数存放位置
事件 Created
图形卡中的数据在窗口最小,最大化以后,可能丢失,因此需要数据重建。使用Created事件。
vertexBuffer.Created += new EventHandler(OnCreateVertexBuffer);
顶点绘制 DrawPrimitives()
device.DrawPrimitives(PrimitiveType.TriangleList, 0, 1);//绘制.
-> 格式
-> 起始
-> 个数
- C# WinForm构架下的DirectX框架
- C# WinForm构架下的DirectX框架
- Directx下的Effect框架
- DirectX 在MFC框架下的应用
- C# WinForm 下的分页
- 建立第一个directX程序--winform--在C#下利用DirectSound实现声音播放
- C# WinForm开发框架
- c#下winform的ftp上传实验
- c#下winform的ftp上传
- WinForm下c#调用摄像头的代码
- C# winform下的富文本编辑器
- 分享下C# winform的post提交
- c# Winform 下 的ftp传输控制
- C#下的winform编程相关知识
- C#的winForm下释放资源
- 改进的C#插件构架
- 改进的C#插件构架
- C# Managed DirectX 程序基本框架
- C# 中的字体
- User Define Message
- Construct Binary Tree from Preorder and Inorder Traversal - Leetcode
- VMware虚拟机关闭后托盘运行设置
- 读写操作,文件和注册表
- C# WinForm构架下的DirectX框架
- C#控件中使用DirectX
- 世界,观察和投影变换
- 十二五中国电信宽带战略解析(四):主导与包容
- 3D字体
- 辛星浅析Redis中的字符串类型
- 【翻译自mos文章】为什么在备份过程中rman不使用unused block 压缩功能
- SP605开发环境搭建
- 【翻译自mos文章】怎么获得datafile备份的 增长信息