Sha256: 3d454c9969b9c37601e81e750a8ecd1c029fe03b7c9a31dfd33827721e85bb3f
Contents?: true
Size: 1.04 KB
Versions: 20
Compression:
Stored size: 1.04 KB
Contents
require 'xot/block_util' require 'rays/ext' module Rays class Shader def initialize( fragment_shader_source, vertex_shader_source = nil, builtin_variable_names = nil, ignore_no_uniform_location_error: false, **uniforms, &block) setup( fragment_shader_source, vertex_shader_source, builtin_variable_names&.values_at( :attribute_position, :attribute_texcoord, :attribute_color, :varying_position, :varying_texcoord, :varying_color, :uniform_position_matrix, :uniform_texcoord_matrix, :uniform_texcoord_min, :uniform_texcoord_max, :uniform_texcoord_offset, :uniform_texture), ignore_no_uniform_location_error) uniform(**uniforms) unless uniforms.empty? Xot::BlockUtil.instance_eval_or_block_call self, &block if block end def uniform(name = nil, *args, **uniforms) set_uniform name, *args if name uniforms.each do |key, value| set_uniform key, value end end end# Shader end# Rays
Version data entries
20 entries across 20 versions & 1 rubygems