Restructured 'objects' folder into a meaningful 'assets' folder, added 'war_factory' model, refactored GameObject#bind_model and ModelLoader to understand the restructuring.
2
assets/base/biped/biped.yaml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
name: "biped"
|
||||||
|
model: "biped.obj"
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
# Blender MTL File: 'biped.blend'
|
# Blender MTL File: 'None'
|
||||||
# Material Count: 5
|
# Material Count: 5
|
||||||
|
|
||||||
newmtl eye
|
newmtl eye
|
||||||
Ns 96.078431
|
Ns 94.117647
|
||||||
Ka 1.000000 1.000000 1.000000
|
Ka 1.000000 1.000000 1.000000
|
||||||
Kd 0.640000 0.640000 0.640000
|
Kd 0.640000 0.640000 0.640000
|
||||||
Ks 0.500000 0.500000 0.500000
|
Ks 0.500000 0.500000 0.500000
|
||||||
@@ -12,7 +12,7 @@ d 1.000000
|
|||||||
illum 2
|
illum 2
|
||||||
|
|
||||||
newmtl pants
|
newmtl pants
|
||||||
Ns 96.078431
|
Ns 94.117647
|
||||||
Ka 1.000000 1.000000 1.000000
|
Ka 1.000000 1.000000 1.000000
|
||||||
Kd 0.068996 0.139143 0.640000
|
Kd 0.068996 0.139143 0.640000
|
||||||
Ks 0.500000 0.500000 0.500000
|
Ks 0.500000 0.500000 0.500000
|
||||||
@@ -22,7 +22,7 @@ d 1.000000
|
|||||||
illum 2
|
illum 2
|
||||||
|
|
||||||
newmtl shirt
|
newmtl shirt
|
||||||
Ns 96.078431
|
Ns 94.117647
|
||||||
Ka 1.000000 1.000000 1.000000
|
Ka 1.000000 1.000000 1.000000
|
||||||
Kd 0.006647 0.280444 0.000000
|
Kd 0.006647 0.280444 0.000000
|
||||||
Ks 0.500000 0.500000 0.500000
|
Ks 0.500000 0.500000 0.500000
|
||||||
@@ -32,7 +32,7 @@ d 1.000000
|
|||||||
illum 2
|
illum 2
|
||||||
|
|
||||||
newmtl shoe
|
newmtl shoe
|
||||||
Ns 96.078431
|
Ns 94.117647
|
||||||
Ka 1.000000 1.000000 1.000000
|
Ka 1.000000 1.000000 1.000000
|
||||||
Kd 0.134359 0.134359 0.134359
|
Kd 0.134359 0.134359 0.134359
|
||||||
Ks 0.500000 0.500000 0.500000
|
Ks 0.500000 0.500000 0.500000
|
||||||
@@ -42,7 +42,7 @@ d 1.000000
|
|||||||
illum 2
|
illum 2
|
||||||
|
|
||||||
newmtl skin
|
newmtl skin
|
||||||
Ns 96.078431
|
Ns 94.117647
|
||||||
Ka 1.000000 1.000000 1.000000
|
Ka 1.000000 1.000000 1.000000
|
||||||
Kd 0.110067 0.069785 0.027733
|
Kd 0.110067 0.069785 0.027733
|
||||||
Ks 0.500000 0.500000 0.500000
|
Ks 0.500000 0.500000 0.500000
|
||||||
1292
assets/base/biped/model/biped.obj
Normal file
@@ -10,4 +10,4 @@ Ke 0.000000 0.000000 0.000000
|
|||||||
Ni 1.000000
|
Ni 1.000000
|
||||||
d 1.000000
|
d 1.000000
|
||||||
illum 2
|
illum 2
|
||||||
map_Kd /home/cyberarm/Code/i-mic-fps/blends/randomish_terrain.png
|
map_Kd assets/base/randomish_terrain/textures/randomish_terrain_ao.png
|
||||||
3
assets/base/randomish_terrain/randomish_terrain.yaml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
---
|
||||||
|
name: "randomish_terrain"
|
||||||
|
model: "randomish_terrain.obj"
|
||||||
|
Before Width: | Height: | Size: 250 KiB After Width: | Height: | Size: 250 KiB |
BIN
assets/base/randomish_terrain/textures/randomish_terrain_ao.png
Normal file
|
After Width: | Height: | Size: 238 KiB |
@@ -10,4 +10,4 @@ Ke 0.000000 0.000000 0.000000
|
|||||||
Ni 1.000000
|
Ni 1.000000
|
||||||
d 1.000000
|
d 1.000000
|
||||||
illum 2
|
illum 2
|
||||||
map_Kd objects/skydome_next.png
|
map_Kd assets/base/skydome/textures/skydome_next.png
|
||||||
2
assets/base/skydome/skydome.yaml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
name: "skydome"
|
||||||
|
model: "skydome.obj"
|
||||||
|
Before Width: | Height: | Size: 379 KiB After Width: | Height: | Size: 379 KiB |
|
Before Width: | Height: | Size: 5.2 MiB After Width: | Height: | Size: 5.2 MiB |
0
assets/base/sponza/sponza.yaml
Normal file
@@ -1,8 +1,8 @@
|
|||||||
# Blender MTL File: 'tree.blend'
|
# Blender MTL File: 'None'
|
||||||
# Material Count: 2
|
# Material Count: 2
|
||||||
|
|
||||||
newmtl Material
|
newmtl Material.002
|
||||||
Ns 96.078431
|
Ns 94.117647
|
||||||
Ka 1.000000 1.000000 1.000000
|
Ka 1.000000 1.000000 1.000000
|
||||||
Kd 0.181267 0.106319 0.092156
|
Kd 0.181267 0.106319 0.092156
|
||||||
Ks 0.500000 0.500000 0.500000
|
Ks 0.500000 0.500000 0.500000
|
||||||
@@ -11,8 +11,8 @@ Ni 1.000000
|
|||||||
d 1.000000
|
d 1.000000
|
||||||
illum 2
|
illum 2
|
||||||
|
|
||||||
newmtl leaf
|
newmtl leaf.001
|
||||||
Ns 96.078431
|
Ns 94.117647
|
||||||
Ka 1.000000 1.000000 1.000000
|
Ka 1.000000 1.000000 1.000000
|
||||||
Kd 0.127997 0.491692 0.000000
|
Kd 0.127997 0.491692 0.000000
|
||||||
Ks 0.500000 0.500000 0.500000
|
Ks 0.500000 0.500000 0.500000
|
||||||
1051
assets/base/tree/model/tree.obj
Normal file
2
assets/base/tree/tree.yaml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
name: "tree"
|
||||||
|
model: "tree.obj"
|
||||||
42
assets/base/war_factory/model/war_factory.mtl
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
# Blender MTL File: 'war_factory.blend'
|
||||||
|
# Material Count: 4
|
||||||
|
|
||||||
|
newmtl Material
|
||||||
|
Ns 96.078431
|
||||||
|
Ka 1.000000 1.000000 1.000000
|
||||||
|
Kd 0.640000 0.527055 0.242208
|
||||||
|
Ks 0.500000 0.500000 0.500000
|
||||||
|
Ke 0.000000 0.000000 0.000000
|
||||||
|
Ni 1.000000
|
||||||
|
d 1.000000
|
||||||
|
illum 2
|
||||||
|
|
||||||
|
newmtl door
|
||||||
|
Ns 96.078431
|
||||||
|
Ka 1.000000 1.000000 1.000000
|
||||||
|
Kd 0.000000 0.006044 0.640000
|
||||||
|
Ks 0.500000 0.500000 0.500000
|
||||||
|
Ke 0.000000 0.000000 0.000000
|
||||||
|
Ni 1.000000
|
||||||
|
d 1.000000
|
||||||
|
illum 2
|
||||||
|
|
||||||
|
newmtl garage
|
||||||
|
Ns 96.078431
|
||||||
|
Ka 1.000000 1.000000 1.000000
|
||||||
|
Kd 0.358382 0.358382 0.358382
|
||||||
|
Ks 0.500000 0.500000 0.500000
|
||||||
|
Ke 0.000000 0.000000 0.000000
|
||||||
|
Ni 1.000000
|
||||||
|
d 1.000000
|
||||||
|
illum 2
|
||||||
|
|
||||||
|
newmtl pipes
|
||||||
|
Ns 96.078431
|
||||||
|
Ka 1.000000 1.000000 1.000000
|
||||||
|
Kd 0.336018 0.296986 0.261323
|
||||||
|
Ks 0.500000 0.500000 0.500000
|
||||||
|
Ke 0.000000 0.000000 0.000000
|
||||||
|
Ni 1.000000
|
||||||
|
d 1.000000
|
||||||
|
illum 2
|
||||||
1447
assets/base/war_factory/model/war_factory.obj
Normal file
2
assets/base/war_factory/war_factory.yaml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
name: "war_factory"
|
||||||
|
model: "war_factory.obj"
|
||||||
BIN
blends/randomish_terrain1.png
Normal file
|
After Width: | Height: | Size: 169 KiB |
BIN
blends/war_factory.blend
Normal file
BIN
blends/war_factory.blend1
Normal file
@@ -1,4 +1,5 @@
|
|||||||
require "fiddle"
|
require "fiddle"
|
||||||
|
require "yaml"
|
||||||
|
|
||||||
require "opengl"
|
require "opengl"
|
||||||
require "glu"
|
require "glu"
|
||||||
@@ -94,7 +95,7 @@ require_relative "lib/wavefront/model"
|
|||||||
|
|
||||||
require_relative "lib/window"
|
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 = 1.0 # Objects exported from blender using the millimeter object scale will be close to 1 GL unit
|
||||||
|
|
||||||
|
|
||||||
if ARGV.join.include?("--profile")
|
if ARGV.join.include?("--profile")
|
||||||
|
|||||||
@@ -1,4 +1,8 @@
|
|||||||
class IMICFPS
|
class IMICFPS
|
||||||
|
def self.assets_path
|
||||||
|
File.expand_path("./../../assets", __FILE__)
|
||||||
|
end
|
||||||
|
|
||||||
module CommonMethods
|
module CommonMethods
|
||||||
|
|
||||||
def window; $window; end
|
def window; $window; end
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ class IMICFPS
|
|||||||
object.debug_color = Color.new(1.0,0.0,0.0)
|
object.debug_color = Color.new(1.0,0.0,0.0)
|
||||||
b.debug_color = Color.new(1.0,0.0,0.0)
|
b.debug_color = Color.new(1.0,0.0,0.0)
|
||||||
|
|
||||||
@game_state.game_objects.delete(object) unless object.is_a?(Player)
|
# @game_state.game_objects.delete(object) unless object.is_a?(Player)
|
||||||
puts "#{object} is intersecting #{b}" if object.is_a?(Player)
|
puts "#{object} is intersecting #{b}" if object.is_a?(Player)
|
||||||
else
|
else
|
||||||
object.debug_color = Color.new(0,1,0)
|
object.debug_color = Color.new(0,1,0)
|
||||||
@@ -31,4 +31,4 @@ class IMICFPS
|
|||||||
# @aabb_tree.rebuild
|
# @aabb_tree.rebuild
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -43,7 +43,9 @@ class IMICFPS
|
|||||||
return self
|
return self
|
||||||
end
|
end
|
||||||
|
|
||||||
def bind_model(model)
|
def bind_model(package, name)
|
||||||
|
model = ModelLoader.new(manifest_file: IMICFPS.assets_path + "/#{package}/#{name}/#{name}.yaml", game_object: @dummy_game_object)
|
||||||
|
|
||||||
raise "model isn't a model!" unless model.is_a?(ModelLoader)
|
raise "model isn't a model!" unless model.is_a?(ModelLoader)
|
||||||
@bound_model = model
|
@bound_model = model
|
||||||
@bound_model.model.game_object = self
|
@bound_model.model.game_object = self
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ class IMICFPS
|
|||||||
attr_reader :name, :bound_model, :first_person_view
|
attr_reader :name, :bound_model, :first_person_view
|
||||||
|
|
||||||
def setup
|
def setup
|
||||||
bind_model(ModelLoader.new(type: :obj, file_path: "objects/biped.obj", game_object: self))
|
bind_model("base", "biped")
|
||||||
@speed = 2.5 # meter's per second
|
@speed = 2.5 # meter's per second
|
||||||
@running_speed = 6.8 # meter's per second
|
@running_speed = 6.8 # meter's per second
|
||||||
@old_speed = @speed
|
@old_speed = @speed
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
class IMICFPS
|
class IMICFPS
|
||||||
class Skydome < GameObject
|
class Skydome < GameObject
|
||||||
def setup
|
def setup
|
||||||
bind_model(ModelLoader.new(type: :obj, file_path: "objects/skydome.obj", game_object: self))
|
bind_model("base", "skydome")
|
||||||
end
|
end
|
||||||
|
|
||||||
def draw
|
def draw
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
class IMICFPS
|
class IMICFPS
|
||||||
class Terrain < GameObject
|
class Terrain < GameObject
|
||||||
def setup
|
def setup
|
||||||
bind_model(ModelLoader.new(type: :obj, file_path: "objects/randomish_terrain.obj", game_object: self))
|
bind_model("base", "randomish_terrain")
|
||||||
# bind_model(ModelLoader.new(type: :obj, file_path: "/home/cyberarm/Documents/blends/untitled.obj", game_object: self))
|
# bind_model(ModelLoader.new(type: :obj, file_path: "/home/cyberarm/Documents/blends/untitled.obj", game_object: self))
|
||||||
self.scale = 1
|
self.scale = 1
|
||||||
@nearest_vertex_lookup = {}
|
@nearest_vertex_lookup = {}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
class IMICFPS
|
class IMICFPS
|
||||||
class TestObject < GameObject
|
class TestObject < GameObject
|
||||||
def setup
|
def setup
|
||||||
bind_model(ModelLoader.new(type: :obj, file_path: "objects/sponza.obj", game_object: self))
|
bind_model("base", "war_factory")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,13 +1,15 @@
|
|||||||
class IMICFPS
|
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("base", "tree")
|
||||||
vert = @terrain.find_nearest_vertex(self, 4.5)
|
vert = @terrain.find_nearest_vertex(self, 4.5)
|
||||||
if vert
|
if vert
|
||||||
self.x = vert.x
|
self.x = vert.x
|
||||||
self.y = vert.y
|
self.y = vert.y
|
||||||
self.z = vert.z
|
self.z = vert.z
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# @y_rotation += rand(1..100)
|
||||||
end
|
end
|
||||||
|
|
||||||
# def update
|
# def update
|
||||||
|
|||||||
@@ -8,10 +8,13 @@ class IMICFPS
|
|||||||
|
|
||||||
attr_reader :model, :name, :debug_color
|
attr_reader :model, :name, :debug_color
|
||||||
|
|
||||||
def initialize(type:, file_path:, game_object: nil)
|
def initialize(manifest_file:, game_object: nil)
|
||||||
@type = type
|
@manifest = YAML.load(File.read(manifest_file))
|
||||||
@file_path = file_path
|
pp @manifest
|
||||||
@name = file_path.split("/").last.split(".").first
|
@file_path = File.expand_path("./../model/", manifest_file) + "/#{@manifest["model"]}"
|
||||||
|
@name = @manifest["name"]
|
||||||
|
|
||||||
|
@type = File.basename(@file_path).split(".").last.to_sym
|
||||||
@debug_color = Color.new(0.0, 1.0, 0.0)
|
@debug_color = Color.new(0.0, 1.0, 0.0)
|
||||||
|
|
||||||
@model = nil
|
@model = nil
|
||||||
|
|||||||
@@ -14,6 +14,8 @@ class IMICFPS
|
|||||||
Tree.new(x: rand(@terrain.width)-(@terrain.width/2.0), z: rand(@terrain.depth)-(@terrain.depth/2.0), terrain: @terrain, game_state: self)
|
Tree.new(x: rand(@terrain.width)-(@terrain.width/2.0), z: rand(@terrain.depth)-(@terrain.depth/2.0), terrain: @terrain, game_state: self)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
TestObject.new(terrain: @terrain, game_state: self, scale: 1.0)
|
||||||
|
|
||||||
@player = Player.new(x: 1, y: 0, z: -1, terrain: @terrain, game_state: self)
|
@player = Player.new(x: 1, y: 0, z: -1, terrain: @terrain, game_state: self)
|
||||||
@camera = Camera.new(x: 0, y: -2, z: 1)
|
@camera = Camera.new(x: 0, y: -2, z: 1)
|
||||||
@camera.attach_to(@player)
|
@camera.attach_to(@player)
|
||||||
@@ -142,4 +144,4 @@ eos
|
|||||||
puts 'Bye'
|
puts 'Bye'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -10,10 +10,10 @@ class IMICFPS
|
|||||||
@dummy_game_object = nil
|
@dummy_game_object = nil
|
||||||
@assets = []
|
@assets = []
|
||||||
@asset_index = 0
|
@asset_index = 0
|
||||||
add_asset(:obj, "objects/randomish_terrain.obj")
|
add_asset(:model, "base", "randomish_terrain")
|
||||||
add_asset(:obj, "objects/skydome.obj")
|
add_asset(:model, "base", "skydome")
|
||||||
add_asset(:obj, "objects/tree.obj")
|
add_asset(:model, "base", "tree")
|
||||||
add_asset(:obj, "objects/biped.obj")
|
add_asset(:model, "base", "biped")
|
||||||
|
|
||||||
# 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")
|
||||||
@@ -46,7 +46,13 @@ class IMICFPS
|
|||||||
@cycled = false
|
@cycled = false
|
||||||
|
|
||||||
hash = @assets[@asset_index]
|
hash = @assets[@asset_index]
|
||||||
ModelLoader.new(type: hash[:type], file_path: hash[:path], game_object: @dummy_game_object)
|
case hash[:type]
|
||||||
|
when :model
|
||||||
|
ModelLoader.new(manifest_file: IMICFPS.assets_path + "/#{hash[:package]}/#{hash[:name]}/#{hash[:name]}.yaml", game_object: @dummy_game_object)
|
||||||
|
# when :shader
|
||||||
|
else
|
||||||
|
warn "Unknown asset: #{hash}"
|
||||||
|
end
|
||||||
|
|
||||||
@asset_index+=1
|
@asset_index+=1
|
||||||
end
|
end
|
||||||
@@ -60,14 +66,14 @@ class IMICFPS
|
|||||||
@lock = true
|
@lock = true
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
@state.text = "Loading #{@assets[@asset_index][:path].split('/').last}..."
|
@state.text = "Loading #{@assets[@asset_index][:name].split('/').last}..."
|
||||||
@state.x = (window.width/2)-(@state.width/2)
|
@state.x = (window.width/2)-(@state.width/2)
|
||||||
@cycled = true
|
@cycled = true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def add_asset(type, path)
|
def add_asset(type, package, name)
|
||||||
@assets << {type: type, path: path}
|
@assets << {type: type, package: package, name: name}
|
||||||
end
|
end
|
||||||
|
|
||||||
def progressbar(x = window.width/4, y = window.height - 104)
|
def progressbar(x = window.width/4, y = window.height - 104)
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ class IMICFPS
|
|||||||
end
|
end
|
||||||
|
|
||||||
def set_texture(texture_path)
|
def set_texture(texture_path)
|
||||||
# puts "#{name} texture #{texture_path}"
|
puts "#{name} texture #{texture_path}"
|
||||||
@texture = Gosu::Image.new(texture_path, retro: false)
|
@texture = Gosu::Image.new(texture_path, retro: false)
|
||||||
array_of_pixels = @texture.to_blob
|
array_of_pixels = @texture.to_blob
|
||||||
|
|
||||||
|
|||||||
1274
objects/biped.obj
@@ -1,13 +0,0 @@
|
|||||||
# Blender MTL File: 'None'
|
|
||||||
# Material Count: 1
|
|
||||||
|
|
||||||
newmtl Material.001
|
|
||||||
Ns 94.117647
|
|
||||||
Ka 1.000000 1.000000 1.000000
|
|
||||||
Kd 0.800000 0.800000 0.800000
|
|
||||||
Ks 0.000000 0.000000 0.000000
|
|
||||||
Ke 0.000000 0.000000 0.000000
|
|
||||||
Ni 1.000000
|
|
||||||
d 1.000000
|
|
||||||
illum 2
|
|
||||||
map_Kd objects/skydome.png
|
|
||||||
@@ -1,52 +0,0 @@
|
|||||||
# Blender v2.79 (sub 0) OBJ File: ''
|
|
||||||
# www.blender.org
|
|
||||||
mtllib cube.mtl
|
|
||||||
o Cube_Cube.001
|
|
||||||
v -999.999939 999.999878 1000.000000
|
|
||||||
v -999.999939 -999.999878 -1000.000000
|
|
||||||
v -999.999939 -1000.000000 999.999878
|
|
||||||
v -999.999939 1000.000000 -999.999878
|
|
||||||
v 999.999939 -999.999878 -1000.000000
|
|
||||||
v 999.999939 1000.000000 -999.999878
|
|
||||||
v 999.999939 -1000.000000 999.999878
|
|
||||||
v 999.999939 999.999878 1000.000000
|
|
||||||
vt 0.425739 0.576230
|
|
||||||
vt 0.074230 0.927739
|
|
||||||
vt 0.074230 0.576230
|
|
||||||
vt 0.425739 0.576230
|
|
||||||
vt 0.074230 0.927739
|
|
||||||
vt 0.074230 0.576230
|
|
||||||
vt 0.425739 0.576230
|
|
||||||
vt 0.074230 0.927739
|
|
||||||
vt 0.074230 0.576230
|
|
||||||
vt 0.425739 0.576230
|
|
||||||
vt 0.074230 0.927739
|
|
||||||
vt 0.074230 0.576230
|
|
||||||
vt 0.425739 0.576230
|
|
||||||
vt 0.074230 0.927739
|
|
||||||
vt 0.074230 0.576230
|
|
||||||
vt 0.425739 0.927739
|
|
||||||
vt 0.425739 0.927739
|
|
||||||
vt 0.425739 0.927739
|
|
||||||
vt 0.425739 0.927739
|
|
||||||
vt 0.425739 0.927739
|
|
||||||
vn -1.0000 0.0000 0.0000
|
|
||||||
vn 0.0000 0.0000 -1.0000
|
|
||||||
vn 1.0000 -0.0000 0.0000
|
|
||||||
vn 0.0000 -0.0000 1.0000
|
|
||||||
vn 0.0000 -1.0000 -0.0000
|
|
||||||
vn 0.0000 1.0000 0.0000
|
|
||||||
usemtl Material.001
|
|
||||||
s 1
|
|
||||||
f 1/1/1 2/2/1 3/3/1
|
|
||||||
f 4/4/2 5/5/2 2/6/2
|
|
||||||
f 6/7/3 7/8/3 5/9/3
|
|
||||||
f 8/10/4 3/11/4 7/12/4
|
|
||||||
f 5/13/5 3/11/5 2/6/5
|
|
||||||
f 4/4/6 8/14/6 6/15/6
|
|
||||||
f 1/1/1 4/16/1 2/2/1
|
|
||||||
f 4/4/2 6/17/2 5/5/2
|
|
||||||
f 6/7/3 8/18/3 7/8/3
|
|
||||||
f 8/10/4 1/19/4 3/11/4
|
|
||||||
f 5/13/5 7/20/5 3/11/5
|
|
||||||
f 4/4/6 1/19/6 8/14/6
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
# Blender MTL File: 'None'
|
|
||||||
# Material Count: 1
|
|
||||||
|
|
||||||
newmtl None
|
|
||||||
Ns 0
|
|
||||||
Ka 0.000000 0.000000 0.000000
|
|
||||||
Kd 0.8 0.8 0.8
|
|
||||||
Ks 0.8 0.8 0.8
|
|
||||||
d 1
|
|
||||||
illum 2
|
|
||||||
map_Kd objects/skydome.png
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
# Blender v2.79 (sub 0) OBJ File: ''
|
|
||||||
# www.blender.org
|
|
||||||
mtllib plane.mtl
|
|
||||||
o Plane
|
|
||||||
v -999.999939 0.000000 999.999939
|
|
||||||
v 999.999939 0.000000 999.999939
|
|
||||||
v -999.999939 0.000000 -999.999939
|
|
||||||
v 999.999939 0.000000 -999.999939
|
|
||||||
vt 0.395761 0.622989
|
|
||||||
vt 0.116739 0.902011
|
|
||||||
vt 0.116739 0.622989
|
|
||||||
vt 0.395761 0.902011
|
|
||||||
vn 0.0000 1.0000 0.0000
|
|
||||||
usemtl None
|
|
||||||
s off
|
|
||||||
f 2/1/1 3/2/1 1/3/1
|
|
||||||
f 2/1/1 4/4/1 3/2/1
|
|
||||||