Module: CyberarmEngine

Included in:
Model, OpenGLRenderer
Defined in:
lib/cyberarm_engine/ray.rb,
lib/cyberarm_engine/text.rb,
lib/cyberarm_engine/cache.rb,
lib/cyberarm_engine/model.rb,
lib/cyberarm_engine/stats.rb,
lib/cyberarm_engine/timer.rb,
lib/cyberarm_engine/common.rb,
lib/cyberarm_engine/opengl.rb,
lib/cyberarm_engine/ui/dsl.rb,
lib/cyberarm_engine/vector.rb,
lib/cyberarm_engine/window.rb,
lib/cyberarm_engine/console.rb,
lib/cyberarm_engine/version.rb,
lib/cyberarm_engine/animator.rb,
lib/cyberarm_engine/ui/event.rb,
lib/cyberarm_engine/ui/style.rb,
lib/cyberarm_engine/ui/theme.rb,
lib/cyberarm_engine/transform.rb,
lib/cyberarm_engine/background.rb,
lib/cyberarm_engine/game_state.rb,
lib/cyberarm_engine/model/mesh.rb,
lib/cyberarm_engine/ui/element.rb,
lib/cyberarm_engine/config_file.rb,
lib/cyberarm_engine/game_object.rb,
lib/cyberarm_engine/model_cache.rb,
lib/cyberarm_engine/bounding_box.rb,
lib/cyberarm_engine/model/parser.rb,
lib/cyberarm_engine/notification.rb,
lib/cyberarm_engine/opengl/light.rb,
lib/cyberarm_engine/ui/gui_state.rb,
lib/cyberarm_engine/opengl/shader.rb,
lib/cyberarm_engine/model/material.rb,
lib/cyberarm_engine/opengl/texture.rb,
lib/cyberarm_engine/console/command.rb,
lib/cyberarm_engine/trees/aabb_node.rb,
lib/cyberarm_engine/trees/aabb_tree.rb,
lib/cyberarm_engine/background_image.rb,
lib/cyberarm_engine/ui/border_canvas.rb,
lib/cyberarm_engine/ui/elements/flow.rb,
lib/cyberarm_engine/ui/elements/menu.rb,
lib/cyberarm_engine/ui/elements/image.rb,
lib/cyberarm_engine/ui/elements/radio.rb,
lib/cyberarm_engine/ui/elements/stack.rb,
lib/cyberarm_engine/console/subcommand.rb,
lib/cyberarm_engine/ui/elements/button.rb,
lib/cyberarm_engine/ui/elements/slider.rb,
lib/cyberarm_engine/builtin/intro_state.rb,
lib/cyberarm_engine/notification_manager.rb,
lib/cyberarm_engine/ui/elements/edit_box.rb,
lib/cyberarm_engine/ui/elements/list_box.rb,
lib/cyberarm_engine/ui/elements/progress.rb,
lib/cyberarm_engine/background_nine_slice.rb,
lib/cyberarm_engine/trees/aabb_tree_debug.rb,
lib/cyberarm_engine/ui/elements/check_box.rb,
lib/cyberarm_engine/ui/elements/container.rb,
lib/cyberarm_engine/ui/elements/edit_line.rb,
lib/cyberarm_engine/ui/elements/menu_item.rb,
lib/cyberarm_engine/cache/download_manager.rb,
lib/cyberarm_engine/ui/elements/text_block.rb,
lib/cyberarm_engine/opengl/renderer/g_buffer.rb,
lib/cyberarm_engine/opengl/renderer/renderer.rb,
lib/cyberarm_engine/opengl/perspective_camera.rb,
lib/cyberarm_engine/ui/elements/toggle_button.rb,
lib/cyberarm_engine/opengl/orthographic_camera.rb,
lib/cyberarm_engine/model/parsers/collada_parser.rb,
lib/cyberarm_engine/console/commands/help_command.rb,
lib/cyberarm_engine/model/parsers/wavefront_parser.rb,
lib/cyberarm_engine/opengl/renderer/opengl_renderer.rb,
lib/cyberarm_engine/opengl/renderer/bounding_box_renderer.rb

Defined Under Namespace

Modules: AABBTreeDebug, Cache, Common, DSL, Event, ModelCache, Theme Classes: AABBTree, Animator, Background, BackgroundImage, BackgroundNineSlice, BorderCanvas, BoundingBox, BoundingBoxRenderer, ColladaParser, Color, ConfigFile, Console, Element, Face, GBuffer, GameObject, GameState, GuiState, IntroState, Light, Model, Notification, NotificationManager, OpenGLRenderer, OrthographicCamera, Paint, PerspectiveCamera, Point, Ray, Renderer, Shader, Stats, Style, Subscription, Text, Texture, TextureCoordinate, Timer, Transform, Vector, WavefrontParser, Window

Constant Summary collapse

NAME =
"InDev".freeze
VERSION =
"0.24.5".freeze

Instance Method Summary collapse

Instance Method Details

#gl_error?Boolean

Returns:

  • (Boolean)


10
11
12
13
14
15
16
17
# File 'lib/cyberarm_engine/opengl.rb', line 10

def gl_error?
  e = glGetError
  if e != OpenGL::GL_NO_ERROR
    warn "OpenGL error detected by handler at: #{caller[0]}"
    warn "    #{gluErrorString(e)} (#{e})\n"
    exit if Window.instance&.exit_on_opengl_error?
  end
end

#preload_default_shadersObject



19
20
21
22
23
24
25
26
27
28
29
# File 'lib/cyberarm_engine/opengl.rb', line 19

def preload_default_shaders
  shaders = %w[g_buffer lighting]
  shaders.each do |shader|
    Shader.new(
      name: shader,
      includes_dir: "#{CYBERARM_ENGINE_ROOT_PATH}/assets/shaders/include",
      vertex: "#{CYBERARM_ENGINE_ROOT_PATH}/assets/shaders/vertex/#{shader}.glsl",
      fragment: "#{CYBERARM_ENGINE_ROOT_PATH}/assets/shaders/fragment/#{shader}.glsl"
    )
  end
end