
Windows Phone
文斌
个人成长咨询顾问,北京航空航天大学软件工程硕士,信息系统项目管理师。
22年软件研发和管理经验。曾任数码视讯战略研究院架构师,百度架构师,百度技术委员会委员、最佳导师。
5年合伙人创业,经历了完整的企业生命周期。
展开
-
Windows Phone 7开发环境初体验
对Windows Phone 7的开发环境和模拟器的初次体验,有图有真相原创 2010-09-18 22:31:00 · 5017 阅读 · 5 评论 -
在Windows Phone中进行3D开发之十一天空
飞船是离不了天空的,虽然上一节我们已经建好了飞船并试飞成功,但还是没有给飞船更大的背景翱翔。在一个场景中,仅有主体还是不够的,还需要有周围环境的渲染。如果我们能为飞船增加蓝天白云的高远,峰峦叠嶂的苍翠,那一定才是更贴近现实的。 在这个场景中,我们需要一个天空环境作为背景,不考虑地形地貌的特征,因此,典型的做法是实现天空盒(sky-box)。天空盒就是做一个大的立方体,为立方体内部的六原创 2012-01-05 22:51:10 · 4048 阅读 · 0 评论 -
在Windows Phone中进行3D开发之十组件
在前文中,我们已经实现了加载复杂的3D模型并在空间中进行控制,通常在一个游戏程序中,这样的3D模型有很多,如果每一个都在场景中去绘制,那么Draw()方法就会很复杂了,而且也不利于代码的复用。更好的方式是把这艘飞船实现为GameComponent,而且是DrawableGameComponent。接下来我们就来构造飞船组件。 首先为项目中添加一个新元素,使用XNA中的GameComp原创 2012-01-04 22:34:00 · 2915 阅读 · 1 评论 -
在Windows Phone中进行3D开发之九模型
在前文中,我们初步了解了在Windows Phone 7的XNA框架下实现3D场景的基础知识,能够进行3D空间下物体的变换,并且增加了纹理贴图和光照用于表现更加真实的世界。通过这些操作,我们已经进入了3D的世界。接下来,我们将使用真实的3D物体模型来进行复杂的场景实现,形成一个飞船在天空中飞行的效果。现在,让我们开始吧。 任何复杂的3D物体模型都是由若干个三角形组成,无论是一个立方体原创 2012-01-02 18:22:33 · 3466 阅读 · 3 评论 -
在Windows Phone中进行3D开发之后记(附源码)
终于把这一系列博文写完了,真是长舒了一口气。 记得在2011年的10月13日我在我的新浪微博http://weibo.com/wenbin1027中写下了这样的文字:“ 计划用业余时间写一个《在Windows Phone中进行3D开发》的系列博客,约10篇左右吧。刚刚开始,但时间不能保证。敬请关注我在优快云上的博客http://blog.youkuaiyun.com/caowenbin ”原创 2012-01-10 00:02:14 · 2799 阅读 · 3 评论 -
在Windows Phone中进行3D开发之十三阳光
利用控制飞船的变换矩阵,现在它已经在天空中任由我们摆布了,但是总觉得还是差了点什么,真实性不够。到底缺少了是什么呢? 通过仔细观察,我们可以看到,原来无论天空怎么旋转,在飞船船体上都没有体现光影的变化,没能随着太阳的移动产生必要的光线反射。 这块看起来是一个大问题,飞船的模型我们已经封装了Ship类,在Draw()方法中通过BasicEffect来渲染输出。天空我们也是原创 2012-01-07 16:00:41 · 3908 阅读 · 1 评论 -
在Windows Phone中进行3D开发之十二飞行
在完成了飞船和天空的两个元素以后,现在要作的是把二者结合起来,让飞船在天空中自由飞翔。 现在我们面对了如下两个问题:一是空间中的位置关系,二是飞船飞行时与天空盒的碰撞或穿越。 先来看第一个问题,在画飞船的时候,是画在了原点上,在画天空的时候,同样也是在原点上。飞船的坐标值很大,以至于在画飞船的时候使用-0.02的缩放矩阵对其进行缩小处理,而天空盒的边长仅为2个坐标单位,原创 2012-01-06 21:15:09 · 2222 阅读 · 0 评论 -
在Windows Phone中进行3D开发之八光照
在现实生活中,除了颜色以外,最重要的其实是光照,有了光照,才有了明暗、着色、高光等效果,在继上节的纹理之后,这节来为场景加入光照效果。 在XNA中,可以简单地把光照分为两种,一种是环境光,一种是有向光。 环境光是不来自任何特殊方向的光,它有光源,但是被周围环境的多次反射变得没有确定的方向,物体各表面都均等受光。在使用时主要用环境光改变场景的基本光线颜色。原创 2011-12-28 20:49:06 · 2548 阅读 · 0 评论 -
在Windows Phone中进行3D开发之五平移缩放
上节内容中,我们已经有了第一个三维物体,本节中我们就先让它拥有最基本的平移和缩放的运动。 回顾我们的BasicEffect,它有一个World属性是用于决定物体坐标系的,如果我们对这个属性施加一些运算,就可以让物体动起来。通常,World的取值是单位矩阵,即物体位于原点处。要让物体发生移动,只需要在对应的坐标轴上与一个矩阵相乘。这个矩阵的构造方法是: Matrix CreateT原创 2011-11-01 21:31:48 · 2876 阅读 · 0 评论 -
在Windows Phone中进行3D开发之六旋转
上节内容中,我们让物体拥有了最基本的平移和缩放的运动。现在我们来看三大运动之一的旋转运动。 同上节的知识一样,要让物体发生旋转,只需要在对应的坐标轴上与一个矩阵相乘。这个矩阵的构造方法有三种,分别是: Matrix CreateRotationX(float radians); Matrix CreateRotationY(fl原创 2011-11-17 18:30:27 · 2624 阅读 · 0 评论 -
在Windows Phone中进行3D开发之四三角形
上节内容中,我们已经有了一个三维的空间,本节中我们就来结识3D中最基本的图元——三角形 在3D开发中,三角形占有重要的地位。它是3D模型的最小基元,无论多复杂的3D模型,最终都可以表示成若干个三角形的组合。图形处理芯片也对三角形渲染进行了硬件支持。可见三角形虽然简单,但在3D开发中的重要性。下面我们就从这个最简单的三角形开始。 沿用上节我们建好的XNA项目,在VS201原创 2011-10-20 23:54:45 · 2840 阅读 · 4 评论 -
在Windows Phone中进行3D开发之一坐标系
Windows Phone中通过XNA为开发人员提供了游戏框架,大大提高了游戏开发的效率,这个就不必多言了。在享受使用XNA进行2D开发的便捷的同时,还可以同样便捷的实现3D开发,我想通过系列文章对此进行介绍,供想在Windows Phone环境中使用XNA进行3D开发的朋友参考原创 2011-10-10 20:36:15 · 4271 阅读 · 4 评论 -
在Windows Phone中进行3D开发之三空间
经过前两节的学习,我们已经具备了创建三维空间的条件了,相信很多人已经跃跃欲试了,接下来,我们就动手开始在Windows Phone中的3D开发之旅。 打开Visual Studio 2010(什么?还没有Windows Phone的开发环境?唉,自己处理一下吧,有问原创 2011-10-18 12:44:18 · 3669 阅读 · 0 评论 -
在Windows Phone中进行3D开发之二摄像机
上一节中,我们认识了3D世界中最基础的一个概念——坐标系,并且了解了XNA中使用Vector3类型来表示。但是,由于引入了深度信息,所以在空间中的物体要想正确的投影出来,还缺少一个重要的道具——摄像机。 先来回想一下用摄像机或照相机的经历吧!对于同样的目标物体,有以原创 2011-10-13 20:34:53 · 4675 阅读 · 3 评论 -
Windows Phone 7 3D开发中使用纹理贴图
本文描述了在Windows Phone 7中利用XNA框架渲染3D物体的示例代码,并解决了纹理贴图引起程序崩溃的问题。原创 2011-03-14 23:47:00 · 9350 阅读 · 24 评论 -
在Windows Phone中进行3D开发之七纹理
经过前几节内容的学习,我们已经让物体具有了平移、缩放、旋转的三大运动能力,通过组合使用,可以形成复杂的物体运动模型。 接下来,我们要给物体增加些颜色了,改变灰濛濛的世界。 还记得我们之前定义的三角形数据吗?当初定义的时候是这样的: triangle = new VertexPositionColor[]{ new Vertex原创 2011-11-30 23:50:03 · 3035 阅读 · 1 评论