luxlabs header browser preview


@class NSString, NSSet, NSMutableDictionary, NSMutableString, TSCH3DOrderedDictionary, NSMutableArray, NSMutableSet, TSCH3DVersion;

@interface TSCH3DShaderProgram : NSObject {
    NSMutableDictionary *_links;
    NSMutableArray *_declarationSection;
    NSMutableArray *_temporarySection;
    NSMutableArray *_statementSection;
    NSMutableArray *_resolutionSection;
    NSMutableArray *_outcomeSection;
    NSMutableArray *_conclusionSection;
    NSMutableArray *_sections[6];
    NSMutableArray *_functions;
    NSMutableSet *_functionNames;
    NSMutableString *_accumulator;
    BOOL _isLinked;
    NSString *_vertex;
    NSString *_fragment;
    TSCH3DOrderedDictionary *_typeDeclarations;
    NSMutableDictionary *_linkedInputVariables;
}

@property (retain, nonatomic) NSMutableArray *sortedLinks;
@property (retain, nonatomic) NSMutableDictionary *variableToVertexAttributeLocation;
@property (readonly, nonatomic) NSString *vertex;
@property (readonly, nonatomic) NSString *fragment;
@property (readonly, nonatomic) TSCH3DVersion *version;
@property (readonly, nonatomic) unsigned long long attributeBindingsCount;
@property (readonly, nonatomic) unsigned long long textureBindingsCount;
@property (copy, nonatomic) NSSet *variablesWithBackingResources;
@property (copy, nonatomic) NSSet *interleavedAttributeVariables;

