class RayTracer::Material

Included Modules

Defined in:

ray_tracer/material.cr

Constructors

Instance Method Summary

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?

Instance methods inherited from module RayTracer::Color

abs(c : COLOR) abs, add(c1 : COLOR, c2 : COLOR) add, color(r : Float32, g : Float32, b : Float32)
color(h : Int32)
color
, divide(c : COLOR, s : Float32) divide, multiply(c : COLOR, s : Float32)
multiply(c1 : COLOR, c2 : COLOR)
multiply
, subtract(c1 : COLOR, c2 : COLOR) subtract

Constructor Detail

def self.new(pattern : Pattern = SolidPattern.new(WHITE), ambient : Float32 = 0.1_f32, diffuse : Float32 = 0.9_f32, specular : Float32 = 0.9_f32, shininess : Float32 = 200.0_f32) #

[View source]

Instance Method Detail

def ==(other) #
Description copied from class Reference

Returns false (other can only be a Value here).


[View source]
def ambient : Float32 #

[View source]
def ambient=(ambient : Float32) #

[View source]
def diffuse : Float32 #

[View source]
def diffuse=(diffuse : Float32) #

[View source]
def dup(deep = false) #
Description copied from class Reference

Returns a shallow copy of this object.

This allocates a new object and copies the contents of self into it.


[View source]
def lighting(object, light, point, eyev, normalv, in_shadow = false) #

[View source]
def pattern : Pattern #

[View source]
def pattern=(pattern : Pattern) #

[View source]
def shininess : Float32 #

[View source]
def shininess=(shininess : Float32) #

[View source]
def specular : Float32 #

[View source]
def specular=(specular : Float32) #

[View source]