def absRewrite(self, node): if not hasNumArgs(node, 1): return if self is None: return True else: return glsl.IntrinsicOp('abs', self(node.args))
def samplerTextureLodRewrite(self, node): if not hasNumArgs(node, 3): return if self is None: return True else: return glsl.IntrinsicOp('textureLod', [self(arg) for arg in node.args])
def clampRewrite(self, node): if not hasNumArgs(node, 3): return if self is None: return True else: return glsl.IntrinsicOp('clamp', self(node.args))
def samplerTextureRewrite(self, node): if hasNumArgs(node, 2) or hasNumArgs(node, 3): if self is None: return True else: return glsl.IntrinsicOp('texture', [self(arg) for arg in node.args]) else: return
def floatPowRewrite(self, node): if not hasNumArgs(node, 2): return if self is None: return True else: args = coerceArgs(self, *node.args) if args is None: return None return glsl.IntrinsicOp('pow', args)
def refractRewrite(self, node): if not hasNumArgs(node, 3): return if self is None: return True else: args = coerceArgs(self, node.args[0], node.args[1]) if args is None: return None args.append(self(node.args[2])) return glsl.IntrinsicOp('refract', args)
def randomRewrite(self, node): if self is None: return True else: return glsl.IntrinsicOp('random', [])