c # — SharpDX: метод не найден ‘get_BufferPointer ()’

Я создал простой проект SharpDX из учебника по indiedev (# 1, # 2, # 3).

Теперь я сталкиваюсь с ошибкой Метод не найден ‘IntPtr SharpDX.D3DCompiler.ShaderBytecode.get_BufferPointer ()’ когда я запускаю приложение.

У меня есть ссылка на следующие SharpDX DLL:

  • SharpDX.D3DCompiler
  • SharpDX.Direct3D11
  • SharpDX.DXGI
  • SharpDX

этот код является основным циклом:

public void Run()
{
//...
Initialize();
LoadContent();

RenderLoop.Run(renderWindow, () =>
{
//....
}
//...
}

public override void LoadContent()
{
ShaderBytecode vertexShaderByteCode = ShaderBytecode.CompileFromFile("shaders.hlsl", "VShader", "vs_4_0");
ShaderBytecode pixelShaderByteCode = ShaderBytecode.CompileFromFile("shaders.hlsl", "PShader", "ps_4_0");

vertexShader = new VertexShader(Device, vertexShaderByteCode); //--> error
pixelShader = new PixelShader(Device, pixelShaderByteCode);
//...
}

содержимое из shaders.hlsl:

struct VOut
{
float4 position : SV_POSITION;
float4 color    : COLOR;
};

VOut VShader(float4 position : POSITION, float4 color : COLOR)
{
VOut output;

output.position = position;
output.color = color;

return output;
}

float4 PShader(float4 position : SV_POSITION, float4 color : COLOR) : SV_TARGET
{
return color;
}

Что мне нужно добавить в файл shaders.hlsl?

0

Решение

Эта проблема является причиной старой версии сборки. Как Крис Мантл упомянул, что это помогает обновить до последней версии через NuGet. Вы можете получить это от Вот.

С файлом shaders.hlsl проблем не было. все работает сейчас отлично.

0

Другие решения


По вопросам рекламы [email protected]