Closed artemoshepkov closed 1 year ago
Хотелось бы разделить шейдеры на разные файлы, но компилятор этого не позволяет. После добавления инклудов в шейдер пишет следующее: Unhandled Exception: SharpDX.CompilationException: C:\Users\artem\source\repos\LearnDirectX\src\Shaders\VS.hlsl(1,10-22): error X1505: No include handler specified, can't perform a #include. Use D3DX APIs or provide your own include handler. То есть нужно включить в компиляцию шейдеров Include, но я не могу найти документации на этот счет. Нашел на с++, но не догоняю как его перевести на C#
Да, sharpdx не умеет в инклуды сам, ему нужно добавить хэндлер инклудов вручную прописав где-то. Это хендлер по сути будет понимать как работать с иклудом (где искать файл). Иногда в таких случаях помогает посмотреть на исходники SharpDX Связывать нативные методы на C++ и обвязку на SharpDX та ещё боль)
Как вариант можно просто вручную находить #include в файле перед компиляцией и вставлять содержимое целевого файла
Хотелось бы разделить шейдеры на разные файлы, но компилятор этого не позволяет. После добавления инклудов в шейдер пишет следующее: Unhandled Exception: SharpDX.CompilationException: C:\Users\artem\source\repos\LearnDirectX\src\Shaders\VS.hlsl(1,10-22): error X1505: No include handler specified, can't perform a #include. Use D3DX APIs or provide your own include handler. То есть нужно включить в компиляцию шейдеров Include, но я не могу найти документации на этот счет. Нашел на с++, но не догоняю как его перевести на C#