1

我从默认的 Hololens 模板(https://developer.microsoft.com/en-us/windows/holographic/creating_a_holographic_directx_project)开始,我想修改立方体,而不是在它的脸上有一个插值彩虹有纹理。

我有没有提到我不知道 C# 或 DirectX(虽然我知道 Java、Python、WebGL 和 java 的 OpenGL)?所以我对有多少源示例似乎是针对过时版本的 Windows API 感到相当困惑。

无论如何,我能够使用SharpDX 3.0.2 D3D11 中的代码创建一个 Texture2D 对象 - 如何从文件加载纹理并使其在着色器中工作?. (尽管我可以确定的是它没有崩溃或使彩虹立方体失败)。

我还在https://gist.github.com/axefrog/b51b4e149c329608eae6找到了示例代码,这让我相信我需要

pixelShader.SetShaderResource(0, textureResourceView)
pixelShader.SetSampler(0, samplerState)

不幸的是

textureResourceView = new ShaderResourceView(device, texture);

我可用的库中不存在构造函数(SharpDX.Direct3D11?),VisualStudio 为我提供的所有内容都是

ShaderResourceView(IntPtr nativePtr)

是否有示例代码显示了如何使用 HLSL 着色器在 C# 应用程序中使用纹理,并且实际上使用 Hololens 支持的简化 API 工作?

不要告诉我使用 Unity。我们已经将 Unity 和 Unreal 踢到了路边,因为它们还没有我们需要的功能。

4

1 回答 1

1

显然是

new ShaderResoruceView(device,texture)

构造函数确实存在,并且我在 VisualStudio 中键入它的方式是错误的并触发了错误,并且我误解了提到IntPtr构造函数的弹出窗口是唯一可用的而不是几个选项之一。

于 2016-10-26T16:27:01.143 回答