c++ - 给定位置和半径,如何在 D3D11 中绘制球体?
问题描述
要绘制一个球体,除了它的位置和半径之外,不需要知道其他任何东西。因此,通过传递三角形网格来渲染球体听起来非常低效,除非您需要逐顶点颜色或其他此类功能。尽管谷歌搜索、搜索D3D11 文档和阅读Introduction to 3D Programming with DirectX 11,但我还是无法理解
- 是否可以通过仅将球体的位置和半径传递给 GPU 来绘制球体?
- 如果不是,我误解的主要原则是什么?
- 如果是,该怎么做?
我的最终目标是稍后传递更多参数,这些参数将被着色器效果使用。
解决方案
您将需要实现几何着色器。此着色器应将球体中心和半径作为输入,并发出一组顶点以进行光栅化。通常,这称为点精灵。
推荐阅读
- python - 我可以定义如何处理访问 python 对象(而不仅仅是它的属性)吗?
- python - Plotly 图的下拉菜单
- r - 将 Shiny App R 代码转换为 Rmarkdown Shiny App 代码:使用 observeEvent 和 eventReactive
- environment-variables - 如何解析 .env 文件中的引号?
- web-scraping - scrapy spider 的防御性网络抓取技术
- c# - C# 如何与 IEnumerable 类型的对象联合
> - java - 接口和实现类中的 JML 规范
- azure - 是否可以在 Azure Blob 存储上复制文件夹?
- bash - 如何使用 bash 数组卷曲发布请求?
- regex - 使用正则表达式从文本文件中提取数据