游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2202|回复: 5

请问如何设置使“纹理”不经过缩放出来??

[复制链接]

10

主题

36

帖子

42

积分

注册会员

Rank: 2

积分
42
发表于 2008-2-12 23:04:00 | 显示全部楼层 |阅读模式
我是新手,我创建了一个1280x1024大小的纹理。
我想把这个纹理精确地每个象素的值输出来到显示器上,显示器分辨率也是1280x1024。
可是我发现我输出的纹理与我创建的内存中的纹理并不完全一致,请问如何能使它们输出一致到显示器上?

0

主题

275

帖子

676

积分

高级会员

Rank: 4

积分
676
发表于 2008-2-13 00:00:00 | 显示全部楼层

Re:请问如何设置使“纹理”不经过缩放出来??

1280x1024大小的纹理不存在
???上是2048x1024
想要跟?幕一??你必?算出UV
比???蔚姆椒ㄊ 做一??Screen Size的Mesh..然後秀出它

7

主题

438

帖子

438

积分

中级会员

Rank: 3Rank: 3

积分
438
发表于 2008-2-13 10:24:00 | 显示全部楼层

Re:请问如何设置使“纹理”不经过缩放出来??

投影纹理

10

主题

36

帖子

42

积分

注册会员

Rank: 2

积分
42
 楼主| 发表于 2008-2-14 11:09:00 | 显示全部楼层

Re: Re:请问如何设置使“纹理”不经过缩放出来??

wjk98550328: Re:请问如何设置使“纹理”不经过缩放出来??

请参考dx sdk里的:Directly Mapping Texels to Pixels (Direct3D 9)



我用的就是正交投影,结果就是偏差那么一点点,与这个高人说的现象比较吻合。我回去再改改看看。

32

主题

1583

帖子

1589

积分

金牌会员

Rank: 6Rank: 6

积分
1589
发表于 2008-2-15 14:05:00 | 显示全部楼层

Re:请问如何设置使“纹理”不经过缩放出来??

这个可能是因为整数/浮点变换导致的。D3D做东西都有一个精度的概念,和DDraw是完全不同的。

10

主题

36

帖子

42

积分

注册会员

Rank: 2

积分
42
 楼主| 发表于 2008-2-17 09:22:00 | 显示全部楼层

Re:请问如何设置使“纹理”不经过缩放出来??

原因找到了!是因为纹理映射到屏幕上的时候,
换算公式是
屏幕坐标 = 纹理坐标 X 纹理宽度 - 0。5
当纹理宽度等于屏幕宽度的时候,屏幕坐标因为减了0.5,所以四舍五入后被左移了一位!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-20 01:17

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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