Files
GhostEngine/Ghost.Shader/Compiler/ShaderSyntax.cs
Misaki 682200cbf1 Refactor and enhance graphics and audio systems
Updated target frameworks to .NET 10.0 across multiple projects for compatibility with the latest features. Refactored namespaces and introduced new classes for shader descriptors, FMOD integration, and DirectX 12 utilities using TerraFX. Replaced `Win32` bindings with TerraFX equivalents for DirectX 12. Added a C# wrapper for FMOD Studio API, including DSP and error handling. Enhanced entity queries, component storage, and query filters for better performance and type safety. Introduced new test projects and updated the solution structure. Added `meshoptimizer` bindings and integrated `meshoptimizer_native.dll`. Improved code readability, maintainability, and performance.
2025-10-09 05:16:28 +09:00

53 lines
1.2 KiB
C#

namespace Ghost.Shader.Compiler;
internal struct FunctionCallDeclaration
{
public Token name;
public List<Token>? arguments;
}
internal struct PropertyDeclaration
{
public Token scope;
public Token type;
public Token name;
public FunctionCallDeclaration? propertyConstructor;
}
internal struct ValueDeclaration
{
public Token name;
public Token value;
}
internal class PropertiesSyntax
{
public List<PropertyDeclaration>? properties;
public List<FunctionCallDeclaration>? functionCalls;
}
internal class PipelineSyntax
{
public List<ValueDeclaration>? values;
public List<FunctionCallDeclaration>? functionCalls;
}
internal class PassSyntax
{
public Token name;
public PipelineSyntax? localPipeline;
public PropertiesSyntax? localProperties;
public List<Token>? defines;
public List<Token>? includes;
public List<FunctionCallDeclaration>? keywords;
public List<FunctionCallDeclaration>? functionCalls;
}
internal class ShaderSyntax
{
public Token name;
public PropertiesSyntax? properties;
public PipelineSyntax? pipeline;
public List<PassSyntax>? passes;
public List<FunctionCallDeclaration>? functionCalls;
}