游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3403|回复: 8

使用render to texture渲染到了纹理,如何将纹理的内容显示

[复制链接]

7

主题

15

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2010-6-18 18:43:00 | 显示全部楼层 |阅读模式
使用render to texture渲染到了纹理,如何将纹理的内容显示在屏幕上?


纹理创建的时候和屏幕的大小相同,比如都是640*480。

生成了一个纹理后,如何满屏显示?

g_d3d_device->DrawPrimitive(D3DPT_TRIANGLELIST, 0, 2);

这个只能画在固定的四边形上,怎么调整让这个四边形刚好等于屏幕大小?


各位大侠指条生路吧。。。。。。。。。。。 [em10]

2

主题

79

帖子

85

积分

注册会员

Rank: 2

积分
85
QQ
发表于 2010-6-19 10:15:00 | 显示全部楼层

Re: 使用render to texture渲染到了纹理,如何将纹理的内容显


     用正交投影就可以了。

7

主题

15

帖子

15

积分

新手上路

Rank: 1

积分
15
 楼主| 发表于 2010-6-20 16:06:00 | 显示全部楼层

Re:使用render to texture渲染到了纹理,如何将纹理的内容显

高手请明示啊~~~~~能否给段参考代码?谢谢!

0

主题

398

帖子

577

积分

高级会员

Rank: 4

积分
577
发表于 2010-6-21 12:46:00 | 显示全部楼层

Re:使用render to texture渲染到了纹理,如何将纹理的内容显

搞一个(-1,-1)到(1,1)的矩形,深度最好是0,然后用单位阵做变换矩阵就是全屏了.

8

主题

79

帖子

126

积分

注册会员

Rank: 2

积分
126
发表于 2010-6-22 17:22:00 | 显示全部楼层

Re:使用render to texture渲染到了纹理,如何将纹理的内容显

做一个Vertex shader
随便画一个物体

在vs的时候

无论vs传入的POSITION0 的值是什么

都给他转到 -1,1 这个区间去 就好了

201

主题

1437

帖子

1963

积分

金牌会员

Rank: 6Rank: 6

积分
1963
QQ
发表于 2010-6-22 20:56:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
发表于 2010-6-24 13:08:00 | 显示全部楼层

Re:使用render to texture渲染到了纹理,如何将纹理的内容显

你如果理解了vs输出的坐标实际上就是
屏幕坐标: x 范围 [-1,1] y 范围[-1, 1]
和深度 z / w 范围[0,1]  

这其中的含义就简单了

45

主题

1163

帖子

1165

积分

金牌会员

Rank: 6Rank: 6

积分
1165
发表于 2010-6-24 13:17:00 | 显示全部楼层

Re:使用render to texture渲染到了纹理,如何将纹理的内容显

嘿嘿,想做好没这么容易滴,有一些小细节,不妨看一下SDK的<Directly Mapping Texels to Pixels>吧!

63

主题

181

帖子

181

积分

注册会员

Rank: 2

积分
181
发表于 2010-6-25 03:16:00 | 显示全部楼层

Re: 使用render to texture渲染到了纹理,如何将纹理的内容显

正解:
顶点格式用D3DFVF_XYZRHW,顶点数值会跳过矩阵变换,并且以屏幕左上为(0,0)。
然后将方形的大小设置为屏幕大小,w为1.0,z为0.1(不晓得为什么会这样设置,1.0或0.0在我机器上都画不出来)

当然也可能有其它解决方法吧。

这个问题也纠结了一下= =
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-8 12:13

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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