1{ Parsed from SceneKit.framework SCNShadable.h } 2 3 4{$ifdef TYPES} 5type 6 SCNProgramPtr = ^SCNProgram; 7 SCNShadableProtocolPtr = ^SCNShadableProtocol; 8 SCNProgramDelegateProtocolPtr = ^SCNProgramDelegateProtocol; 9{$endif} 10 11{$ifdef TYPES} 12type 13 SCNBindingBlock = OpaqueCBlock; 14{$endif} 15 16{$ifdef PROTOCOLS} 17 18type 19 SCNShadableProtocol = objcprotocol external name 'SCNShadable' (NSObjectProtocol) 20 optional 21 procedure setShaderModifiers(newValue: NSDictionary); message 'setShaderModifiers:'; 22 function shaderModifiers: NSDictionary; message 'shaderModifiers'; 23 procedure setProgram(newValue: SCNProgram); message 'setProgram:'; 24 function program_: SCNProgram; message 'program'; 25 procedure handleBindingOfSymbol_usingBlock (symbol: NSString; block: SCNBindingBlock); message 'handleBindingOfSymbol:usingBlock:'; { available in 10_9, 8_0 } 26 procedure handleUnbindingOfSymbol_usingBlock (symbol: NSString; block: SCNBindingBlock); message 'handleUnbindingOfSymbol:usingBlock:'; { available in 10_9, 8_0 } 27 end; 28{$endif} 29 30{$ifdef EXTERNAL_SYMBOLS} 31var 32 SCNProgramMappingChannelKey: NSString; cvar; external; 33{$endif} 34 35{$ifdef CLASSES} 36 37type 38 SCNProgram = objcclass external (NSObject, NSCopyingProtocol, NSSecureCodingProtocol) 39 private 40 _reserved: id; 41 public 42 class function program_: instancetype; message 'program'; 43 procedure setVertexShader(newValue: NSString); message 'setVertexShader:'; 44 function vertexShader: NSString; message 'vertexShader'; 45 procedure setFragmentShader(newValue: NSString); message 'setFragmentShader:'; 46 function fragmentShader: NSString; message 'fragmentShader'; 47 procedure setTessellationControlShader(newValue: NSString); message 'setTessellationControlShader:'; 48 function tessellationControlShader: NSString; message 'tessellationControlShader'; 49 procedure setTessellationEvaluationShader(newValue: NSString); message 'setTessellationEvaluationShader:'; 50 function tessellationEvaluationShader: NSString; message 'tessellationEvaluationShader'; 51 procedure setGeometryShader(newValue: NSString); message 'setGeometryShader:'; 52 function geometryShader: NSString; message 'geometryShader'; 53 procedure setOpaque(newValue: ObjCBOOL); message 'setOpaque:'; 54 function isOpaque: ObjCBOOL; message 'isOpaque'; 55 procedure setSemantic_forSymbol_options (semantic: NSString; symbol: NSString; options: NSDictionary); message 'setSemantic:forSymbol:options:'; 56 function semanticForSymbol (symbol: NSString): NSString; message 'semanticForSymbol:'; 57 procedure setDelegate(newValue: SCNProgramDelegateProtocol); message 'setDelegate:'; 58 function delegate: SCNProgramDelegateProtocol; message 'delegate'; 59 60 { Adopted protocols } 61 function copyWithZone (zone: NSZonePtr): id; message 'copyWithZone:'; 62 procedure encodeWithCoder (aCoder: NSCoder); message 'encodeWithCoder:'; 63 function initWithCoder (aDecoder: NSCoder): id; message 'initWithCoder:'; 64 class function supportsSecureCoding: ObjCBOOL; message 'supportsSecureCoding'; 65 end; 66{$endif} 67 68{$ifdef PROTOCOLS} 69 70type 71 SCNProgramDelegateProtocol = objcprotocol external name 'SCNProgramDelegate' (NSObjectProtocol) 72 optional 73 function program_bindValueForSymbol_atLocation_programID_renderer (program_: SCNProgram; symbol: NSString; location: cuint; programID: cuint; renderer: SCNRenderer): ObjCBOOL; message 'program:bindValueForSymbol:atLocation:programID:renderer:'; deprecated 'in 10_8, 10_10, NA, NA'; 74 procedure program_unbindValueForSymbol_atLocation_programID_renderer (program_: SCNProgram; symbol: NSString; location: cuint; programID: cuint; renderer: SCNRenderer); message 'program:unbindValueForSymbol:atLocation:programID:renderer:'; deprecated 'in 10_8, 10_10, NA, NA'; 75 procedure program_handleError (program_: SCNProgram; error: NSError); message 'program:handleError:'; 76 function programIsOpaque (program_: SCNProgram): ObjCBOOL; message 'programIsOpaque:'; deprecated 'in 10_8, 10_10, NA, NA'; 77 end; 78{$endif} 79 80{$ifdef EXTERNAL_SYMBOLS} 81var 82 SCNShaderModifierEntryPointGeometry: NSString { available in 10_9, 8_0 }; cvar; external; 83 SCNShaderModifierEntryPointSurface: NSString { available in 10_9, 8_0 }; cvar; external; 84 SCNShaderModifierEntryPointLightingModel: NSString { available in 10_9, 8_0 }; cvar; external; 85 SCNShaderModifierEntryPointFragment: NSString { available in 10_9, 8_0 }; cvar; external; 86{$endif} 87 88