【3D技术宅公社】XR数字艺术论坛  XR技术讨论 XR互动电影 定格动画

 找回密码
 立即注册

QQ登录

只需一步,快速开始

调查问卷
论坛即将给大家带来全新的技术服务,面向三围图形学、游戏、动画的全新服务论坛升级为UTF8版本后,中文用户名和用户密码中有中文的都无法登陆,请发邮件到324007255(at)QQ.com联系手动修改密码

3D技术论坛将以计算机图形学为核心,面向教育 推出国内的三维教育引擎该项目在持续研发当中,感谢大家的关注。

查看: 3278|回复: 10

[求助]Render to Texture 的纹理绘制问题

[复制链接]
发表于 2009-3-18 17:26:44 | 显示全部楼层 |阅读模式
我把模型渲染成纹理后,用ID3DXSprite 对象对纹理进行缩放,如果缩放到0.7倍能勉强显示出来,倍数再小点显示出来的是一堆黑点点。是不是跟纹理 D3DUSAGE 属性有关呢?
发表于 2009-3-18 21:21:52 | 显示全部楼层

建议你,在把模型渲染到纹理的时候:先用矩阵去缩放模型,再渲染到纹理,最后用SPRITE贴出来。

模型的大小,最好在渲染到纹理之前,用矩阵调整,而不是渲染完成后,用SPRITE调整,SPRITE是2D的,你缩放的模型是3D的。。。。

 楼主| 发表于 2009-3-19 10:22:12 | 显示全部楼层

嗯,你说的这个方法对,最开始我是创建很小的RTT纹理,绘制出来很粗糙,然后才想到创建大图用SPRITE调整。你说先把模型大小调整好后在渲染的效果是要好点

发表于 2009-3-19 10:38:19 | 显示全部楼层

兄弟,你的什么地方搞错了吧~~

我修改了缩放矩阵,完全没有问题。

 

D3DXMATRIXA16 matWorld;
 D3DXMatrixScaling(&matWorld,0.5f,0.5f,0.5f);
 m_pSprite->SetTransform(&matWorld);
 m_pSprite->Draw(m_pRenderTexture,&m_Rect ,NULL,&D3DXVECTOR3(m_dX,m_dY,0),0xffffffff);
 D3DXMatrixIdentity(&matWorld);
 m_pSprite->SetTransform(&matWorld);

 

9WwXSDlm.png
 楼主| 发表于 2009-3-19 10:48:37 | 显示全部楼层

不是吧。。。真的耶,我再仔细看看~

发表于 2009-3-19 11:22:28 | 显示全部楼层
如果你不是为了研究渲染到纹理 你就下载这个论坛的UI库吧,里面的渲染到纹理效率还是很高的
 楼主| 发表于 2009-3-19 12:27:05 | 显示全部楼层

呵,不过我还是想把它弄明白,我渲染纹理的方法就是采用的这个论坛的RTT的帖子,不过创建纹理的格式是D3DFMT_A8R8G8B8Sprite用的是 D3DXSPRITE_ALPHABLEND | D3DXSPRITE_SORT_DEPTH_FRONTTOBACK

 楼主| 发表于 2009-3-19 12:29:56 | 显示全部楼层
前一个是进行了缩放。。。
 楼主| 发表于 2009-3-19 12:51:02 | 显示全部楼层

放大是没有问题的,缩小就不行了[em53]

 楼主| 发表于 2009-3-19 13:47:15 | 显示全部楼层
哈哈,我找到原因咯,在创建渲染纹理时我把 Levels = 0, 改成1就好了,不知道为什么。。。
发表于 2009-3-19 15:08:09 | 显示全部楼层
找打原因就好了  这个参数去查查文档就知道干什么的了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|3D数字艺术论坛 ( 沪ICP备14023054号 )

GMT+8, 2025-2-6 09:49

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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