图形
文章平均质量分 76
enginetanmary
这个作者很懒,什么都没留下…
展开
-
DirectShow之接口实战篇--视频抓图与播放控制
DirectShow之接口实战篇(一)----------------------------------------------- 现今自己编程做一个多媒体播放工具是一件很令人开心愉悦的事情,但如果使用MediaPlay控制项开发则会受到很多限制,自己的很多好的创意想法都无法或者很难实现,如果利用微软的DirectX接口开发则可以充分的将作者的独特想法付诸於实现,何转载 2009-12-03 10:53:00 · 2624 阅读 · 1 评论 -
RacingGame学习记录1——辅助类
第一节:辅助类我想,在开始分析飞车的代码前,有必要先解释下辅助类这个概念。顾名思义,辅助类的作用就是提供服务。在面向对象设计的表述中他们也常被称为服务者。与服务者相对应的是掌握控制权的控制者。他们两者之间的关系可以理解为士兵和军官之间的关系:控制者控制着程序中的全部,或部分逻辑;而服务者往往只封装了某一些方面的功能,自身并没有控制的能力,仅仅只是听候控制者的调遣。这种划分转载 2009-09-25 13:08:00 · 832 阅读 · 0 评论 -
XNA开发软件硬件环境介绍及下载链接
本文介绍开发XNA所需要的软件硬件及配置建议,如果您已经成功调试过一个XNA游戏项目,可以跳过本文。主要的内容有:操作系统,开发工具IDE,XNA Framework,.NET Framework,DirectX SDK,显示卡,其它硬件,本站推荐的配置。所注下载链接皆为官方链接,您也可以在网路上搜寻更多适合您的版本。操作系统:Windows XP(SP3) Wi原创 2009-09-25 09:51:00 · 754 阅读 · 0 评论 -
在XNA中使用panda插件导出的.X文件注意事项
最近在使用.X文件时遇到了很多问题,主要集中在用panda插件导出的模型总是出现模型朝向不正确,模型比例出错等问题。 引起这些问题的原因很多,先说说坐标系,XNA采用右手坐标系,3dsmax也采用右手坐标系,这是一样的,但是不要忘了,当我们使用DXSDK自带的模型查看器观察模型的时候,D3D用的可是左手坐标系,而panda作为.X文件导出器,自然对D3D的坐标系转载 2009-09-30 09:46:00 · 1441 阅读 · 0 评论 -
VTK在.Net下的使用
(一)、前言 之前学校的时候采用VS2005、C++方式开发VTK程序,此前在博客上写过一篇VTK开发指南一文;之后现在工作后越发发现原来如果抛弃底层的数据计算,使用C#语言开发VTK程序将是极其简单的一件事。可以说就基于VTK的程序开发效率而言,C#的开发效率较C++高好几倍。主要表现为:(1) 更方便的搭建应用程序框架(Form编程代替了MFC的原创 2009-09-24 14:46:00 · 2676 阅读 · 3 评论 -
Unity 2.5发布,包括Windows版本
Unity Technology最近刚刚发布他们的游戏开发工具/游戏引擎Unity的最新版,Unity 2.5。 这是一个3D游戏开发工具和游戏引擎套件,其中包括了图形、音频、物理、网络等多方面的引擎支持,并且有一个非常强大的编辑器来整合这一切。原本是一个针对Mac、Windows和Linux的游戏开发套件,后来发展到也能够在iPhone和Wii上部署,或者在Web上部署。不但如此,最新的Un转载 2009-09-24 14:29:00 · 873 阅读 · 0 评论 -
WinCE中基于Media Player的多媒体开发
在过去的10年里,移动技术已经取得了令人难以置信的进步和成就。应用Windows CE系统的移动设备也在应用和编程方面变得更加灵活和方便。最新的Windows CE设备中加入了Windows Media Player 10 Mobile,它提供了和PC上的WMP控件一样强大的功能。你可以为你的移动设备增加多媒体能力,包括播放视频、音频文件,展示图片等等。你可转载 2008-04-07 20:15:00 · 789 阅读 · 0 评论 -
使用 Windows Mobile 5.0 中的图片、视频和照相机
适用于:Windows Mobile version 5.0Microsoft Visual Studio .NET 2005Microsoft .NET Compact Framework 版本 2.0摘要:学习 Windows Mobile 5.0 和 .NET Compact Framework 2.0 中新增的多媒体功能,并了解如何在您的企业应用程序中使用这些功能。本文通过转载 2008-04-07 20:08:00 · 1970 阅读 · 0 评论 -
图像传输系统的软件设计
图像传输系统的软件设计3.1 设计目的 软件设计目的:通过向GPRS模块发送AT指令,控制移动终端的通信过程,使移动台能借助GPRS提供的网关和路由接入Intemet,并通过TCP/IP网络协议完成与Internet上监控中心传输图像数据的任务。 基于以上要求,设计了通信软件,即GPRS客户端软件和服务器端软件。3.2 GPRS无线模块通信指令 WISMO 2D模块的软件部分对转载 2008-03-04 17:02:00 · 2065 阅读 · 0 评论 -
c#摄像头编程
安装摄像头后,一般可以找到一个avicap32.dll文件 这是一个关于设想头的类 using system;using System.Runtime.InteropServices;转载 2008-03-03 13:39:00 · 565 阅读 · 0 评论 -
RacingGame学习笔记2——基础图形部分1
第二节:基础图形部分飞车游戏的图形效果在这样一个不大的工程中而言,算是格外出色的了。游戏中,让我印象深刻的是界面时而抖动,变色的效果,渲染了很不错的游戏气氛;游戏场景中画面的各个细节也都十分优秀。只是大多数涉及这些激动人心的内容的代码还要在以后的章节中才能与大家相见。这一节,仅仅介绍Graphics目录中的基础图形类,也是为以后的内容加以铺垫。Graphics中的文件中,包括了对2d贴图的转载 2009-09-25 13:11:00 · 563 阅读 · 0 评论 -
RacingGame学习笔记3——基础图形部分2
文件三:TextureFontBigNumbers.cs这个类除了贴图对象由UI类保管外,其余部分的原理也无非是指定源矩形,计算目标矩形然后绘制的过程。可以注意的一点是在WrtieDigit函数中用到模数运算符来防止数组索引越界。另外,同样在这个函数中,调用了BaseGame.UI.Ingame的RenderOnScreen函数来进行绘制。相信这个函数大家都有似曾相识的感转载 2009-09-25 13:13:00 · 576 阅读 · 0 评论 -
音频视频解决方案:GStreamer/ffmpeg/ffdshow/directshow/vfw
音频视频编程相关:GStreamer/ffmpeg/directshow/vfwlinux和window下几种流行的音频视频编程框架作一个总结,防止自己迷惘,免于晕头转向。一、GStreamerGStreamer is a library that allows the construction of graphs of media-handling components, r转载 2009-12-02 15:53:00 · 880 阅读 · 0 评论 -
3D物体拾取及XNA实现
拾取原理 拾取主要用来表示能过鼠标在屏幕上单击来选中某个3D模型,然后就可以获取这个模型信息,同时也可以对这个模型进行编辑。 拾取算法的主要思想是:得到鼠标点击处的屏幕坐标,通过投影矩阵和观察矩阵把该坐标转换为通过视点和鼠标点击点的一条射入场景的光线,该光线如果与场景模型的三角形相交,则获取该相交三角形的信息。 拾取的具体过程如下: 1.使用获取鼠标当前状态。转载 2009-10-19 16:07:00 · 815 阅读 · 0 评论 -
XNA2.0結合瀏覽器
以前要把遊戲畫面放在瀏覽器上面不是一件容易的事,但好處很多,玩家可以不用下載安裝就可以直接執行(當然還是要下載),現在不少遊戲都採取這種方式,而主流就是以flash作為媒介,因為它2D的畫面,硬體要求不高,下載資源也快,戲谷線上遊戲館就是採用類似技術,而其他如Virtools可以直接呈現3D畫面,但授權費用昂貴,在遊戲上應用不多。還記得之前有介紹過在winforms裡转载 2009-10-09 16:48:00 · 668 阅读 · 1 评论 -
XNA+Webcam
http://www.codeplex.com/XNACommunity/Wiki/View.aspx?title=Web%20Cam&referringTitle=Home這個範例示範了如何在XNA上使用webcam所擷取的影像,webcam的lib使用包好的.net directshow,將擷取到的影像放置到xna texture,然後改變rendertarget转载 2009-10-09 16:58:00 · 812 阅读 · 0 评论 -
XNA 天空盒子
今天终于做了个SkyBox,本来很简单,但是因为之前没有做过,所以做的候还是不是很顺利。 Skyboxr 原理很简单: 将6张图贴在个面上,图实为TextureCUBE。 首先为了省去每次写DEMO时都要重新写Camera的操作的方法,所有这次就做了个Camera操作的类,来封装Camera的常用操作方法: CodeCode highlighting produ转载 2009-09-27 15:00:00 · 1057 阅读 · 0 评论 -
XNA中三维空间物体的几种旋转方法
通过绕三个坐标轴的旋转之和。 X、Y、Z分别描述绕三个坐标轴的旋转角度(0~360)。这三个角度称为欧拉角。绕X轴旋转的角称为倾斜角(pitch),绕Y轴旋转的角称为翻滚角(head或yaw),绕Z轴旋转的角称为摇摆角(roll)。物体的朝向一般可以用欧拉角表示,因此朝向的插值问题可以简单地转化为三个欧拉角的插值问题。但欧拉角表示也有它的局限性。因为旋转矩阵是不可交换的,基于欧转载 2009-09-27 14:54:00 · 1629 阅读 · 0 评论 -
RacingGame学习笔记6——基础图形部分5
文件十二:UIRenderer.cs正如UIRenderer类头顶上的注释所说,这个辅助类负责绘制界面上所有的2D元素。但当你看完这个类的代码以后,你会发现注释中所说的2D元素的范畴,比你想像的还要大。这个文件比较长,并且长的让你找不出太多批驳它的理由。同时这个文件又很枯燥,仿佛就是个枯燥代码的集中营。这又有什么办法呢?一个程序中总难免有这样的类,像一个老黄牛,帮别人把不转载 2009-09-25 13:16:00 · 698 阅读 · 0 评论 -
RacingGame学习笔记5——基础图形部分4
文件八:Material.cs读者如果接触过3DMax、Maya等3D设计软件,应该对材质这个概念并不陌生。但我们首先要明确的一点是,图形设备的渲染过程中是没有材质这个概念的。当前的图形设备一般只需要外界传给他贴图数据和顶点数据,告诉它对这些数据该怎么处理。(DirectX9.0之后的版本使用HLSL来控制处理过程,也是XNA中使用的控制方法。下一节讨论Shaders目录的时转载 2009-09-25 13:15:00 · 673 阅读 · 0 评论 -
RacingGame学习笔记4——基础图形部分3
文件五:LineManager2D.cs看完了几个2D的辅助绘制类后,让我们开始分析Graphics目录中的几个3D辅助绘制类。我们将依次浏览LineManager2D、LineManager3D、PlaneRenderer、Material、Model以及MeshRenderManager类。让我们从最容易理解的LineManager2D开始。这个类的任务就是在屏幕中画转载 2009-09-25 13:14:00 · 630 阅读 · 0 评论 -
C#截屏
using System;using System.Runtime.InteropServices;using System.Drawing;using System.Drawing.Imaging;namespace CSharpChat{ /// /// ScreenCameraClass 的摘要说明。 /// public class ScreenCameraClass { pub转载 2008-03-03 13:42:00 · 973 阅读 · 0 评论 -
驱动摄像头的类
本文是借助avicap32.dll库来驱动摄像头。做到了抓图、录像功能。using System;using System.Runtime.InteropServices;using System.Drawing;using System.Drawing.Imaging; namespace using System;using System.Runtime.InteropServices;u转载 2008-03-03 13:38:00 · 450 阅读 · 0 评论 -
.Net里一个用于驱动摄像头的类
本文是借助avicap32.dll库来驱动摄像头。做到了抓图、录像功能。using System;using System.Runtime.InteropServices;using System.Drawing;using System.Drawing.Imaging;namespace using System;using System.Runtime.InteropSer转载 2007-07-27 15:50:00 · 511 阅读 · 0 评论 -
Managed DirectX +C# 开发(入门篇)(五)
如果代码是:device.DrawPrimitives(PrimitiveType.LineStrip, 0,3);执行结果是:它把顶点绘制为一条折线。至少需要两个顶点。如果代码为:device.DrawPrimitives(PrimitiveType.PointList, 0,4);执行结果是:把数据作为一系列离散的点来绘制。 四、创建顶点缓冲转载 2007-07-26 13:46:00 · 1003 阅读 · 0 评论 -
Managed DirectX +C# 开发(入门篇)(一)
前 言以前是用VC 作计算机图形学的,大约在一年前,公司接到一个用C#+DirecX的项目,从那时起便开始学习Mangaged DirectX ,现将在开发过程中的一点总结发表出来,和同行们共同参考,共同学习,共同进步,前面是一些基础内容,算是入门篇吧,现在正将开发过程中所用到的一些算法整理中,算是中级篇吧。1:在整理过程中,有些内容为从网上找的资料,部分为翻译国外文章,转载 2007-07-26 13:44:00 · 797 阅读 · 0 评论 -
C#+Direct3D9.0开发实例之月亮绕着地球转
一、建立空窗体 新建一个工程,添加引用,并导入名称空间。 加入一个设备对象变量:private Microsoft.DirectX.Direct3D.Device device = null; 添加初始化图形函数,并在这里面对设备对象进行实例化:public void InitializeGraphics(){ PresentParameters presentParams = new转载 2007-07-26 13:32:00 · 1726 阅读 · 1 评论 -
C#绘图双缓冲技术总结
GDI+的双缓冲问题终于搞定了, 真是松了一口气!一直以来的误区:.net1.1 和 .net 2.0 在处理控件双缓冲上是有区别的。.net 1.1 中,使用:this.SetStyle(ControlStyles.DoubleBuffer, true); .net 2.0中,使用:this.SetStyle(ControlStyles.OptimizedDoubleBuffer转载 2007-07-26 11:08:00 · 838 阅读 · 0 评论 -
Managed DirectX +C# 开发(入门篇)(六)
第五章 矩阵变换一:为什么使用4×4矩阵?在3D中进行编程时,使用的是4×4矩阵来进行矩阵变换。初学者往往认为既然是三维空间,为何不使用3×3的矩阵来表示呢?这是因为3×3的矩阵不能表示有些变换,比如比如平移、投影、反射,因此,增大到4×4,这样,就可以描述更多的变换了。但是矩阵变成了4×4,为了做向量与矩阵的相乘,所以需要把向量增加为1×4,因为1×3的行矩阵和4×4的转载 2007-07-26 13:47:00 · 704 阅读 · 0 评论 -
Managed DirectX +C# 开发(入门篇)(三)
第二章 向量的运算(2)7:向量的最大与最小值最大值是从两个向量X,Y,Z值中分别取出最大值组成一个新向量;最小值是从两个向量X,Y,Z值中分别取出最小值组成一个新向量;看以下代码: private void VectorMax() { Vector3 vec1 =转载 2007-07-26 13:45:00 · 605 阅读 · 0 评论 -
D3DX颜色函数
D3DX颜色函数 1:D3DXFresnelTerm ()计算菲涅耳系数。定义:FLOAT WINAPI D3DXFresnelTerm(FLOAT CosTheta, FLOAT RefractionIndex);参数:CosTheta [in] 本值必须在 0和1之间。 RefractionIndex [in] The refraction index of转载 2007-07-26 13:41:00 · 643 阅读 · 0 评论 -
D3DX中关于平面的函数
D3DX中关于平面的函数1:D3DXPlaneFromPoints():通过三个点来求得一个平面; 2:D3DXPlaneFromPointNormal():通过一个点和一个法线来求得一个平面; 3:D3DXPlaneIntersectLine():直线与平面的交点; 4:D3DXPlaneDotCoord():利用该函数返回值的符号可决定点在平面的哪一侧。和下面不转载 2007-07-26 13:40:00 · 674 阅读 · 0 评论 -
利用DirectX写的二个常用函数
1:求两个平面相交所形成的直线:bool GetIntersectionLine (D3DXPLANE& plane01,D3DXPLANE& plane02,CRayLine& line){ D3DXPlaneNormalize(&plane01,&plane01); D3DXPlaneNormalize(&plane02,&pl转载 2007-07-26 13:50:00 · 662 阅读 · 0 评论 -
Window Mobile视频会议程序的开发
Window Mobile视频会议程序的开发 适用平台Pocket PC 2003 Phone EditionWindows Mobile 2003/SEWindows Mobile 5.0 开发工具Microsoft Embedded Visual C++ 4.0Microsoft Visual Studio 2005及适用于各平台的SDK转载 2007-07-27 11:24:00 · 1807 阅读 · 2 评论 -
.net framework 画2D饼图
Bitmap cBmp = new Bitmap(width,height); //创建画布宽度为471,高度为367的Bitmap实例 Graphics cGraphic; Color[] cColor = { Color.Red, Color.Blue, Color.Green, Color.Gray, Color.LightCoral, Col原创 2007-08-01 17:58:00 · 730 阅读 · 0 评论 -
利用VS.NET为PDA应用程序创建饼图控件
VS.NET本身并不提供智能设备(如PDA)应用程序的柱形图,开发智能设备应用程序时VS.NET并不象Window应用程序那样提供用户自定义控件。 如果现有的控件中没有一个符合应用程序的要求,则可以通过从一个基控件类派生来创建自定义控件。这些类提供控件的所有基本功能,因此您可以将注意力集中在所需功能的编程上。 在本文中,您将创建一个以柱形图显示的 PDAChartControl自定义控件。还将转载 2007-08-01 17:41:00 · 724 阅读 · 0 评论 -
Managed DirectX +C# 开发(入门篇)(八)
第七章 顶点缓冲一、索引缓冲3D物体中的三角形经常会有许多共用顶点。如果用两个三角形组合为一个长方形,有两个点被重复使用,当要表现一个更精细更复杂的模型的时候,重复的顶点数将会变得很大。下图的立方体,仅有八个顶点,但是当用三角形列表示它的时候,所有的点都被重复使用。索引缓冲就是一块保存了顶点数据索引的缓冲。缓冲中的索引为32位或16位的整数。比如,当使用索引0,1,6来绘转载 2007-07-26 13:49:00 · 790 阅读 · 0 评论 -
Managed DirectX +C# 开发(入门篇)(七)
第六章 Mesh对象一、什么是Mesh?前面已经接触过Mesh类,在这里则对它进行详细介绍Mesh可以用来储存任何类型的图形数据,但主要用来封装复杂的模型。Mesh类同样也有一些用来提高渲染物体性能的方法。使用Mesh可以从外部文件读入3D的模型文件,比如MaYa文件,这样就可以在3D Max或MaYa等软件中做好模型,然后读入程序。Mesh对象内部也包含了很多转载 2007-07-26 13:48:00 · 692 阅读 · 0 评论 -
Managed DirectX +C# 开发(入门篇)(四)
Managed DirectX +C# 开发(入门篇)第四章 入门程序一、创建设备本节介绍的示例为DirectX SDK自带的示例,在这里将其解释一下,本示例什么也不做,只是显示一个空白窗体。现在先看程序运行的主函数:static void Main() {//建立一个窗体实例; using (CreateDevice转载 2007-07-26 13:46:00 · 932 阅读 · 0 评论 -
Managed DirectX +C# 开发(入门篇)(二)
第二章 向量的运算(1)1:向量相等几何学上,有同样方向和长度的两个向量相等。数学上,我们说有同样维数和分量的向量相等。例如:如果ux = vx, uy = vy, 且 uz = vz.那么(ux, uy, uz) = (vx, vy, vz)。在代码中我们能够用“= =”判断两个向量相等。2:向量模长向量的大小是有向线段的长度。知道向量的分量,利用下面的公式就能计算出向量的转载 2007-07-26 13:44:00 · 819 阅读 · 0 评论