Example #1
0
    public void ShaderIncludeTest()
    {
        string shaderSourceFile = Path.Combine(AssetsPath, "Triangle.hlsl");

        using (var includeHandler = new ShaderIncludeHandler(AssetsPath))
        {
            var result = Compiler.CompileFromFile(shaderSourceFile, null, includeHandler, "VSMain", "vs_4_0", ShaderFlags.None, EffectFlags.None, out var blob, out var error);

            Assert.True(result.Success);

            var shaderCode = blob.AsSpan();

            Assert.True(shaderCode.Length > 0);
        }
    }
Example #2
0
    public void ShaderIncludeTest()
    {
        string shaderSource = File.ReadAllText(Path.Combine(AssetsPath, "Triangle.hlsl"));

        using (var includeHandler = new ShaderIncludeHandler(AssetsPath))
        {
            using IDxcResult results = DxcCompiler.Compile(DxcShaderStage.Vertex, shaderSource, "VSMain", includeHandler: includeHandler);

            Assert.True(results.GetStatus().Success);

            var shaderCode = results.GetObjectBytecodeArray();

            Assert.True(shaderCode.Length > 0);

            Assert.True(ShaderCodeHelper.IsCodeSigned(shaderCode), ShaderCodeNotSignedMessage);
        }
    }