class LIGHT

Features exported to ANY

Direct parents

non-conformant parents

SMART_GL

Summary

creation features

exported features

Details

make (id: INTEGER)
make_with_colors (id: INTEGER, a: GL_COLOR, d: GL_COLOR, s: GL_COLOR)
make (id: INTEGER)
make_with_colors (id: INTEGER, a: GL_COLOR, d: GL_COLOR, s: GL_COLOR)
set_ambient (a: GL_COLOR)

require

  • a /= Void

ensure

  • ambient = a

set_diffuse (d: GL_COLOR)

require

  • d /= Void

ensure

  • diffuse = d

set_specular (s: GL_COLOR)

require

  • s /= Void

ensure

  • specular = s

light_id: INTEGER
select_light (id: INTEGER)

ensure

  • light_id = id

ambient: GL_COLOR
diffuse: GL_COLOR
specular: GL_COLOR
set_directional (x: REAL, y: REAL, z: REAL)

require

    ensure

    • is_directional

    set_spot_position (x: REAL, y: REAL, z: REAL)

    require

      ensure

      • is_spot

      set_spot_direction (x: REAL, y: REAL, z: REAL)

      require

      • is_spot

      is_directional: BOOLEAN

      require

        is_spot: BOOLEAN

        require

          render

          require

            cutoff: REAL

            require

            • is_spot

            ensure

            • Result.in_range(0, 180)

            set_cutoff (co: REAL)

            require

            • is_spot
            • co.in_range(0, 180)

            ensure

              exponent: REAL

              require

              • is_spot

              set_exponent (exp: REAL)

              require

              • is_spot

              ensure

                constant_attenuation: REAL

                require

                • is_spot

                set_constant_attenuation (att: REAL)

                require

                • is_spot

                ensure

                  linear_attenuation: REAL

                  require

                  • is_spot

                  set_linear_attenuation (att: REAL)

                  require

                  • is_spot

                  ensure

                    quadratic_attenuation: REAL

                    require

                    • is_spot

                    set_quadratic_attenuation (att: REAL)

                    require

                    • is_spot

                    ensure

                      set_clear_color (red: REAL, green: REAL, blue: REAL, alpha: REAL)
                      set_clear_depth (depth: REAL)
                      translate (x: REAL, y: REAL, z: REAL)
                      rotate (angle: REAL, axis_x: REAL, axis_y: REAL, axis_z: REAL)
                      scale (x: REAL, y: REAL, z: REAL)
                      begin_rendering
                      end_rendering
                      begin_points

                      require

                        ensure

                          begin_lines

                          require

                            ensure

                              begin_line_strip

                              require

                                ensure

                                  begin_line_loop

                                  require

                                    ensure

                                      begin_triangles

                                      require

                                        ensure

                                          begin_triangle_strip

                                          require

                                            ensure

                                              begin_triangle_fan

                                              require

                                                ensure

                                                  begin_quads

                                                  require

                                                    ensure

                                                      begin_quad_strip

                                                      require

                                                        ensure

                                                          begin_polygon

                                                          require

                                                            ensure

                                                              end_primitive

                                                              require

                                                                ensure

                                                                  vertex (x: REAL, y: REAL, z: REAL)
                                                                  full_red: GL_COLOR
                                                                  full_green: GL_COLOR
                                                                  full_blue: GL_COLOR
                                                                  full_yellow: GL_COLOR
                                                                  full_magenta: GL_COLOR
                                                                  full_cyan: GL_COLOR
                                                                  full_white: GL_COLOR
                                                                  full_black: GL_COLOR
                                                                  gl: GL
                                                                  glu: GLU