Crash happened when doing a shader hot reload.
I was following the Shader tutorials and wanted to try out attributes.
When i take out 'Default4(1, 0, 0, 1)' the project opens normally again.
I run on a Windows 10 Host.
DotNet Version: 10.0.301
test.shader:
'HEADER
{
Description = "My First Shader";
}
MODES
{
Forward();
Depth();
}
FEATURES
{
#include "common/features.hlsl"
}
COMMON
{
#include "common/shared.hlsl"
}
struct VertexInput
{
#include "common/vertexinput.hlsl"
};
struct PixelInput
{
#include "common/pixelinput.hlsl"
};
VS
{
#include "common/vertex.hlsl"
PixelInput MainVs( VertexInput i )
{
PixelInput o = ProcessVertex( i );
return FinalizeVertex( o );
}
}
PS
{
#include "common/pixel.hlsl"
float4 color < UiType(Color); Default4(1, 0, 0, 1) >;
float4 MainPs( PixelInput i ) : SV_Target0
{
float r = 0;
float g = 0;
if ( i.vTextureCoords.x < 0.5 )
r = 1;
if ( i.vTextureCoords.y < 0.5 )
g = 1;
return color;
//return float4( r, g, 0, 1 ); // Red
//return float4(lerp(0, 1, i.vTextureCoords.x), lerp(0, 1, i.vTextureCoords.y), 0, 1); // Gradient
}
}'
basic throwaway Component:
'using Sandbox;
public sealed class MyComponent : Component
{
Color color = new Color( 1, 0, 0, 1 );
ModelRenderer renderer;
protected override void OnStart()
{
renderer = GameObject.Components.GetOrCreate<ModelRenderer>();
}
protected override void OnUpdate()
{
color += new Color( 0, 1f * Time.Delta, 0, 0 );
if ( color.g > 1 )
{
color.g = 0;
}
renderer.Attributes.Set( "Color", color );
}
}'
edited:The project keeps crashing even during the editor bootup sequence as soon as it's trying to compile the shaders.
edited:The error apparently was that "Default4" expecting float values instead of integers.
Changing the values from ex. '0' -> '0.0' fixed it.