Spark.Emit.HLSL.EmitContextHLSL.EmitContextHLSL C# (CSharp) Method

EmitContextHLSL() public method

public EmitContextHLSL ( SharedContextHLSL shared, SourceRange defaultRange, string shaderClassName ) : System
shared SharedContextHLSL
defaultRange SourceRange
shaderClassName string
return System
        public EmitContextHLSL(
            SharedContextHLSL shared,
            SourceRange defaultRange,
            string shaderClassName )
        {
            _shared = shared;
            _defaultRange = defaultRange;
            _shaderClassName = shaderClassName;

            _span = new Span();
            var subSpan = NoteRange(_span, _defaultRange);
            var builtinsSpan = subSpan.InsertSpan();
            _typeHeaderSpan = subSpan.InsertSpan();
            _resourceHeaderSpan = subSpan.InsertSpan();
            _cbHeaderSpan = subSpan.InsertSpan();
            _subroutineHeaderSpan = subSpan.InsertSpan();
            _entryPointSpan = subSpan.InsertSpan();

            builtinsSpan.WriteLine("struct Range { int lower; int upper; };");
            builtinsSpan.WriteLine("Range __Range( int lower, int upper ) { Range result; result.lower=lower; result.upper=upper; return result; }");
            builtinsSpan.WriteLine("float2 __GetDimensionsF( Texture2D t ) { float2 result; t.GetDimensions(result.x, result.y); return result; }");
        }