Count number of vertices instead of faces, added formatted_number to CommonMethods

This commit is contained in:
2018-12-11 12:27:23 -06:00
parent 82265394eb
commit 5843a9b0ae
7 changed files with 25 additions and 14 deletions

View File

@@ -17,6 +17,14 @@ class IMICFPS
end end
end end
def formatted_number(number)
string = number.to_s.reverse.scan(/\d{1,3}/).join(",").reverse
string.insert(0, "-") if number < 0
return string
end
def draw_rect(*args) def draw_rect(*args)
$window.draw_rect(*args) $window.draw_rect(*args)
end end

View File

@@ -76,6 +76,7 @@ class IMICFPS
glLineWidth(3) glLineWidth(3)
glDrawArrays(GL_TRIANGLES, 0, o.flattened_vertices_size/4) glDrawArrays(GL_TRIANGLES, 0, o.flattened_vertices_size/4)
$window.number_of_vertices+=model.vertices.size
glLineWidth(1) glLineWidth(1)
glPolygonOffset(0, 0) glPolygonOffset(0, 0)
@@ -83,8 +84,10 @@ class IMICFPS
glEnable(GL_LIGHTING) glEnable(GL_LIGHTING)
glDrawArrays(GL_TRIANGLES, 0, o.flattened_vertices_size/4) glDrawArrays(GL_TRIANGLES, 0, o.flattened_vertices_size/4)
$window.number_of_vertices+=model.vertices.size
else else
glDrawArrays(GL_TRIANGLES, 0, o.flattened_vertices_size/4) glDrawArrays(GL_TRIANGLES, 0, o.flattened_vertices_size/4)
$window.number_of_vertices+=model.vertices.size
end end
# glBindBuffer(GL_ARRAY_BUFFER, 0) # glBindBuffer(GL_ARRAY_BUFFER, 0)
@@ -100,8 +103,6 @@ class IMICFPS
glDisable(GL_CULL_FACE) if model.game_object.backface_culling glDisable(GL_CULL_FACE) if model.game_object.backface_culling
glDisable(GL_COLOR_MATERIAL) glDisable(GL_COLOR_MATERIAL)
end end
$window.number_of_faces+=model.faces.size
end end
end end
end end

View File

@@ -21,8 +21,7 @@ class IMICFPS
end end
@bounding_box_renderer.draw_bounding_boxes if $debug @bounding_box_renderer.draw_bounding_boxes if $debug
$window.number_of_faces+=$window.number_of_faces if $debug $window.number_of_vertices+=@bounding_box_renderer.vertex_count if $debug
$window.number_of_faces+=@bounding_box_renderer.vertex_count/3 if $debug
# @bounding_box_renderer.bounding_boxes.clear # @bounding_box_renderer.bounding_boxes.clear
end end

View File

