首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何绘制3D表面和隐藏不可见的线?

如何绘制3D表面和隐藏不可见的线?
EN

Stack Overflow用户
提问于 2009-05-29 03:40:57
回答 3查看 1.8K关注 0票数 3

有人知道如何绘制3D表面和隐藏不可见的线吗?

我记得我读过一本Apple II书中的一些代码,它在BASIC中只有25行左右,它可以绘制一些3D表面,比如一座山或一个看起来像水波的形状。最初显示的是不可见的行,但在添加了几行代码后,不可见的行也消失了。

有没有人知道怎么做,或者知道网络上的资源?

EN

Stack Overflow用户

回答已采纳

发布于 2009-05-29 03:52:34

这在一定程度上取决于绘制多边形的方式。我建议您阅读一些关于OpenGL或DirectX的文章,因为它们旨在为您解决许多此类问题。如果你不想直接使用它们,那么已经有很多很棒的引擎构建在这些API之上了。

假设你正在绘制填充的多边形(纹理,实体等),这里有几个你可以使用的常用算法:

  • 根据与摄影机的距离对多边形进行排序,并首先绘制距离最远的多边形,也称为Painters Algorithm。许多老的3D游戏都使用这种方法,比如经典的“末日”,它也使用BSP Tree进行有效的排序。
  • 存储从摄像头到屏幕上每个披萨的最近距离,不要再画更远的东西,也就是所谓的Z-Buffering。这种方法得到了现代3D显卡、OpenGL和DirectX的很好支持。
  • 使用ray tracing算法,该算法自然具有隐藏表面删除功能。
票数 5
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/924286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档