首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AlphaTestEffect.Projection属性

AlphaTestEffect.Projection属性
EN

Stack Overflow用户
提问于 2012-01-16 21:33:45
回答 1查看 351关注 0票数 1

我正在阅读本教程,以根据我想要传递的像素类型混合不同的纹理:http://www.crappycoding.com/tag/xna/page/2/

到目前为止,我认为我理解了整个概念,除了创建AlphaTestEffect对象时的几行代码,因为对它的解释很少,我也不知道它是做什么的,也不知道为什么要这样设置。

代码语言:javascript
运行
复制
Matrix projection = Matrix.CreateOrthographicOffCenter(0, PlanetDataSize, PlanetDataSize, 0, 0, 1);
Matrix halfPixelOffset = Matrix.CreateTranslation(-0.5f, -0.5f, 0);

alphaTestEffect.Projection = halfPixelOffset * projection;

谁能解释一下这些必需品,它们是做什么的,它们是做什么用的?我希望不会花太多时间,我的问题也不是一个愚蠢的问题。

干杯卢卡斯

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-16 22:55:03

因为他使用的是自定义效果,而不是默认的SpriteBatch效果,所以他必须确保投影的工作方式与默认效果相同(或者更确切地说,他使其相同,以使所有内容都能很好地发挥作用)。

http://blogs.msdn.com/b/shawnhar/archive/2010/04/05/spritebatch-and-custom-shaders-in-xna-game-studio-4-0.aspx

如果你向下滚动一点,就会在那里解释:

“此代码将BasicEffect配置为复制默认的SpriteBatch坐标系:”

默认的SpriteBatch摄影机是具有半像素偏移的简单正交投影,以更好地显示2D纹理。这可以在这里解释:

http://drilian.com/2008/11/25/understanding-half-pixel-and-half-texel-offsets/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8880733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档