游戏开发论坛

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

Directx问题,请问有没有函数可以获取到纹理上某个点的

[复制链接]

18

主题

67

帖子

73

积分

注册会员

Rank: 2

积分
73
发表于 2007-7-3 17:15:00 | 显示全部楼层 |阅读模式
Directx问题,请问有没有函数可以获取到纹理上某个点的像素啊

还有翻转图象要什么实现啊,我要把一个纹理翻转过来,但是用
D3DXMatrixRotationX和D3DXMatrixRotationY,会出现纹理宣染不出来
用D3DXMatrixRotationZ能旋转图象,但是没法翻转啊,听有的人说改下顶点坐标就行了
但是试了不成功,谁能给个具体点的例子么!谢谢  

5

主题

755

帖子

757

积分

高级会员

Rank: 4

积分
757
发表于 2007-7-3 17:51:00 | 显示全部楼层

Re: Directx问题,请问有没有函数可以获取到纹理上某个点

pTex->LockRect();

然后用得到的 D3DDLOCK_RECT.pbit 要哪个点自己算

反转纹理你可以通过改变纹理坐标

18

主题

67

帖子

73

积分

注册会员

Rank: 2

积分
73
 楼主| 发表于 2007-7-4 20:05:00 | 显示全部楼层

Re: Directx问题,请问有没有函数可以获取到纹理上某个点

你好,我在网上搜不到相关的资料呢,你能简单介绍下什么用么?

如要取texture1上的(100,200)这个点上的象素什么写...谢谢

5

主题

60

帖子

60

积分

注册会员

Rank: 2

积分
60
发表于 2007-7-5 16:58:00 | 显示全部楼层

Re: Directx问题,请问有没有函数可以获取到纹理上某个点

  2楼的方法可行..你查找一下 Texture->LockRect(), MSDN上面会有说明的.

6

主题

60

帖子

60

积分

注册会员

Rank: 2

积分
60
发表于 2007-8-6 23:21:00 | 显示全部楼层

Re: Directx问题,请问有没有函数可以获取到纹理上某个点

纹理翻转的话改顶点坐标不行,改顶点的u,v可以。
我也想知道D3DDLOCK_RECT.pbit怎么用

1

主题

14

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2007-8-12 15:45:00 | 显示全部楼层

Re: Directx问题,请问有没有函数可以获取到纹理上某个点

::ZeroMemory(&srcRect,sizeof(srcRect));
lpSrcTextrue->LockRect(0,&srcRect,NULL,0);
pSrc=(DWORD*)(srcRect.pBits);
srcPitch=srcRect.Pitch/4;
lpSrcTextrue->UnlockRect(0);

pSrc[i]根据i就可以访问到你想要的象素值,每个象素值都是一个DWORD类型值
比如你要100,200处的象素,则pSrc[200*纹理宽度+100]就是了
[em5]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-25 11:47

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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