游戏开发论坛

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: 流川枫

?槭颤N我用三角形自己拼2D?D形,?s?要求2的N次?纾糠?t?D像模

[复制链接]

59

主题

984

帖子

1200

积分

金牌会员

Rank: 6Rank: 6

积分
1200
发表于 2009-10-8 04:34:00 | 显示全部楼层

Re:?槭颤N我用三角形自己拼2D?D形,?s?要求2的N次?纾糠?t?D

http://msdn.microsoft.com/en-us/ee417850%28VS.85%29.aspx

SPRITE会尽可能把多个sprite打包为一个batch,用一次DP渲染

32

主题

235

帖子

235

积分

中级会员

Rank: 3Rank: 3

积分
235
 楼主| 发表于 2009-10-8 19:39:00 | 显示全部楼层

Re: Re:?槭颤N我用三角形自己拼2D?D形,?s?要求2的N次?纾糠?t

clayman: Re:?槭颤N我用三角形自己拼2D?D形,?s?要求2的N次?纾糠?t?D像模糊化

http://msdn.microsoft.com/en-us/ee417850%28VS.85%29.aspx

SPRITE会尽可能把多个sprite打包为一个batch,用一次DP渲染

“dx9下要做半个像素的偏移,让texel对齐屏幕坐标中心”不明白你的意思,能不能?出代?。
?有SPRITE可以用Z???????D???先??幔

59

主题

984

帖子

1200

积分

金牌会员

Rank: 6Rank: 6

积分
1200
发表于 2009-10-8 19:52:00 | 显示全部楼层

Re:?槭颤N我用三角形自己拼2D?D形,?s?要求2的N次?纾糠?t?D

void FullScreenQuadVS(float3 iPositionOSITION,
        out float4 oPosition:POSITION,
        inout float2 texCoord:TEXCOORD0)
{
        oPosition = float4(iPosition,1);
        texCoord -= 0.5 / screenParam; (half pixel offset)
}

float4 mainPS(float2 texCoord:TEXCOORD0):COLOR
{
     return tex2D(sourceSpl,texCoord);
}

screenParam.x == screenWidth
screenParam.y == screenHeight
如果你不用shader,那么请参考msdn那个连接上最后的代码

我用的是xna,xna中的sprite允许你显式的为每个sprite指定一个深度值,以便利用z buffer,但2D通常涉及到alpha blend,所以基本上你还是要自己sort

32

主题

235

帖子

235

积分

中级会员

Rank: 3Rank: 3

积分
235
 楼主| 发表于 2009-10-8 21:38:00 | 显示全部楼层

Re: Re:?槭颤N我用三角形自己拼2D?D形,?s?要求2的N次?纾糠?t

clayman: Re:?槭颤N我用三角形自己拼2D?D形,?s?要求2的N次?纾糠?t?D像模糊化

void FullScreenQuadVS(float3 iPositionOSITION,
        out float4 oPosition:POSITION,
        inout float2 tex...

你的意思是?,三角形拼的??X Y都?p去0.5???拥脑?就可以就算不是2次迷也不??:??

59

主题

984

帖子

1200

积分

金牌会员

Rank: 6Rank: 6

积分
1200
发表于 2009-10-8 23:07:00 | 显示全部楼层

Re:?槭颤N我用三角形自己拼2D?D形,?s?要求2的N次?纾糠?t?D

不是0.5,是0.5个像素 texCoord -= (0.5 / screenParam)

32

主题

235

帖子

235

积分

中级会员

Rank: 3Rank: 3

积分
235
 楼主| 发表于 2009-10-9 00:12:00 | 显示全部楼层

Re: Re:?槭颤N我用三角形自己拼2D?D形,?s?要求2的N次?纾糠?t

clayman: Re:?槭颤N我用三角形自己拼2D?D形,?s?要求2的N次?纾糠?t?D像模糊化

不是0.5,是0.5个像素 texCoord -= (0.5 / screenParam)

?,我?於完全?氐籽芯棵靼琢恕?槭颤N??:????硎沁@?一回事。SHIT!!!
原??3DX?入?D像的?r候就已?把?D像拉伸??的N次?纾ㄎ疫@?是拉伸成1024),?K且保存在MIP的0?友Y了。
但是呢,我是用??自己拼出?淼木匦危?歉??D像原始大小建立的矩形!
所以?示出?淼?D像?然和原始大小相同,但是?是??024又重新?放???即笮〉?D像。不模糊才怪!

就算做半个像素的偏移,可不可能解?Q???。

也就是算,不管是SPRITE?是自己??拼,只要是用D3DX?入的?D像,都??蛔?永?斓?N。

最後??下,?理?ο蟮脑?枷袼???遣皇?]有的,MIP0?泳褪?D像???耍

32

主题

235

帖子

235

积分

中级会员

Rank: 3Rank: 3

积分
235
 楼主| 发表于 2009-10-9 00:46:00 | 显示全部楼层

Re:?槭颤N我用三角形自己拼2D?D形,?s?要求2的N次?纾糠?t?D

八成是我的?卡不支持non power of two texture,不??榱宋业倪[?虻募嫒菪裕??晕???先判?嗍欠裰С址?N,如果不支持的?,用其他函?递d入?D像再??到空白?理?。

32

主题

235

帖子

235

积分

中级会员

Rank: 3Rank: 3

积分
235
 楼主| 发表于 2009-10-10 01:36:00 | 显示全部楼层

Re:?槭颤N我用三角形自己拼2D?D形,?s?要求2的N次?纾糠?t?D

太好了,我?於成功清晰地?入?理而不受到2次?缦拗屏耍
我用GDI+?入?D片然後再??到空白?理(是2次?绱笮〉模┥稀
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-20 04:58

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表