コード例 #1
0
def absRewrite(self, node):
	if not hasNumArgs(node, 1): return

	if self is None:
		return True
	else:
		return glsl.IntrinsicOp('abs', self(node.args))
コード例 #2
0
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])
コード例 #3
0
def clampRewrite(self, node):
	if not hasNumArgs(node, 3): return

	if self is None:
		return True
	else:
		return glsl.IntrinsicOp('clamp', self(node.args))
コード例 #4
0
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
コード例 #5
0
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)
コード例 #6
0
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)
コード例 #7
0
def randomRewrite(self, node):
	if self is None:
		return True
	else:
		return glsl.IntrinsicOp('random', [])