游戏开发论坛

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

frustum怎么剔除物体

[复制链接]

18

主题

58

帖子

132

积分

注册会员

Rank: 2

积分
132
发表于 2010-2-12 17:26:00 | 显示全部楼层 |阅读模式
大家好,先给大家伙儿拜个年,我正在做一个地形,现在遇见一个这样的问题,我用FRUSTUM来剔除物体(实际是剔除他的包围球),我只知道怎么用他来计算物体完全在frustum中,而取相反的结果是 物体和frustum相交或者完全在外面,要剔除掉的物体应该是完全在frustum外面的,这样四叉树就可以少第归他的子节点了,那么怎么做了,谢谢!!!

18

主题

58

帖子

132

积分

注册会员

Rank: 2

积分
132
 楼主| 发表于 2010-2-17 19:38:00 | 显示全部楼层

Re:frustum怎么剔除物体

有人能说下吗,谢谢

0

主题

10

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2010-2-20 00:16:00 | 显示全部楼层

Re:frustum怎么剔除物体

你的意思是无法区分是包围球与视锥体是相交还是在视锥体外面么?
你的视锥体是用什么表示的?如果是平面的话,那么包围球球心到平面距离小于半径就是相交的。到平面距离大于半径则在内部或外部,你可以用球心代入平面方程的正负性来判断。

20

主题

84

帖子

84

积分

注册会员

Rank: 2

积分
84
发表于 2010-3-9 00:26:00 | 显示全部楼层

Re:frustum怎么剔除物体

for(i=0;i<6;i++) {
    if(D3DXPlaneDotCoord(&m_Planes, &D3DXVECTOR3(XCenter, YCenter, ZCenter)) < -Radius)
      return FALSE;//表示完全在外面
  }

13

主题

312

帖子

312

积分

中级会员

Rank: 3Rank: 3

积分
312
发表于 2010-3-9 09:01:00 | 显示全部楼层

Re:frustum怎么剔除物体

先前景切割,然后映射,最后剔除。


---------------------------------------------------------------------

开源图形处理器体系结构论坛(OpenGPU论坛)  
http://www.opengpu.org/bbs/

OpenGPU Graphics Open Source community图形开源社区),聚焦领域(focus domain)包括:
  * GPU Architecture(图形处理器体系结构).
  * Graphics Algorithm(图形算法).
  * GPGPU Programming (面向通用的图形处理器编程).
  * Open Source Rendering Engine(开源渲染器).
  * Open Source GPU Simulator/RTL Implement(开源GPU模拟器).




121

主题

2029

帖子

2034

积分

金牌会员

Rank: 6Rank: 6

积分
2034
QQ
发表于 2010-3-17 17:51:00 | 显示全部楼层

Re:frustum怎么剔除物体

Frustum - OBB/AABB Intersection。你搜一下,RTR的网站上有的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-12 21:37

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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