class RayTracer::Shape
- RayTracer::Shape
- Reference
- Object
Included Modules
Direct Known Subclasses
Defined in:
ray_tracer/shape.crConstructors
Instance Method Summary
-
#==(other)
Returns
false
(other can only be aValue
here). - #intersect(ray : Ray) : Intersections
- #inverse_transform : Matrix
- #local_intersect(ray : Ray) : Intersections
- #local_normal_at(point : TUPLE)
- #material : RayTracer::Material
- #material=(material : RayTracer::Material)
- #normal_at(point : TUPLE)
- #transform : Matrix
- #transform=(val : Matrix)
- #transpose_inverse_transform : Matrix
Instance methods inherited from module RayTracer::Tuple
add(a1 : TUPLE, a2 : TUPLE)
add,
cross(a1 : TUPLE, a2 : TUPLE)
cross,
divide(a : TUPLE, s : Float64)
divide,
dot(a1 : TUPLE, a2 : TUPLE)
dot,
magnitude(a : TUPLE)
magnitude,
multiply(a : TUPLE, s : Float64)
multiply,
negate(a : TUPLE)
negate,
normalize(a : TUPLE)
normalize,
point(x : Float64, y : Float64, z : Float64)
point,
point?(tuple : TUPLE)
point?,
reflect(v : TUPLE, n : TUPLE)
reflect,
subtract(a1 : TUPLE, a2 : TUPLE)
subtract,
tuple(x : Float64, y : Float64, z : Float64, w : Float64)tuple(vals : Array(Float64)) tuple, vector(x : Float64, y : Float64, z : Float64) vector, vector?(tuple : TUPLE) vector?
Constructor Detail
def self.new(transform : RayTracer::Matrix = Matrix::IDENTITY_4, material : RayTracer::Material = Material.new)
#
Instance Method Detail
def ==(other)
#
Description copied from class Reference
Returns false
(other can only be a Value
here).