コード例 #1
0
 public DxbcSource(ShaderDataReader datareader, int sourceId) : base(datareader, sourceId)
 {
     this.offset = datareader.ReadInt32();
     if (offset > 0)
     {
         sourcebytes = datareader.ReadBytes(offset);
     }
     editorRefId = datareader.ReadBytes(16);
 }
コード例 #2
0
 public VulkanSource(ShaderDataReader datareader, int sourceId) : base(datareader, sourceId)
 {
     this.offset = datareader.ReadInt32();
     if (offset > 0)
     {
         this.arg0    = datareader.ReadInt32();
         this.offset2 = datareader.ReadInt32();
         sourcebytes  = datareader.ReadBytes(offset - 8);
     }
     editorRefId = datareader.ReadBytes(16);
 }
コード例 #3
0
 public GlslSource(ShaderDataReader datareader, int sourceId) : base(datareader, sourceId)
 {
     offset = datareader.ReadInt32();
     if (offset > 0)
     {
         arg0        = datareader.ReadInt32();
         offset2     = datareader.ReadInt32();
         sourcebytes = datareader.ReadBytes(offset2 - 1); // -1 because the sourcebytes are null-term
         datareader.BaseStream.Position += 1;
     }
     editorRefId = datareader.ReadBytes(16);
 }
コード例 #4
0
        public DxilSource(ShaderDataReader datareader, int sourceId) : base(datareader, sourceId)
        {
            offset = datareader.ReadInt32();
            if (offset > 0)
            {
                arg0 = datareader.ReadInt16();
                arg1 = (int)datareader.ReadUInt16();
                uint dxilDelim = datareader.ReadUInt16();
                if (dxilDelim != 0xFFFE)
                {
                    throw new ShaderParserException($"Unexpected DXIL source id {dxilDelim:x08}");
                }

                headerBytes = (int)datareader.ReadUInt16() * 4; // size is given as a 4-byte count
                sourcebytes = datareader.ReadBytes(offset - 8); // size of source equals offset-8
            }
            editorRefId = datareader.ReadBytes(16);
        }
コード例 #5
0
 public ZDataBlock(ShaderDataReader datareader, int blockId) : base(datareader)
 {
     this.blockId = blockId;
     h0           = datareader.ReadInt32();
     h1           = datareader.ReadInt32();
     h2           = datareader.ReadInt32();
     if (h0 > 0)
     {
         dataload = datareader.ReadBytes(h0 * 4);
     }
 }