Class: Three::MeshToonMaterial
- Inherits:
-
Material
- Object
- EventDispatcher
- Material
- Three::MeshToonMaterial
- Defined in:
- lib/three/materials/mesh_toon_material.rb
Constant Summary collapse
- TEXTURE_SLOTS =
%i[ map gradient_map light_map ao_map emissive_map bump_map normal_map displacement_map alpha_map ].freeze
Instance Attribute Summary collapse
-
#color ⇒ Object
Returns the value of attribute color.
-
#emissive ⇒ Object
Returns the value of attribute emissive.
-
#flat_shading ⇒ Object
Returns the value of attribute flat_shading.
-
#fog ⇒ Object
Returns the value of attribute fog.
-
#wireframe ⇒ Object
Returns the value of attribute wireframe.
-
#wireframe_linewidth ⇒ Object
Returns the value of attribute wireframe_linewidth.
Attributes inherited from Material
#blending, #id, #name, #opacity, #side, #transparent, #type, #user_data, #uuid, #vertex_colors, #visible
Instance Method Summary collapse
-
#initialize(parameters = nil) ⇒ MeshToonMaterial
constructor
A new instance of MeshToonMaterial.
- #texture_slots ⇒ Object
- #to_h ⇒ Object
Methods inherited from Material
allocate_id, #dirty_dependency_changed, #dispose, #needs_update, #needs_update!, #needs_update=, #set_values, #textures
Methods included from Dirty
#add_dirty_dependent, #dirty?, #dirty_dependents, #dirty_field?, #dirty_fields, #mark_clean!, #mark_dirty!, #remove_dirty_dependent
Methods inherited from EventDispatcher
#add_event_listener, #dispatch_event, #has_event_listener?, #remove_event_listener
Constructor Details
#initialize(parameters = nil) ⇒ MeshToonMaterial
Returns a new instance of MeshToonMaterial.
23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/three/materials/mesh_toon_material.rb', line 23 def initialize(parameters = nil) super(nil) @type = "MeshToonMaterial" @color = Color.new(0xffffff) @emissive = Color.new(0x000000) TEXTURE_SLOTS.each { |slot| instance_variable_set(:"@#{slot}", nil) } @wireframe = false @wireframe_linewidth = 1 @fog = true @flat_shading = false bind_color_changes set_values(parameters) if parameters mark_dirty! end |
Instance Attribute Details
#color ⇒ Object
Returns the value of attribute color.
20 21 22 |
# File 'lib/three/materials/mesh_toon_material.rb', line 20 def color @color end |
#emissive ⇒ Object
Returns the value of attribute emissive.
20 21 22 |
# File 'lib/three/materials/mesh_toon_material.rb', line 20 def emissive @emissive end |
#flat_shading ⇒ Object
Returns the value of attribute flat_shading.
20 21 22 |
# File 'lib/three/materials/mesh_toon_material.rb', line 20 def flat_shading @flat_shading end |
#fog ⇒ Object
Returns the value of attribute fog.
20 21 22 |
# File 'lib/three/materials/mesh_toon_material.rb', line 20 def fog @fog end |
#wireframe ⇒ Object
Returns the value of attribute wireframe.
20 21 22 |
# File 'lib/three/materials/mesh_toon_material.rb', line 20 def wireframe @wireframe end |
#wireframe_linewidth ⇒ Object
Returns the value of attribute wireframe_linewidth.
20 21 22 |
# File 'lib/three/materials/mesh_toon_material.rb', line 20 def wireframe_linewidth @wireframe_linewidth end |
Instance Method Details
#texture_slots ⇒ Object
74 75 76 |
# File 'lib/three/materials/mesh_toon_material.rb', line 74 def texture_slots TEXTURE_SLOTS end |
#to_h ⇒ Object
78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/three/materials/mesh_toon_material.rb', line 78 def to_h result = super.merge( color: @color.hex, emissive: @emissive.hex, wireframe: @wireframe, wireframe_linewidth: @wireframe_linewidth, fog: @fog, flat_shading: @flat_shading ) TEXTURE_SLOTS.each { |slot| result[slot] = public_send(slot)&.to_h } result end |