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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

查看: 2221|回复: 4

[讨论]3D模型在屏幕中的定位,另一种方法

[复制链接]
发表于 2009-1-12 11:19:18 | 显示全部楼层 |阅读模式

上周,在大家的帮助下,总算完成了 “3D模型在2D屏幕中的定位” 这样一个很有实用价值的课题,最后是用RTT实现的。。。

上周末,好像是周四吧。。。在 GameRes 收到一个兄弟的短消息(我在 GameRes 发帖子比较无赖,没人回答,自己每天都会去顶起来。。。。)

他在短消息中,叫我去是一下 “视口变换”,于是,今天早上,又把“D3D9的渲染管道”看了一遍,找到了“视口变换”,仔细看了一遍。。。。

好吧,我承认以前我看“渲染管道”的时候,速度比较快。。。。。。

原来,要解决“3D模型在2D屏幕中的定位”这个问题,用“视口变换”真的很容易。。。容易得不能再容易了。。

 

而且,用“视口变换”的话,相对于RTT来说有几个优点:

1.不用去申请额外的 Texture(这是于 RTT 最大的不同,要使用 RTT ,至少得要申请一个 Texture,显存是宝贵滴~~~)

2.不用去调节 Alpha

3.应该要比 RTT 快很多。。。

 

RTT 确实很强大,但是,用在“3D模型在2D屏幕中的定位”这个应用上,貌似有点浪费

以后就用“视口变换”解决这个问题吧。。。。

发表于 2009-1-13 09:20:01 | 显示全部楼层

视口变换~~说来听听~

 楼主| 发表于 2009-1-13 10:51:44 | 显示全部楼层

我晕,你当初也叫我好好看看“渲染管线”来着。。。原来你自己也没仔细看哇。。。。

 

其实真的很简单哇。。

 

比如,你要在窗口的 Rect(0,0,200,200) 的区域画一个 Mesh,那可以这么做

 

1.直接把视口调整到上面这个 Rect 的区域

2.画 MESH

3.还原视口,把视口还原成你的整个窗体

4.继续做别的事情。。。

发表于 2009-1-13 15:42:44 | 显示全部楼层

我想知道你说的视口是哪个函数

我觉得可能理解的不是一个函数

 楼主| 发表于 2009-1-13 16:59:37 | 显示全部楼层

SetViewPort(),就这一个函数,当然还要根据需要调整“世界矩阵”和“投影矩阵”,就想我们在RTT里面做的那样

有了它,3D模型在2D中布局,真的很简单。。。(广告用语。。哈哈)

 

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-2-6 08:56

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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