c# - 如何在非托管 DirectX 中将纹理映射到圆柱体?

标签 c# visual-studio directx direct3d texture-mapping

在 C#.net 中,我有一个具有动态直径和长度的网格圆柱体,我正在尝试将纹理映射到它。我花了一天的大部分时间试图找出如何做到这一点,但没有成功地在 Google 上找到任何信息。

圆柱体纹理具有 jpg 的顶部区域,侧面具有 jpg 的其余部分。 我需要将 jpgs 图像边缘定位在圆柱体的顶部边缘。例如。使用一张图片,顶部为红色,侧面为绿色。

谁能帮我将 VertexBuffer 点映射到纹理?

C#.Net 2008 DirectX 9(非托管)

我已经在下面发布了我的工作解决方案

最佳答案

虽然this tutorial在VB中它清楚地解释了这个过程。

计算纹理坐标可能是一项相当大的工作;这就是为什么通常这是通过 3D 建模软件完成的,这样您就可以轻松地,更重要的是,直观地调整映射。

如果您有任何问题,请告诉我。

编辑

用于将纹理坐标添加到 DirecxtX 生成的圆柱体 see this

关于c# - 如何在非托管 DirectX 中将纹理映射到圆柱体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5576105/

相关文章:

c# - 使用 Fileupoad 控件和 sqldatasource 保存图像文件

c++ - #import 等效命令行

c++ - 渲染到纹理 - ClearRenderTargetView() 有效,但没有对象渲染到纹理(渲染到屏幕工作正常)

c++ - 除我的应用程序外全部静音

c# - 如何使用 LINQ 在 3D 坐标列表中找到峰值 3D 坐标?

c# - 如何从相当合理的 HTML 中提取文本?

c# - 无法将属性设置为字节值,您必须将属性设置为 int32 类型的非空值

visual-studio - 固定 Fortran 续行中无法识别的标记 '&'

c# - 通用静态字段初始化

c# - 为什么录制音频在 5 秒后出现错误 "buffer full"?