Example #1
0
 static void WriteLayout(StringBuilder builder, CHullShader shader, object param)
 {
     builder.AppendLine(string.Format("layout ( vertices = {0} ) out;", shader.OutputControlPoints.ToString(CultureInfo.InvariantCulture)));
     builder.AppendLine();
 }
Example #2
0
        static void WriteIOAndCode(StringBuilder builder, CHullShader shader, object param)
        {
            var reflection = shader.Reflection;

            WriteCodeLines(builder, reflection.CodeGlobalLines);
            builder.AppendLine();
            WriteInputArrayBlock(builder, reflection.Input, OutputPrefixForStage(ShaderStage.Vertex));
            WriteInputExtraBlock(builder, reflection.InputPatchExtra, "INPUT_PATCH_EXTRA", "InputPatchExtra", "bs_input_patch_extra_");
            WritePatchBlock(builder, reflection.OutputPatch, "OUTPUT_PATCH", "bs_patch_", "patch out");
            WriteFunction(builder, "BS_Patch_Function", null, reflection.CodePatchLines, null);
            WriteInputExtraBlock(builder, reflection.InputExtra, "INPUT_EXTRA", "InputExtra", "bs_input_extra_");
            WriteOutputBlock(builder, reflection.Output);
            WriteFunction(builder, "main", "BS_Patch_Function();", reflection.CodeMainLines, null);
        }