From 5843a9b0ae0fa23ad0efa9c2b08005d28dc2d8bc Mon Sep 17 00:00:00 2001 From: Cyberarm Date: Tue, 11 Dec 2018 12:27:23 -0600 Subject: [PATCH] Count number of vertices instead of faces, added formatted_number to CommonMethods --- lib/common_methods.rb | 8 ++++++++ lib/renderer/opengl_renderer.rb | 5 +++-- lib/renderer/renderer.rb | 3 +-- lib/states/game_states/game.rb | 10 +++++++--- lib/states/game_states/loading_state.rb | 2 +- lib/wavefront/model.rb | 7 +++---- lib/window.rb | 4 ++-- 7 files changed, 25 insertions(+), 14 deletions(-) diff --git a/lib/common_methods.rb b/lib/common_methods.rb index c9302cb..ce3280d 100644 --- a/lib/common_methods.rb +++ b/lib/common_methods.rb @@ -17,6 +17,14 @@ class IMICFPS 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) $window.draw_rect(*args) end diff --git a/lib/renderer/opengl_renderer.rb b/lib/renderer/opengl_renderer.rb index 92fca3d..834df1b 100644 --- a/lib/renderer/opengl_renderer.rb +++ b/lib/renderer/opengl_renderer.rb @@ -76,6 +76,7 @@ class IMICFPS glLineWidth(3) glDrawArrays(GL_TRIANGLES, 0, o.flattened_vertices_size/4) + $window.number_of_vertices+=model.vertices.size glLineWidth(1) glPolygonOffset(0, 0) @@ -83,8 +84,10 @@ class IMICFPS glEnable(GL_LIGHTING) glDrawArrays(GL_TRIANGLES, 0, o.flattened_vertices_size/4) + $window.number_of_vertices+=model.vertices.size else glDrawArrays(GL_TRIANGLES, 0, o.flattened_vertices_size/4) + $window.number_of_vertices+=model.vertices.size end # glBindBuffer(GL_ARRAY_BUFFER, 0) @@ -100,8 +103,6 @@ class IMICFPS glDisable(GL_CULL_FACE) if model.game_object.backface_culling glDisable(GL_COLOR_MATERIAL) end - - $window.number_of_faces+=model.faces.size end end end \ No newline at end of file diff --git a/lib/renderer/renderer.rb b/lib/renderer/renderer.rb index 86d5206..d6cf0ba 100644 --- a/lib/renderer/renderer.rb +++ b/lib/renderer/renderer.rb @@ -21,8 +21,7 @@ class IMICFPS end @bounding_box_renderer.draw_bounding_boxes if $debug - $window.number_of_faces+=$window.number_of_faces if $debug - $window.number_of_faces+=@bounding_box_renderer.vertex_count/3 if $debug + $window.number_of_vertices+=@bounding_box_renderer.vertex_count if $debug # @bounding_box_renderer.bounding_boxes.clear end diff --git a/lib/states/game_states/game.rb b/lib/states/game_states/game.rb index 0eed24c..5d4b06a 100644 --- a/lib/states/game_states/game.rb +++ b/lib/states/game_states/game.rb @@ -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} Field Of View: #{@camera.field_of_view} Mouse Sesitivity: #{@camera.mouse_sensitivity} -Faces: #{$window.number_of_faces} 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} Debug mode: #{$debug} 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} Field Of View: #{@camera.field_of_view} Mouse Sesitivity: #{@camera.mouse_sensitivity} -Faces: #{@number_of_faces} 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} Debug mode: #{$debug} eos @@ -128,7 +132,7 @@ eos @camera.update $window.close if $window.button_down?(Gosu::KbEscape) - $window.number_of_faces = 0 + $window.number_of_vertices = 0 @delta_time = Gosu.milliseconds end diff --git a/lib/states/game_states/loading_state.rb b/lib/states/game_states/loading_state.rb index 4180845..8deac7a 100644 --- a/lib/states/game_states/loading_state.rb +++ b/lib/states/game_states/loading_state.rb @@ -15,7 +15,7 @@ class IMICFPS add_asset(:obj, "objects/biped.obj") # 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 @cycled = false diff --git a/lib/wavefront/model.rb b/lib/wavefront/model.rb index 43d6366..246bac5 100644 --- a/lib/wavefront/model.rb +++ b/lib/wavefront/model.rb @@ -57,12 +57,11 @@ class IMICFPS # populate_buffers - face_count = 0 - @objects.each {|o| face_count+=o.faces.size} + @objects.each {|o| @vertex_count+=o.vertices.size} @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 - $window.number_of_faces+=face_count + $window.number_of_vertices+=@vertex_count @model_has_texture = false @materials.each do |key, material| if material.texture_id diff --git a/lib/window.rb b/lib/window.rb index f4b2b0f..9aaf194 100644 --- a/lib/window.rb +++ b/lib/window.rb @@ -1,7 +1,7 @@ class IMICFPS GRAVITY = 9.8 # m/s class Window < Gosu::Window - attr_accessor :number_of_faces, :needs_cursor + attr_accessor :number_of_vertices, :needs_cursor attr_reader :camera def initialize(window_width = 1280, window_height = 800, fullscreen = false) @@ -13,7 +13,7 @@ class IMICFPS end $window = self @needs_cursor = false - @number_of_faces = 0 + @number_of_vertices = 0 @active_state = nil