chore: Updates for latest OpenEmu-Shaders

This commit is contained in:
Stuart Carnie
2021-01-29 06:14:13 +11:00
parent e7c4503690
commit 7db19aad74
3 changed files with 10 additions and 15 deletions
-1
View File
@@ -55,7 +55,6 @@ typedef NSArray<OEShaderParamValue *> * OEShaderParamValues;
@property (nonatomic, nonnull) NSNumber *step;
@property (nonatomic) BOOL isInitial;
+ (nonnull instancetype)groupWithName:(NSString *)name;
+ (OEShaderParamValues)withParameters:(NSArray<OEShaderParameter *> *)params;
@end
+1 -9
View File
@@ -37,7 +37,7 @@
p.groupIndex = groupIndex;
p.name = param.name;
p.desc = param.desc;
p.value = @(param.value);
p.value = @(param.initial);
p.initial = @(param.initial);
p.minimum = @(param.minimum);
p.maximum = @(param.maximum);
@@ -46,14 +46,6 @@
return p;
}
+ (nonnull instancetype)groupWithName:(NSString *)name
{
OEShaderParamValue *p = [OEShaderParamValue new];
p.index = -1; // "group"
p.group = name;
return p;
}
+ (NSArray<OEShaderParamValue *> *)withParameters:(NSArray<OEShaderParameter *> *)params
{
__block NSMutableArray<OEShaderParamValue *> *res = [[NSMutableArray alloc] initWithCapacity:params.count];
+9 -5
View File
@@ -147,7 +147,6 @@ static os_log_t LOG_DISPLAY;
_commandQueue = [_device newCommandQueue];
_clearColor = MTLClearColorMake(0, 0, 0, 1);
_filterChain = [[OEFilterChain alloc] initWithDevice:_device];
[_filterChain setDefaultFilteringLinear:NO];
[self updateScreenSize];
[self updateGameRenderer];
@@ -289,14 +288,19 @@ static os_log_t LOG_DISPLAY;
}];
}
- (ShaderCompilerOptions *)makeOptions
{
return [ShaderCompilerOptions makeOptions];
}
- (BOOL)setShaderURL:(NSURL *)url parameters:(NSDictionary<NSString *, NSNumber *> *)parameters error:(NSError **)error
{
BOOL success = [_filterChain setShaderFromURL:url error:error];
BOOL success = [_filterChain setShaderFromURL:url options:[self makeOptions] error:error];
if (success)
{
__block __auto_type shader = _filterChain.shader;
__block __auto_type filter = _filterChain;
[parameters enumerateKeysAndObjectsUsingBlock:^(NSString *key, NSNumber *obj, BOOL *stop) {
[shader setValue:obj.doubleValue forParameter:key];
[filter setValue:obj.doubleValue forParameterName:key];
}];
}
@@ -305,7 +309,7 @@ static os_log_t LOG_DISPLAY;
- (void)setShaderParameterValue:(CGFloat)value forKey:(NSString *)key
{
[_filterChain.shader setValue:value forParameter:key];
[_filterChain setValue:value forParameterName:key];
}
#pragma mark - Game Core methods