`
andyjackson
  • 浏览: 58371 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论
文章列表
接上一篇,讨论通过顶点绘制的一些其他的话题。 开启Backface Culling(背面剔除)       你定义三角形顶点的方式告知XNA你想让哪一面朝向相机。当绘制一个实心对象时,人们可以清楚地说出三角形的哪个面在物体的内部还是外部。要绘制必须的三角形,你可以要求XNA只绘制朝向相机的那个面,其他三角形在物体的内部被前面隐藏!但是对计算机来说事情不是那么简单。对你定义的每个三角形,你需要说明三角形是在外面还是里面,这可以通过沿逆时针方向或顺时针方向定义三角形的顶点做到这点。当定义顶点时,你需要考虑相机的位置。要绘制三角形,顶点的顺序必须以相机看来按顺时针方向递增。你可以想象一条从相机出发指 ...

文件io测试

    博客分类:
  • java
简而言之,就是利用回调模式,在线程完成了操作之后调用主线程了监听方法。废话不说,上码: 监听接口,继承该类实现回调 /** * @author ajwang * 回调接口 * */ public interface DigestListener { public void digestCalculated(List<String> list) throws IOException; } 具体的线程类,读取文件 /** * @author ajwang * */ public class ListCallbackDigest implement ...
废话不说,先上代码: <form id="form_tKEim7ks" title="修改登录ID" bodyStyle="padding:5px 5px 0" url="editLogonId.dt" hidden="'$!{type}'!='logon'"> <items> <container id="container_aj8Htzdm" layout="hbox" margin="5" ...
   (语次有些混乱,见谅....)    最近正在参与公司的一个改造项目,页面展示使用的是mashup,后台使用服务调用的方式。较之之前做的一个使用restlet开发的lbs项目,觉得还是有蛮多想说。    公司由小做到大,都会经过系统的 ...
这是第二篇中用到的一张照片,里面描绘了整个过程:importer->processor->serializer->deserializer。上一篇中讨论了deserializer,这一节开始,逐步讨论其他部分。 先从importer开始: namespace Microsoft.Xna.Framework.Content.Pipeline{ public abstract class ContentImporter<T> : IContentImporter{ public abstract T Import(string filename, C ...
ContentManage作为Game类的一个非常重要的助手,负责个所有Content的加载和管理工作。从Texture、SpritFont到Model、Effect都是通过该类的Load方法获得。Load方法的部分代码如下: public virtual T Load<T>(string assetName){ object obj2; if (this.loadedAssets.TryGetValue(assetName, out obj2)){ if (!(obj2 is T)){ throw new ContentLoad ...
      上一节讨论到了model的组成,一个模型使用无数个ModelMeshPart组成,通过bone将这么messpart按照树形结构组合在一起。      Primitives (图元)是可以被XNA绘制的最基本的对象,最常被使用的图元是三角形。你想定义一个3D ...
      接着“XNA学习笔记2”中的内容管道说。图片文件、字体文件、.x/.fbx和.fx文件经过内容管道的导入编译等工作,最后通过ContentManager对象的Load方法得到texture、spritefont、model和effect对象。       纹理(或shader)、模型和渲染的关系可以用一个形象的比喻。现在是一个立方体,立方体是模型;渲染就是对立方体的每个部分(这里就想做是每个面,稍后会介绍他的定义)如何添加纹理、颜色、阴影等效果;而纹理就是每个渲染用到的纹理。       第二章讲到了简单2D的纹理是通过SpriteBatch类来处理,这个类仅处理2D的简单纹理,并且 ...
   对于2D纹理的绘制,XNA框架使用了一个特殊的类-SpriteBatch来处理,其中Draw方法的不同重载版本有不同的功能,可以实现旋转、缩放、镜像和设定层深度的功能,以及通过Begin方法的参数实现透明绘制的功能。    旋转。使用rot ...
   上一节中用元素表示所有XNA能够加载并处理的内容,并谈论了所有这些元素所需要的两个最基本的Matrix。今天讨论一下所有这些元素的知识。    在XNA中,统一使用内容管道(content pipeline)框架提供支持。一个完整的内容管道是由导入器 (importer),处理器(processor),串行化器(serializer)和反串行化器(deserializer(组成的。    导入器:读取源文件并提取有用的数据,这个数据是存储在一个指定的标准格式中的。例如对一个模型,标准格式是NodeContent对象,对一个图像,标准格式是TextureContent 对象。这种标准格式叫做 ...
   看了几天的XNA,总是感觉模模糊糊的。没有游戏开发相关的基础,立体建模也丢了好久,总是只是感觉就这样,为什么是这样总想不明白。现在,我总算明白了其中的一些,就把自己理解的写下来吧。。。    1.对于任何一个 ...
依赖注入(DI),是spring容器实现的基础,在spring-core模块中实现的。所谓DI,就是指对象是被动接受依赖类而不是自己主动去找,换句话说就是指对象不是从容器中查找它依赖的类,而是在容器实例化对象的时候主动将它依赖的类 ...
本人在在某项目过程中,写了一个简单的ORM。。主要实现了实体关系影射的功能。对于缓存策略等,将会再以后有时间再集成进去。由于mongo数据库本身的特性,大家都知道其collection没有列的Constraint,因此对于一些小的分类比较多的实体,可以放在一个collection中(在关系型数据库中,使用的是多张表然后通过一些标志性的字段外加必要的外键关系来实现的),例如:对于商品实体,有许多中商品,纸巾、水杯等,在数据库建模的时候可以忽略各种商品之间细节的差异(如字段不同),统一塞到一个collection中,而javabean与数据库记录之间的转化“多态”的方式进行(具体来说,在运行期间通过 ...

mongo-embedded心得

    博客分类:
  • java
大家都知道,mongo支持对embbeded的子项进行查询和更新操作,其实mongo从1.3.4之后支持对数组中的item为对象的进行查询和更新操作。 '$'符号是进行这类查询的基础。首先,我们要理解他的含义。 官方文档中说到:“The $ operator (by itself) means "position of the matched array item in the query".”该符号指的就是在制定的数组中匹配的item的位置,因此我们看到了希望。下面是它的例子: > t.find() { "_id" : ObjectId(& ...
在官方给的spring和restlet结合的例子中,仅仅给出了一个将所有的resources交由spring管理的方式。这样直接跳过了application的配置。但是,他会带来一个问题:无法伪造PUT和DELETE方法。当然,也可以让spring来管理application,然后由application自己管理自己的resources。但是,这样,resources无法由spring来注入dao。(详细在ajax的博客中:有详细介绍 )。我今天仔细研究了restlet给出的关于spring的扩展包,发现还有第三种方法。将application和resources都交给spring来管理,并且 ...
Global site tag (gtag.js) - Google Analytics