游戏开发论坛

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

Ogre中有办法slice场景中的实体么?

[复制链接]

11

主题

24

帖子

24

积分

注册会员

Rank: 2

积分
24
发表于 2009-3-26 17:46:00 | 显示全部楼层 |阅读模式
我想实现Homeworld中的舰船进行超时空跃迁时的效果,即模型被一个平面分隔成两部分,其中只有位于平面正面的部分会显示,背面部分则不会显示。平面从最前方逐渐向后移,于是整个模型慢慢的显示出来。

要实现这种效果,第一个想法是每个实体都要能够指定裁切平面(DX中似乎有这功能),第二个想法是如果实体之间能做布尔操作的话也行(用立方体跟模型做布尔操作,只渲染两者交集)

这两个想法,我翻遍了API参考,似乎没有找到有价值的信息,具体该如何实现还是很迷茫。有人能指点一二么?

1

主题

13

帖子

19

积分

新手上路

Rank: 1

积分
19
发表于 2009-3-27 13:10:00 | 显示全部楼层

Re:Ogre中有办法slice场景中的实体么?

貌似是alpha的深度检测可以模拟

1

主题

13

帖子

19

积分

新手上路

Rank: 1

积分
19
发表于 2009-3-27 13:11:00 | 显示全部楼层

Re:Ogre中有办法slice场景中的实体么?

那个剪切的透明面如果深度检测没有开,就把穿过去的模型屏蔽住了。

0

主题

19

帖子

19

积分

新手上路

Rank: 1

积分
19
发表于 2009-3-27 13:48:00 | 显示全部楼层

Re:Ogre中有办法slice场景中的实体么?

把分割平面的位置作为参数传入shader,在fragment Program中计算片段是否在分割面背面,在的话alpha test掉。这样如何?

11

主题

24

帖子

24

积分

注册会员

Rank: 2

积分
24
 楼主| 发表于 2009-3-27 15:25:00 | 显示全部楼层

Re:Ogre中有办法slice场景中的实体么?

如果知道片段的位置,那就可以计算了,但是我怎么获取片段所在的位置呢?

0

主题

19

帖子

19

积分

新手上路

Rank: 1

积分
19
发表于 2009-3-27 16:33:00 | 显示全部楼层

Re: Re:Ogre中有办法slice场景中的实体么?

平原行者: Re:Ogre中有办法slice场景中的实体么?

如果知道片段的位置,那就可以计算了,但是我怎么获取片段所在的位置呢?

从VS中传过去啊。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-20 15:46

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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