- (id)init;
- (void)link;
- (void).cxx_destruct;
- (id)initWithVersion:(id)a0;
- (void)addResolution:(id)a0;
- (void)addDeclaration:(id)a0;
- (void)addFragmentStatement:(id)a0 statement:(id)a1;
- (void)addFragmentTemporary:(id)a0 statement:(id)a1;
- (void)addVertexDeclarationWithFormat:(id)a0;
- (id)p_boundSamplerArgumentDeclarationForLinkedVariable:(id)a0 bufferIndex:(unsigned long long)a1;
- (void)p_generateMetalVertexAttributes;
- (id)usedNameForVariable:(id)a0 type:(struct TSCH3DShaderType { unsigned long long x0; })a1 scope:(struct TSCH3DShaderVariableScopeType { unsigned long long x0; })a2;
- (void)addDeclaration:(id)a0 space:(id)a1 statement:(id)a2;
- (void)addFragmentStatementWithFormat:(id)a0;
- (void)addFragmentTemporaryWithFormat:(id)a0;
- (void)addVertexDeclaration:(id)a0 statement:(id)a1;
- (BOOL)isMetal;
- (id)p_boundTextureArgumentDeclarationForLinkedVariable:(id)a0 bufferIndex:(unsigned long long)a1;
- (id)p_generateType:(struct TSCH3DShaderType { unsigned long long x0; })a0;
- (void)accumulateSection:(id)a0 intoArray:(id)a1;
- (void)addAttributeVariable:(id)a0;
- (void)addConclusion:(id)a0;
- (void)addConclusion:(id)a0 space:(id)a1 statement:(id)a2;
- (void)addConclusion:(id)a0 space:(id)a1 type:(struct TSCH3DShaderType { unsigned long long x0; })a2 format:(id)a3 arguments:(char *)a4;
- (void)addConclusion:(id)a0 statement:(id)a1;
- (void)addConclusion:(id)a0 type:(struct TSCH3DShaderType { unsigned long long x0; })a1;
- (void)addConclusion:(id)a0 type:(struct TSCH3DShaderType { unsigned long long x0; })a1 statement:(id)a2;
- (void)addConclusionWithSpace:(id)a0 statement:(id)a1;
- (void)addDeclaration:(id)a0 space:(id)a1 type:(struct TSCH3DShaderType { unsigned long long x0; })a2 format:(id)a3 arguments:(char *)a4;
- (void)addDeclaration:(id)a0 statement:(id)a1;
- (void)addDeclaration:(id)a0 type:(struct TSCH3DShaderType { unsigned long long x0; })a1;
- (void)addDeclaration:(id)a0 type:(struct TSCH3DShaderType { unsigned long long x0; })a1 statement:(id)a2;
- (void)addDeclarationWithSpace:(id)a0 statement:(id)a1;
- (void)addFragmentConclusion:(id)a0;
- (void)addFragmentConclusion:(id)a0 space:(id)a1 statement:(id)a2;
- (void)addFragmentConclusion:(id)a0 statement:(id)a1;
- (void)addFragmentConclusionWithFormat:(id)a0;
- (void)addFragmentDeclaration:(id)a0;
- (void)addFragmentDeclaration:(id)a0 space:(id)a1 statement:(id)a2;
- (void)addFragmentDeclaration:(id)a0 statement:(id)a1;
- (void)addFragmentDeclarationWithFormat:(id)a0;
- (void)addFragmentOutcome:(id)a0;
- (void)addFragmentOutcome:(id)a0 space:(id)a1 statement:(id)a2;
- (void)addFragmentOutcome:(id)a0 statement:(id)a1;
- (void)addFragmentOutcomeWithFormat:(id)a0;
- (void)addFragmentResolution:(id)a0;
- (void)addFragmentResolution:(id)a0 space:(id)a1 statement:(id)a2;
- (void)addFragmentResolution:(id)a0 statement:(id)a1;
- (void)addFragmentResolutionWithFormat:(id)a0;
- (void)addFragmentStatement:(id)a0;
- (void)addFragmentStatement:(id)a0 space:(id)a1 statement:(id)a2;
- (void)addFragmentTemporary:(id)a0;
- (void)addFragmentTemporary:(id)a0 space:(id)a1 statement:(id)a2;
- (void)addFunctionString:(id)a0 name:(id)a1;
- (void)addOutcome:(id)a0;
- (void)addOutcome:(id)a0 space:(id)a1 statement:(id)a2;
- (void)addOutcome:(id)a0 space:(id)a1 type:(struct TSCH3DShaderType { unsigned long long x0; })a2 format:(id)a3 arguments:(char *)a4;
- (void)addOutcome:(id)a0 statement:(id)a1;
- (void)addOutcome:(id)a0 type:(struct TSCH3DShaderType { unsigned long long x0; })a1;
- (void)addOutcome:(id)a0 type:(struct TSCH3DShaderType { unsigned long long x0; })a1 statement:(id)a2;
- (void)addOutcomeWithSpace:(id)a0 statement:(id)a1;
- (void)addResolution:(id)a0 space:(id)a1 statement:(id)a2;
- (void)addResolution:(id)a0 space:(id)a1 type:(struct TSCH3DShaderType { unsigned long long x0; })a2 format:(id)a3 arguments:(char *)a4;
- (void)addResolution:(id)a0 statement:(id)a1;
- (void)addResolution:(id)a0 type:(struct TSCH3DShaderType { unsigned long long x0; })a1;
- (void)addResolution:(id)a0 type:(struct TSCH3DShaderType { unsigned long long x0; })a1 statement:(id)a2;
- (void)addResolutionWithSpace:(id)a0 statement:(id)a1;
- (void)addStatement:(id)a0;
- (void)addStatement:(id)a0 space:(id)a1 statement:(id)a2;
- (void)addStatement:(id)a0 space:(id)a1 type:(struct TSCH3DShaderType { unsigned long long x0; })a2 format:(id)a3 arguments:(char *)a4;
- (void)addStatement:(id)a0 statement:(id)a1;
- (void)addStatement:(id)a0 type:(struct TSCH3DShaderType { unsigned long long x0; })a1;
- (void)addStatement:(id)a0 type:(struct TSCH3DShaderType { unsigned long long x0; })a1 statement:(id)a2;
- (void)addStatementWithSpace:(id)a0 statement:(id)a1;
- (void)addTemporary:(id)a0;
- (void)addTemporary:(id)a0 space:(id)a1 statement:(id)a2;
- (void)addTemporary:(id)a0 space:(id)a1 type:(struct TSCH3DShaderType { unsigned long long x0; })a2 format:(id)a3 arguments:(char *)a4;
- (void)addTemporary:(id)a0 statement:(id)a1;
- (void)addTemporary:(id)a0 type:(struct TSCH3DShaderType { unsigned long long x0; })a1;
- (void)addTemporary:(id)a0 type:(struct TSCH3DShaderType { unsigned long long x0; })a1 statement:(id)a2;
- (void)addTemporaryWithSpace:(id)a0 statement:(id)a1;
- (void)addToSection:(id)a0 statement:(id)a1 type:(struct TSCH3DShaderType { unsigned long long x0; })a2;
- (void)addToSection:(id)a0 variable:(id)a1 space:(id)a2 type:(struct TSCH3DShaderType { unsigned long long x0; })a3 format:(id)a4 arguments:(char *)a5;
- (void)addUniformVariable:(id)a0;
- (void)addVertexConclusion:(id)a0;
- (void)addVertexConclusion:(id)a0 space:(id)a1 statement:(id)a2;
- (void)addVertexConclusion:(id)a0 statement:(id)a1;
- (void)addVertexConclusionWithFormat:(id)a0;
- (void)addVertexDeclaration:(id)a0;
- (void)addVertexDeclaration:(id)a0 space:(id)a1 statement:(id)a2;
- (void)addVertexOutcome:(id)a0;
- (void)addVertexOutcome:(id)a0 space:(id)a1 statement:(id)a2;
- (void)addVertexOutcome:(id)a0 statement:(id)a1;
- (void)addVertexOutcomeWithFormat:(id)a0;
- (void)addVertexResolution:(id)a0;
- (void)addVertexResolution:(id)a0 space:(id)a1 statement:(id)a2;
- (void)addVertexResolution:(id)a0 statement:(id)a1;
- (void)addVertexResolutionWithFormat:(id)a0;
- (void)addVertexStatement:(id)a0;
- (void)addVertexStatement:(id)a0 space:(id)a1 statement:(id)a2;
- (void)addVertexStatement:(id)a0 statement:(id)a1;
- (void)addVertexStatementWithFormat:(id)a0;
- (void)addVertexTemporary:(id)a0;
- (void)addVertexTemporary:(id)a0 space:(id)a1 statement:(id)a2;
- (void)addVertexTemporary:(id)a0 statement:(id)a1;
- (void)addVertexTemporaryWithFormat:(id)a0;
- (void)assignVariable:(id)a0 statement:(id)a1 substitutes:(id)a2 type:(struct TSCH3DShaderType { unsigned long long x0; })a3 toSection:(int)a4;
- (void)declareType:(id)a0 name:(id)a1;
- (id)existingLinkageOfVariable:(id)a0;
- (long long)fragmentUniformBufferIndex;
- (BOOL)hasFunction:(id)a0;
- (id)interleavedLinkedVertexAttributeVariables;
- (BOOL)isSamplerVariable:(id)a0;
- (id)linkageOfVariable:(id)a0;
- (id)linkedInputVariablesForType:(struct TSCH3DShaderType { unsigned long long x0; })a0 scope:(struct TSCH3DShaderVariableScopeType { unsigned long long x0; })a1;
- (id)linkedTextureVariables;
- (id)linkedUniformVariablesForType:(struct TSCH3DShaderType { unsigned long long x0; })a0 isTexture:(BOOL)a1;
- (id)linkedVertexAttributeVariables;
- (void)p_addCompatibilityFunctions;
- (void)p_addToSection:(id)a0 variable:(id)a1 space:(id)a2 type:(struct TSCH3DShaderType { unsigned long long x0; })a3 format:(id)a4 substitutes:(id)a5;
- (id)p_boundArgumentDeclarationForLinkedVariable:(id)a0 variableType:(id)a1 variableName:(id)a2 bindingType:(id)a3 bufferIndex:(unsigned long long)a4;
- (id)p_boundBufferArgumentDeclarationForLinkedVariable:(id)a0 variableType:(id)a1 variableName:(id)a2 bufferIndex:(unsigned long long)a3;
- (unsigned long long)p_countOfAttributeBindingsForType:(struct TSCH3DShaderType { unsigned long long x0; })a0;
- (unsigned long long)p_fragmentAttributeBindingsCount;
- (void)p_generateFunctions;
- (void)p_generateGlobalsForType:(struct TSCH3DShaderType { unsigned long long x0; })a0;
- (void)p_generateMetalFragmentGlobals;
- (void)p_generateMetalFragmentInputs;
- (void)p_generateMetalFragmentTextureVariable;
- (void)p_generateMetalVertexGlobals;
- (void)p_generateMetalVertexInputs;
- (void)p_generatePreprocessorDefinitionsForType:(struct TSCH3DShaderType { unsigned long long x0; })a0;
- (void)p_generateSection:(id)a0 type:(struct TSCH3DShaderType { unsigned long long x0; })a1;
- (void)p_generateType:(struct TSCH3DShaderType { unsigned long long x0; })a0 globalType:(struct TSCH3DShaderVariableScopeType { unsigned long long x0; })a1 storageQualifier:(id)a2;
- (void)p_generateTypeDeclarations;
- (unsigned long long)p_metalVertexBufferCount;
- (id)p_metalVertexInputLines;
- (unsigned long long)p_vertexAttributeBindingsCount;
- (unsigned long long)processSection:(id)a0 accumulate:(id)a1 conclusions:(id)a2;
- (struct pair<bool, TSCH3DShaderVariableLinkage *> { BOOL x0; id x1; })resultLinkageOfVariable:(id)a0;
- (long long)uniformBufferIndexForType:(struct TSCH3DShaderType { unsigned long long x0; })a0;
- (struct TSCH3DShaderType { unsigned long long x0; })uniformLinkageFor:(id)a0;
- (id)uniformVariablesForType:(struct TSCH3DShaderType { unsigned long long x0; })a0;
- (id)usedAttributeNameForVariable:(id)a0;
- (id)usedUniformNameForVariable:(id)a0;
- (unsigned long long)vertexAttributeLocationForVariable:(id)a0;
- (long long)vertexUniformBufferIndex;

@end