added support for ruby-prof, make trees jump to nearest vertex position.

This commit is contained in:
2018-07-08 14:39:57 -05:00
parent f21032935b
commit ded012a9e0
5 changed files with 21 additions and 5 deletions

View File

@@ -63,4 +63,18 @@ require_relative "lib/window"
MODEL_METER_SCALE = 0.001 # Objects exported from blender using the millimeter object scale will be close to 1 GL unit MODEL_METER_SCALE = 0.001 # Objects exported from blender using the millimeter object scale will be close to 1 GL unit
IMICFPS::Window.new.show
if ARGV.join.include?("--profile")
begin
require "ruby-prof"
RubyProf.start
IMICFPS::Window.new.show
result = RubyProf.stop
printer = RubyProf::MultiPrinter.new(result)
printer.print(path: ".", profile: "profile", min_percent: 2)
rescue LoadError
puts "ruby-prof not installed!"
end
else
IMICFPS::Window.new.show
end

View File

@@ -9,7 +9,7 @@ class IMICFPS
def setup def setup
bind_model(ModelLoader.new(type: :obj, file_path: "objects/biped.obj", game_object: self)) bind_model(ModelLoader.new(type: :obj, file_path: "objects/biped.obj", game_object: self))
@speed = 2.5 # meter's per second @speed = 2.5 # meter's per second
@running_speed = 6.8 @running_speed = 6.8 # meter's per second
@old_speed = @speed @old_speed = @speed
@mass = 72 # kg @mass = 72 # kg
@y_velocity = 0 @y_velocity = 0

View File

@@ -2,7 +2,10 @@ class IMICFPS
class Tree < GameObject class Tree < GameObject
def setup def setup
bind_model(ModelLoader.new(type: :obj, file_path: "objects/tree.obj", game_object: self)) bind_model(ModelLoader.new(type: :obj, file_path: "objects/tree.obj", game_object: self))
self.y = @terrain.height_at(self) vert = @terrain.find_nearest_vertex(self)
self.x = vert.x
self.y = vert.y
self.z = vert.z
end end
# def update # def update

View File

@@ -26,7 +26,6 @@ class IMICFPS
@skydome = Skydome.new(scale: 0.08, backface_culling: false, auto_manage: false) @skydome = Skydome.new(scale: 0.08, backface_culling: false, auto_manage: false)
25.times do 25.times do
p @terrain.width
Tree.new(x: rand(@terrain.width)-(@terrain.width/2.0), z: rand(@terrain.depth)-(@terrain.depth/2.0), terrain: @terrain) Tree.new(x: rand(@terrain.width)-(@terrain.width/2.0), z: rand(@terrain.depth)-(@terrain.depth/2.0), terrain: @terrain)
end end
# Tree.new(x: 1, z: -5, terrain: @terrain) # Tree.new(x: 1, z: -5, terrain: @terrain)