@@ -77,9 +77,11 @@ Compensating faulty mouse centering? #{@camera.broken_mouse_centering}
#{if @camera.game_object then "Actor X:#{@camera.game_object.x.round(2)} Y:#{@camera.game_object.y.round(2)} Z:#{@camera.game_object.z.round(2)}";end} #{if @camera.game_object then "Actor X:#{@camera.game_object.x.round(2)} Y:#{@camera.game_object.y.round(2)} Z:#{@camera.game_object.z.round(2)}";end}
Field Of View: #{@camera.field_of_view} Field Of View: #{@camera.field_of_view}
Mouse Sesitivity: #{@camera.mouse_sensitivity} Mouse Sesitivity: #{@camera.mouse_sensitivity}
Faces: #{$window.number_of_faces}
Last Frame: #{delta_time*1000.0}ms (#{Gosu.fps} fps) Last Frame: #{delta_time*1000.0}ms (#{Gosu.fps} fps)
Vertices: #{formatted_number($window.number_of_vertices)}
Faces: #{formatted_number($window.number_of_vertices/3)}
Draw Skydome: #{@draw_skydome} Draw Skydome: #{@draw_skydome}
Debug mode: <c=992200>#{$debug}</c> Debug mode: <c=992200>#{$debug}</c>
eos eos
@@ -92,9 +94,11 @@ Camera X:#{@camera.x.round(2)} Y:#{@camera.y.round(2)} Z:#{@camera.z.round(2)}
#{if @camera.game_object then "Actor X:#{@camera.game_object.x.round(2)} Y:#{@camera.game_object.y.round(2)} Z:#{@camera.game_object.z.round(2)}";end} #{if @camera.game_object then "Actor X:#{@camera.game_object.x.round(2)} Y:#{@camera.game_object.y.round(2)} Z:#{@camera.game_object.z.round(2)}";end}
Field Of View: #{@camera.field_of_view} Field Of View: #{@camera.field_of_view}
Mouse Sesitivity: #{@camera.mouse_sensitivity} Mouse Sesitivity: #{@camera.mouse_sensitivity}
Faces: #{@number_of_faces}
Last Frame: #{delta_time*1000.0}ms (#{Gosu.fps} fps) Last Frame: #{delta_time*1000.0}ms (#{Gosu.fps} fps)
Vertices: #{formatted_number($window.number_of_vertices)}
Faces: #{formatted_number($window.number_of_vertices/3)}
Draw Skydome: #{@draw_skydome} Draw Skydome: #{@draw_skydome}
Debug mode: <c=992200>#{$debug}</c> Debug mode: <c=992200>#{$debug}</c>
eos eos
@@ -128,7 +132,7 @@ eos
@camera.update @camera.update
$window.close if $window.button_down?(Gosu::KbEscape) $window.close if $window.button_down?(Gosu::KbEscape)
$window.number_of_faces = 0 $window.number_of_vertices = 0
@delta_time = Gosu.milliseconds @delta_time = Gosu.milliseconds
end end

View File

@@ -15,7 +15,7 @@ class IMICFPS
add_asset(:obj, "objects/biped.obj") add_asset(:obj, "objects/biped.obj")
# Currently broken # Currently broken
Shader.new(name: "lighting", vertex_file: "shaders/vertex/lighting.glsl", fragment_file: "shaders/fragment/lighting.glsl") # Shader.new(name: "lighting", vertex_file: "shaders/vertex/lighting.glsl", fragment_file: "shaders/fragment/lighting.glsl")
@act = false @act = false
@cycled = false @cycled = false

View File

@@ -57,12 +57,11 @@ class IMICFPS
# populate_buffers # populate_buffers
face_count = 0 @objects.each {|o| @vertex_count+=o.vertices.size}
@objects.each {|o| face_count+=o.faces.size}
@objects.each_with_index do |o, i| @objects.each_with_index do |o, i|
puts " Model::Object Name: #{o.name}, Faces: #{o.faces.size}" if $debug puts " Model::Object Name: #{o.name}, Vertices: #{o.vertices.size}" if $debug
end end
$window.number_of_faces+=face_count $window.number_of_vertices+=@vertex_count
@model_has_texture = false @model_has_texture = false
@materials.each do |key, material| @materials.each do |key, material|
if material.texture_id if material.texture_id

View File

@@ -1,7 +1,7 @@
class IMICFPS class IMICFPS
GRAVITY = 9.8 # m/s GRAVITY = 9.8 # m/s
class Window < Gosu::Window class Window < Gosu::Window
attr_accessor :number_of_faces, :needs_cursor attr_accessor :number_of_vertices, :needs_cursor
attr_reader :camera attr_reader :camera
def initialize(window_width = 1280, window_height = 800, fullscreen = false) def initialize(window_width = 1280, window_height = 800, fullscreen = false)
@@ -13,7 +13,7 @@ class IMICFPS
end end
$window = self $window = self
@needs_cursor = false @needs_cursor = false
@number_of_faces = 0 @number_of_vertices = 0
@active_state = nil @active_state = nil