我从默认的全息模板(https://developer.microsoft.com/en-us/windows/holographic/creating_a_holographic_directx_project)开始,我想修改立方体,使其表面不是插值彩虹,而是纹理。
我有没有提到过我不知道C#或DirectX (尽管我知道Java、Python、WebGL和java的OpenGL)?因此,我对有多少源码示例似乎是针对过时版本的windows APIs感到相当困惑。
无论如何,我能够使用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#应用程序中使用纹理,以及如何使用全息支持的简化API实际工作?
也不要告诉我使用Unity。我们已经把Unity和Unreal踢到了一边,因为他们还没有我们需要的功能。
发布于 2016-10-27 00:27:01
显然,
new ShaderResoruceView(device,texture)构造函数确实存在,我在VisualStudio中键入它的方式是错误的,并触发了一个错误,我误解了弹出窗口中提到的IntPtr构造函数是唯一可用的,而不是几个选项中的一个。
https://stackoverflow.com/questions/40267144
复制相似问题