我从默认的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 - How to load texture from file and make it to work in shader?中的代码创建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踢到了路边,因为他们还没有我们需要的功能。
答案 0 :(得分:1)
显然
new ShaderResoruceView(device,texture)
构造函数确实存在,而且我在VisualStudio中输入它的方式错误并触发了错误,我误解了提到IntPtr
构造函数的弹出窗口是唯一可用的而不是几个中的一个选项。