我从默认的 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 踢到了路边,因为它们还没有我们需要的功能。