OpenGL中遮挡视场平面的有效绘制

OpenGL中遮挡视场平面的有效绘制,opengl,3d,game-engine,Opengl,3d,Game Engine,我有一个类似于RTS游戏的模拟器,在那里我有一个有自己视野的代理位置。我想想象一下。类似于“突击队”这样的游戏。现在,创建这样一个像三角形圆锥体形状的二维平面一样的场是很容易的。但我也希望它被障碍物遮挡。这样做的最佳策略是什么?我目前的想法是在渲染圆锥体之前对所有几何体使用模板测试,但这仍然意味着我必须在渲染之前标记遮挡的区域测试。我应该做一些PVS吗?在游戏中是如何做到的?这和从点光源投射阴影是一样的问题。根据您的具体要求,任何点光源阴影技术(如模板阴影或某种形式的阴影贴图)都可以使用。但是如

我有一个类似于RTS游戏的模拟器,在那里我有一个有自己视野的代理位置。我想想象一下。类似于“突击队”这样的游戏。现在,创建这样一个像三角形圆锥体形状的二维平面一样的场是很容易的。但我也希望它被障碍物遮挡。这样做的最佳策略是什么?我目前的想法是在渲染圆锥体之前对所有几何体使用模板测试,但这仍然意味着我必须在渲染之前标记遮挡的区域测试。我应该做一些PVS吗?在游戏中是如何做到的?

这和从点光源投射阴影是一样的问题。根据您的具体要求,任何点光源阴影技术(如模板阴影或某种形式的阴影贴图)都可以使用。

但是如何限制阴影以使视锥不通过障碍物呢。这就是我不明白的…你有障碍物产生阴影。也就是说,通过轮廓提取(如模板阴影)或某种深度缓冲(如阴影贴图),遮罩从视点遮挡的区域