EffectBytecode Class
Namespace: Stride.ShadersAssembly: Stride.Shaders.dll
Contains a compiled shader with bytecode for each stage.
[DataContract]
[ContentSerializer(typeof(DataContentSerializer<EffectBytecode>))]
public sealed class EffectBytecode
              | Name | Description | |
|---|---|---|
| Fields | ||
| HashSources | The used sources  | 
                          |
| MagicHeader | Magic header stored in front of an effect bytecode to avoid reading old versions.  | 
                          |
| Reflection | The reflection from the bytecode.  | 
                          |
| Stages | The bytecode for each stage.  | 
                          |
| Methods | ||
| ComputeId() | Computes a unique identifier for this bytecode instance.  | 
                          |
| FromBytes(Byte[]) | Loads an EffectBytecode from a buffer.  | 
                          |
| FromBytesSafe(Byte[]) | Loads an EffectBytecode from a buffer.  | 
                          |
| FromStream(Stream) | Loads an EffectBytecode from a stream.  | 
                          |
| WriteTo(Stream) | Writes this EffectBytecode to a stream with its magic number.  | 
                          |
Fields
HashSources
The used sources
public HashSourceCollection HashSources
              Field Value
| Type | Description | 
|---|---|
| HashSourceCollection | 
MagicHeader
Magic header stored in front of an effect bytecode to avoid reading old versions.
public const uint MagicHeader = 4026449927U
              Field Value
| Type | Description | 
|---|---|
| System.UInt32 | 
Remarks
If EffectBytecode is changed, this number must be changed manually.
Reflection
The reflection from the bytecode.
public EffectReflection Reflection
              Field Value
| Type | Description | 
|---|---|
| EffectReflection | 
Stages
The bytecode for each stage.
public ShaderBytecode[] Stages
              Field Value
| Type | Description | 
|---|---|
| ShaderBytecode[] | 
Methods
ComputeId()
Computes a unique identifier for this bytecode instance.
public ObjectId ComputeId()
              Returns
| Type | Description | 
|---|---|
| ObjectId | ObjectId.  | 
                  
FromBytes(Byte[])
Loads an EffectBytecode from a buffer.
public static EffectBytecode FromBytes(byte[] buffer)
              Parameters
| Type | Name | Description | 
|---|---|---|
| System.Byte[] | buffer | The buffer.  | 
                  
Returns
| Type | Description | 
|---|---|
| EffectBytecode | EffectBytecode.  | 
                  
Exceptions
| Type | Condition | 
|---|---|
| System.ArgumentNullException | buffer  | 
                  
FromBytesSafe(Byte[])
Loads an EffectBytecode from a buffer.
public static EffectBytecode FromBytesSafe(byte[] buffer)
              Parameters
| Type | Name | Description | 
|---|---|---|
| System.Byte[] | buffer | The buffer.  | 
                  
Returns
| Type | Description | 
|---|---|
| EffectBytecode | EffectBytecode.  | 
                  
Exceptions
| Type | Condition | 
|---|---|
| System.ArgumentNullException | buffer  | 
                  
FromStream(Stream)
Loads an EffectBytecode from a stream.
public static EffectBytecode FromStream(Stream stream)
              Parameters
| Type | Name | Description | 
|---|---|---|
| System.IO.Stream | stream | The stream.  | 
                  
Returns
| Type | Description | 
|---|---|
| EffectBytecode | EffectBytecode or null if the magic header is not matching  | 
                  
Exceptions
| Type | Condition | 
|---|---|
| System.ArgumentNullException | stream  | 
                  
WriteTo(Stream)
Writes this EffectBytecode to a stream with its magic number.
public void WriteTo(Stream stream)
              Parameters
| Type | Name | Description | 
|---|---|---|
| System.IO.Stream | stream | The stream.  | 
                  
Exceptions
| Type | Condition | 
|---|---|
| System.ArgumentNullException | stream  |