aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortaw27 <taw27@84d2e878-0bd5-11dd-ad15-13eda11d74c5>2008-08-06 23:15:55 +0000
committertaw27 <taw27@84d2e878-0bd5-11dd-ad15-13eda11d74c5>2008-08-06 23:15:55 +0000
commit1b9804535732c9f7469b3765d31e4853af0a2d9b (patch)
tree2d6b2ad8886b39e47fd3cf95b7a5cc60686cda14
parent22f17f52f8d8f08f2546a1552e5075d4895d6937 (diff)
Squeeze everything into 19 varying components
Add texture for pipework git-svn-id: svn://cook.msm.cam.ac.uk:745/thrust3d/thrust3d@227 84d2e878-0bd5-11dd-ad15-13eda11d74c5
-rw-r--r--data/Makefile.am3
-rw-r--r--data/models/pipe138
-rw-r--r--data/models/pipe-horiz137
-rw-r--r--data/models/walle1
-rw-r--r--data/models/walle-hole1
-rw-r--r--data/models/walln1
-rw-r--r--data/models/walls1
-rw-r--r--data/models/wallw1
-rw-r--r--data/shaders/fill-light.frag7
-rw-r--r--data/shaders/fill-light.vert4
-rw-r--r--data/shaders/lighting.frag11
-rw-r--r--data/shaders/lighting.vert4
-rw-r--r--data/textures/baremetal.pngbin0 -> 3571178 bytes
-rw-r--r--src/render.c5
14 files changed, 161 insertions, 153 deletions
diff --git a/data/Makefile.am b/data/Makefile.am
index beca98a..fa68b83 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -9,7 +9,8 @@ shaders_DATA = shaders/lighting.vert shaders/lighting.frag shaders/swirlytron.ve
texturesdir = $(datadir)/thrust3d/textures
textures_DATA = textures/floor1.png textures/tiledwall.png textures/radioactive.png textures/fuel.png \
- textures/font.png textures/concrete.png textures/tiledwall-normals.png textures/placeholder.png
+ textures/font.png textures/concrete.png textures/tiledwall-normals.png textures/placeholder.png \
+ textures/baremetal.png
roomsdir = $(datadir)/thrust3d/rooms
rooms_DATA = rooms/00-00-00 rooms/00-00-01 rooms/00-00-02 rooms/00-00-03 rooms/00-00-04 rooms/00-01-04 rooms/00-02-04
diff --git a/data/models/pipe b/data/models/pipe
index 0f6a1e5..54d3588 100644
--- a/data/models/pipe
+++ b/data/models/pipe
@@ -1,73 +1,73 @@
# source-material/models/pipe.obj
QUADS
- +0.462 +0.191 +0.000 0.000 0.000 +0.924 +0.383 +0.000
- +0.354 +0.354 +0.000 0.000 0.000 +0.707 +0.707 +0.000
- +0.354 +0.354 +10.000 0.000 0.000 +0.707 +0.707 +0.000
- +0.462 +0.191 +10.000 0.000 0.000 +0.924 +0.383 +0.000
- +0.500 -0.000 +0.000 0.000 0.000 +1.000 +0.000 +0.000
- +0.462 +0.191 +0.000 0.000 0.000 +0.924 +0.383 +0.000
- +0.462 +0.191 +10.000 0.000 0.000 +0.924 +0.383 +0.000
- +0.500 -0.000 +10.000 0.000 0.000 +1.000 +0.000 +0.000
- +0.462 -0.191 +0.000 0.000 0.000 +0.924 -0.383 +0.000
- +0.500 -0.000 +0.000 0.000 0.000 +1.000 +0.000 +0.000
- +0.500 -0.000 +10.000 0.000 0.000 +1.000 +0.000 +0.000
- +0.462 -0.191 +10.000 0.000 0.000 +0.924 -0.383 +0.000
- +0.354 -0.354 +0.000 0.000 0.000 +0.707 -0.707 +0.000
- +0.462 -0.191 +0.000 0.000 0.000 +0.924 -0.383 +0.000
- +0.462 -0.191 +10.000 0.000 0.000 +0.924 -0.383 +0.000
- +0.354 -0.354 +10.000 0.000 0.000 +0.707 -0.707 +0.000
- +0.191 -0.462 +0.000 0.000 0.000 +0.383 -0.924 +0.000
- +0.354 -0.354 +0.000 0.000 0.000 +0.707 -0.707 +0.000
- +0.354 -0.354 +10.000 0.000 0.000 +0.707 -0.707 +0.000
- +0.191 -0.462 +10.000 0.000 0.000 +0.383 -0.924 +0.000
- +0.000 -0.500 +0.000 0.000 0.000 +0.000 -1.000 +0.000
- +0.191 -0.462 +0.000 0.000 0.000 +0.383 -0.924 +0.000
- +0.191 -0.462 +10.000 0.000 0.000 +0.383 -0.924 +0.000
- +0.000 -0.500 +10.000 0.000 0.000 +0.000 -1.000 +0.000
- -0.191 -0.462 +0.000 0.000 0.000 -0.383 -0.924 +0.000
- +0.000 -0.500 +0.000 0.000 0.000 +0.000 -1.000 +0.000
- +0.000 -0.500 +10.000 0.000 0.000 +0.000 -1.000 +0.000
- -0.191 -0.462 +10.000 0.000 0.000 -0.383 -0.924 +0.000
- -0.354 -0.354 +0.000 0.000 0.000 -0.707 -0.707 +0.000
- -0.191 -0.462 +0.000 0.000 0.000 -0.383 -0.924 +0.000
- -0.191 -0.462 +10.000 0.000 0.000 -0.383 -0.924 +0.000
- -0.354 -0.354 +10.000 0.000 0.000 -0.707 -0.707 +0.000
- -0.462 -0.191 +0.000 0.000 0.000 -0.924 -0.383 +0.000
- -0.354 -0.354 +0.000 0.000 0.000 -0.707 -0.707 +0.000
- -0.354 -0.354 +10.000 0.000 0.000 -0.707 -0.707 +0.000
- -0.462 -0.191 +10.000 0.000 0.000 -0.924 -0.383 +0.000
- -0.500 +0.000 +0.000 0.000 0.000 -1.000 +0.000 +0.000
- -0.462 -0.191 +0.000 0.000 0.000 -0.924 -0.383 +0.000
- -0.462 -0.191 +10.000 0.000 0.000 -0.924 -0.383 +0.000
- -0.500 +0.000 +10.000 0.000 0.000 -1.000 +0.000 +0.000
- -0.462 +0.191 +0.000 0.000 0.000 -0.924 +0.383 +0.000
- -0.500 +0.000 +0.000 0.000 0.000 -1.000 +0.000 +0.000
- -0.500 +0.000 +10.000 0.000 0.000 -1.000 +0.000 +0.000
- -0.462 +0.191 +10.000 0.000 0.000 -0.924 +0.383 +0.000
- -0.354 +0.354 +0.000 0.000 0.000 -0.707 +0.707 +0.000
- -0.462 +0.191 +0.000 0.000 0.000 -0.924 +0.383 +0.000
- -0.462 +0.191 +10.000 0.000 0.000 -0.924 +0.383 +0.000
- -0.354 +0.354 +10.000 0.000 0.000 -0.707 +0.707 +0.000
- -0.191 +0.462 +0.000 0.000 0.000 -0.383 +0.924 +0.000
- -0.354 +0.354 +0.000 0.000 0.000 -0.707 +0.707 +0.000
- -0.354 +0.354 +10.000 0.000 0.000 -0.707 +0.707 +0.000
- -0.191 +0.462 +10.000 0.000 0.000 -0.383 +0.924 +0.000
- +0.000 +0.500 +0.000 0.000 0.000 +0.000 +1.000 +0.000
- -0.191 +0.462 +0.000 0.000 0.000 -0.383 +0.924 +0.000
- -0.191 +0.462 +10.000 0.000 0.000 -0.383 +0.924 +0.000
- +0.000 +0.500 +10.000 0.000 0.000 +0.000 +1.000 +0.000
- +0.191 +0.462 +0.000 0.000 0.000 +0.383 +0.924 +0.000
- +0.000 +0.500 +0.000 0.000 0.000 +0.000 +1.000 +0.000
- +0.000 +0.500 +10.000 0.000 0.000 +0.000 +1.000 +0.000
- +0.191 +0.462 +10.000 0.000 0.000 +0.383 +0.924 +0.000
- +0.354 +0.354 +0.000 0.000 0.000 +0.707 +0.707 +0.000
- +0.191 +0.462 +0.000 0.000 0.000 +0.383 +0.924 +0.000
- +0.191 +0.462 +10.000 0.000 0.000 +0.383 +0.924 +0.000
- +0.354 +0.354 +10.000 0.000 0.000 +0.707 +0.707 +0.000
- +0.354 +0.354 +0.000 0.000 0.000 +0.707 +0.707 +0.000
- +0.191 +0.462 +0.000 0.000 0.000 +0.383 +0.924 +0.000
- +0.191 +0.462 +10.000 0.000 0.000 +0.383 +0.924 +0.000
- +0.354 +0.354 +10.000 0.000 0.000 +0.707 +0.707 +0.000
-shiny 128.0
+ +0.462 +0.191 +0.000 0.958 0.975 +0.924 +0.383 +0.000
+ +0.354 +0.354 +0.000 0.968 1.000 +0.707 +0.707 +0.000
+ +0.354 +0.354 +10.000 0.021 0.528 +0.707 +0.707 +0.000
+ +0.462 +0.191 +10.000 0.011 0.503 +0.924 +0.383 +0.000
+ +0.500 -0.000 +0.000 0.951 0.914 +1.000 +0.000 +0.000
+ +0.462 +0.191 +0.000 0.958 0.975 +0.924 +0.383 +0.000
+ +0.462 +0.191 +10.000 0.011 0.503 +0.924 +0.383 +0.000
+ +0.500 -0.000 +10.000 0.004 0.442 +1.000 +0.000 +0.000
+ +0.462 -0.191 +0.000 0.947 0.825 +0.924 -0.383 +0.000
+ +0.500 -0.000 +0.000 0.951 0.914 +1.000 +0.000 +0.000
+ +0.500 -0.000 +10.000 0.004 0.442 +1.000 +0.000 +0.000
+ +0.462 -0.191 +10.000 0.000 0.354 +0.924 -0.383 +0.000
+ +0.354 -0.354 +0.000 0.947 0.723 +0.707 -0.707 +0.000
+ +0.462 -0.191 +0.000 0.947 0.825 +0.924 -0.383 +0.000
+ +0.462 -0.191 +10.000 0.000 0.354 +0.924 -0.383 +0.000
+ +0.354 -0.354 +10.000 0.000 0.252 +0.707 -0.707 +0.000
+ +0.191 -0.462 +0.000 0.951 0.623 +0.383 -0.924 +0.000
+ +0.354 -0.354 +0.000 0.947 0.723 +0.707 -0.707 +0.000
+ +0.354 -0.354 +10.000 0.000 0.252 +0.707 -0.707 +0.000
+ +0.191 -0.462 +10.000 0.004 0.151 +0.383 -0.924 +0.000
+ +0.000 -0.500 +0.000 0.959 0.540 +0.000 -1.000 +0.000
+ +0.191 -0.462 +0.000 0.951 0.623 +0.383 -0.924 +0.000
+ +0.191 -0.462 +10.000 0.004 0.151 +0.383 -0.924 +0.000
+ +0.000 -0.500 +10.000 0.012 0.068 +0.000 -1.000 +0.000
+ -0.191 -0.462 +0.000 0.968 0.487 -0.383 -0.924 +0.000
+ +0.000 -0.500 +0.000 0.959 0.540 +0.000 -1.000 +0.000
+ +0.000 -0.500 +10.000 0.012 0.068 +0.000 -1.000 +0.000
+ -0.191 -0.462 +10.000 0.022 0.015 -0.383 -0.924 +0.000
+ -0.354 -0.354 +0.000 0.979 0.472 -0.707 -0.707 +0.000
+ -0.191 -0.462 +0.000 0.968 0.487 -0.383 -0.924 +0.000
+ -0.191 -0.462 +10.000 0.022 0.015 -0.383 -0.924 +0.000
+ -0.354 -0.354 +10.000 0.032 0.000 -0.707 -0.707 +0.000
+ -0.462 -0.191 +0.000 0.989 0.497 -0.924 -0.383 +0.000
+ -0.354 -0.354 +0.000 0.979 0.472 -0.707 -0.707 +0.000
+ -0.354 -0.354 +10.000 0.032 0.000 -0.707 -0.707 +0.000
+ -0.462 -0.191 +10.000 0.042 0.025 -0.924 -0.383 +0.000
+ -0.500 +0.000 +0.000 0.996 0.558 -1.000 +0.000 +0.000
+ -0.462 -0.191 +0.000 0.989 0.497 -0.924 -0.383 +0.000
+ -0.462 -0.191 +10.000 0.042 0.025 -0.924 -0.383 +0.000
+ -0.500 +0.000 +10.000 0.049 0.086 -1.000 +0.000 +0.000
+ -0.462 +0.191 +0.000 1.000 0.646 -0.924 +0.383 +0.000
+ -0.500 +0.000 +0.000 0.996 0.558 -1.000 +0.000 +0.000
+ -0.500 +0.000 +10.000 0.049 0.086 -1.000 +0.000 +0.000
+ -0.462 +0.191 +10.000 0.053 0.175 -0.924 +0.383 +0.000
+ -0.354 +0.354 +0.000 1.000 0.748 -0.707 +0.707 +0.000
+ -0.462 +0.191 +0.000 1.000 0.646 -0.924 +0.383 +0.000
+ -0.462 +0.191 +10.000 0.053 0.175 -0.924 +0.383 +0.000
+ -0.354 +0.354 +10.000 0.053 0.277 -0.707 +0.707 +0.000
+ -0.191 +0.462 +0.000 0.996 0.849 -0.383 +0.924 +0.000
+ -0.354 +0.354 +0.000 1.000 0.748 -0.707 +0.707 +0.000
+ -0.354 +0.354 +10.000 0.053 0.277 -0.707 +0.707 +0.000
+ -0.191 +0.462 +10.000 0.049 0.377 -0.383 +0.924 +0.000
+ +0.000 +0.500 +0.000 0.988 0.932 +0.000 +1.000 +0.000
+ -0.191 +0.462 +0.000 0.996 0.849 -0.383 +0.924 +0.000
+ -0.191 +0.462 +10.000 0.049 0.377 -0.383 +0.924 +0.000
+ +0.000 +0.500 +10.000 0.041 0.460 +0.000 +1.000 +0.000
+ +0.191 +0.462 +0.000 0.978 0.985 +0.383 +0.924 +0.000
+ +0.000 +0.500 +0.000 0.988 0.932 +0.000 +1.000 +0.000
+ +0.000 +0.500 +10.000 0.041 0.460 +0.000 +1.000 +0.000
+ +0.191 +0.462 +10.000 0.032 0.513 +0.383 +0.924 +0.000
+ +0.354 +0.354 +0.000 0.968 1.000 +0.707 +0.707 +0.000
+ +0.191 +0.462 +0.000 0.978 0.985 +0.383 +0.924 +0.000
+ +0.191 +0.462 +10.000 0.032 0.513 +0.383 +0.924 +0.000
+ +0.354 +0.354 +10.000 0.021 0.528 +0.707 +0.707 +0.000
+ +0.354 +0.354 +0.000 0.968 1.000 +0.707 +0.707 +0.000
+ +0.191 +0.462 +0.000 0.978 0.985 +0.383 +0.924 +0.000
+ +0.191 +0.462 +10.000 0.032 0.513 +0.383 +0.924 +0.000
+ +0.354 +0.354 +10.000 0.021 0.528 +0.707 +0.707 +0.000
+texture baremetal
diff --git a/data/models/pipe-horiz b/data/models/pipe-horiz
index 4e08368..8fedbee 100644
--- a/data/models/pipe-horiz
+++ b/data/models/pipe-horiz
@@ -1,72 +1,73 @@
# source-material/models/pipe-horiz.obj
QUADS
- +0.462 -5.000 -0.191 0.000 0.000 +0.924 +0.000 -0.383
- +0.354 -5.000 -0.354 0.000 0.000 +0.707 +0.000 -0.707
- +0.354 +5.000 -0.354 0.000 0.000 +0.707 +0.000 -0.707
- +0.462 +5.000 -0.191 0.000 0.000 +0.924 +0.000 -0.383
- +0.500 -5.000 +0.000 0.000 0.000 +1.000 +0.000 +0.000
- +0.462 -5.000 -0.191 0.000 0.000 +0.924 +0.000 -0.383
- +0.462 +5.000 -0.191 0.000 0.000 +0.924 +0.000 -0.383
- +0.500 +5.000 -0.000 0.000 0.000 +1.000 +0.000 +0.000
- +0.462 -5.000 +0.191 0.000 0.000 +0.924 +0.000 +0.383
- +0.500 -5.000 +0.000 0.000 0.000 +1.000 +0.000 +0.000
- +0.500 +5.000 -0.000 0.000 0.000 +1.000 +0.000 +0.000
- +0.462 +5.000 +0.191 0.000 0.000 +0.924 +0.000 +0.383
- +0.354 -5.000 +0.354 0.000 0.000 +0.707 +0.000 +0.707
- +0.462 -5.000 +0.191 0.000 0.000 +0.924 +0.000 +0.383
- +0.462 +5.000 +0.191 0.000 0.000 +0.924 +0.000 +0.383
- +0.354 +5.000 +0.354 0.000 0.000 +0.707 +0.000 +0.707
- +0.191 -5.000 +0.462 0.000 0.000 +0.383 +0.000 +0.924
- +0.354 -5.000 +0.354 0.000 0.000 +0.707 +0.000 +0.707
- +0.354 +5.000 +0.354 0.000 0.000 +0.707 +0.000 +0.707
- +0.191 +5.000 +0.462 0.000 0.000 +0.383 +0.000 +0.924
- +0.000 -5.000 +0.500 0.000 0.000 +0.000 +0.000 +1.000
- +0.191 -5.000 +0.462 0.000 0.000 +0.383 +0.000 +0.924
- +0.191 +5.000 +0.462 0.000 0.000 +0.383 +0.000 +0.924
- +0.000 +5.000 +0.500 0.000 0.000 +0.000 +0.000 +1.000
- -0.191 -5.000 +0.462 0.000 0.000 -0.383 +0.000 +0.924
- +0.000 -5.000 +0.500 0.000 0.000 +0.000 +0.000 +1.000
- +0.000 +5.000 +0.500 0.000 0.000 +0.000 +0.000 +1.000
- -0.191 +5.000 +0.462 0.000 0.000 -0.383 +0.000 +0.924
- -0.354 -5.000 +0.354 0.000 0.000 -0.707 +0.000 +0.707
- -0.191 -5.000 +0.462 0.000 0.000 -0.383 +0.000 +0.924
- -0.191 +5.000 +0.462 0.000 0.000 -0.383 +0.000 +0.924
- -0.354 +5.000 +0.354 0.000 0.000 -0.707 +0.000 +0.707
- -0.462 -5.000 +0.191 0.000 0.000 -0.924 +0.000 +0.383
- -0.354 -5.000 +0.354 0.000 0.000 -0.707 +0.000 +0.707
- -0.354 +5.000 +0.354 0.000 0.000 -0.707 +0.000 +0.707
- -0.462 +5.000 +0.191 0.000 0.000 -0.924 +0.000 +0.383
- -0.500 -5.000 -0.000 0.000 0.000 -1.000 +0.000 +0.000
- -0.462 -5.000 +0.191 0.000 0.000 -0.924 +0.000 +0.383
- -0.462 +5.000 +0.191 0.000 0.000 -0.924 +0.000 +0.383
- -0.500 +5.000 -0.000 0.000 0.000 -1.000 +0.000 +0.000
- -0.462 -5.000 -0.191 0.000 0.000 -0.924 +0.000 -0.383
- -0.500 -5.000 -0.000 0.000 0.000 -1.000 +0.000 +0.000
- -0.500 +5.000 -0.000 0.000 0.000 -1.000 +0.000 +0.000
- -0.462 +5.000 -0.191 0.000 0.000 -0.924 +0.000 -0.383
- -0.354 -5.000 -0.354 0.000 0.000 -0.707 +0.000 -0.707
- -0.462 -5.000 -0.191 0.000 0.000 -0.924 +0.000 -0.383
- -0.462 +5.000 -0.191 0.000 0.000 -0.924 +0.000 -0.383
- -0.354 +5.000 -0.354 0.000 0.000 -0.707 +0.000 -0.707
- -0.191 -5.000 -0.462 0.000 0.000 -0.383 +0.000 -0.924
- -0.354 -5.000 -0.354 0.000 0.000 -0.707 +0.000 -0.707
- -0.354 +5.000 -0.354 0.000 0.000 -0.707 +0.000 -0.707
- -0.191 +5.000 -0.462 0.000 0.000 -0.383 +0.000 -0.924
- +0.000 -5.000 -0.500 0.000 0.000 +0.000 +0.000 -1.000
- -0.191 -5.000 -0.462 0.000 0.000 -0.383 +0.000 -0.924
- -0.191 +5.000 -0.462 0.000 0.000 -0.383 +0.000 -0.924
- +0.000 +5.000 -0.500 0.000 0.000 +0.000 +0.000 -1.000
- +0.191 -5.000 -0.462 0.000 0.000 +0.383 +0.000 -0.924
- +0.000 -5.000 -0.500 0.000 0.000 +0.000 +0.000 -1.000
- +0.000 +5.000 -0.500 0.000 0.000 +0.000 +0.000 -1.000
- +0.191 +5.000 -0.462 0.000 0.000 +0.383 +0.000 -0.924
- +0.354 -5.000 -0.354 0.000 0.000 +0.707 +0.000 -0.707
- +0.191 -5.000 -0.462 0.000 0.000 +0.383 +0.000 -0.924
- +0.191 +5.000 -0.462 0.000 0.000 +0.383 +0.000 -0.924
- +0.354 +5.000 -0.354 0.000 0.000 +0.707 +0.000 -0.707
- +0.354 -5.000 -0.354 0.000 0.000 +0.707 +0.000 -0.707
- +0.191 -5.000 -0.462 0.000 0.000 +0.383 +0.000 -0.924
- +0.191 +5.000 -0.462 0.000 0.000 +0.383 +0.000 -0.924
- +0.354 +5.000 -0.354 0.000 0.000 +0.707 +0.000 -0.707
+ +0.462 -5.000 -0.191 0.065 0.031 +0.924 +0.000 -0.383
+ +0.354 -5.000 -0.354 0.062 0.009 +0.707 +0.000 -0.707
+ +0.354 +5.000 -0.354 0.997 0.825 +0.707 +0.000 -0.707
+ +0.462 +5.000 -0.191 1.000 0.847 +0.924 +0.000 -0.383
+ +0.500 -5.000 +0.000 0.063 0.063 +1.000 +0.000 +0.000
+ +0.462 -5.000 -0.191 0.065 0.031 +0.924 +0.000 -0.383
+ +0.462 +5.000 -0.191 1.000 0.847 +0.924 +0.000 -0.383
+ +0.500 +5.000 -0.000 0.998 0.879 +1.000 +0.000 +0.000
+ +0.462 -5.000 +0.191 0.056 0.098 +0.924 +0.000 +0.383
+ +0.500 -5.000 +0.000 0.063 0.063 +1.000 +0.000 +0.000
+ +0.500 +5.000 -0.000 0.998 0.879 +1.000 +0.000 +0.000
+ +0.462 +5.000 +0.191 0.991 0.914 +0.924 +0.000 +0.383
+ +0.354 -5.000 +0.354 0.046 0.133 +0.707 +0.000 +0.707
+ +0.462 -5.000 +0.191 0.056 0.098 +0.924 +0.000 +0.383
+ +0.462 +5.000 +0.191 0.991 0.914 +0.924 +0.000 +0.383
+ +0.354 +5.000 +0.354 0.981 0.949 +0.707 +0.000 +0.707
+ +0.191 -5.000 +0.462 0.034 0.162 +0.383 +0.000 +0.924
+ +0.354 -5.000 +0.354 0.046 0.133 +0.707 +0.000 +0.707
+ +0.354 +5.000 +0.354 0.981 0.949 +0.707 +0.000 +0.707
+ +0.191 +5.000 +0.462 0.968 0.978 +0.383 +0.000 +0.924
+ +0.000 -5.000 +0.500 0.021 0.180 +0.000 +0.000 +1.000
+ +0.191 -5.000 +0.462 0.034 0.162 +0.383 +0.000 +0.924
+ +0.191 +5.000 +0.462 0.968 0.978 +0.383 +0.000 +0.924
+ +0.000 +5.000 +0.500 0.956 0.995 +0.000 +0.000 +1.000
+ -0.191 -5.000 +0.462 0.010 0.184 -0.383 +0.000 +0.924
+ +0.000 -5.000 +0.500 0.021 0.180 +0.000 +0.000 +1.000
+ +0.000 +5.000 +0.500 0.956 0.995 +0.000 +0.000 +1.000
+ -0.191 +5.000 +0.462 0.945 1.000 -0.383 +0.000 +0.924
+ -0.354 -5.000 +0.354 0.003 0.175 -0.707 +0.000 +0.707
+ -0.191 -5.000 +0.462 0.010 0.184 -0.383 +0.000 +0.924
+ -0.191 +5.000 +0.462 0.945 1.000 -0.383 +0.000 +0.924
+ -0.354 +5.000 +0.354 0.938 0.991 -0.707 +0.000 +0.707
+ -0.462 -5.000 +0.191 0.000 0.153 -0.924 +0.000 +0.383
+ -0.354 -5.000 +0.354 0.003 0.175 -0.707 +0.000 +0.707
+ -0.354 +5.000 +0.354 0.938 0.991 -0.707 +0.000 +0.707
+ -0.462 +5.000 +0.191 0.935 0.969 -0.924 +0.000 +0.383
+ -0.500 -5.000 -0.000 0.002 0.121 -1.000 +0.000 +0.000
+ -0.462 -5.000 +0.191 0.000 0.153 -0.924 +0.000 +0.383
+ -0.462 +5.000 +0.191 0.935 0.969 -0.924 +0.000 +0.383
+ -0.500 +5.000 -0.000 0.937 0.937 -1.000 +0.000 +0.000
+ -0.462 -5.000 -0.191 0.009 0.086 -0.924 +0.000 -0.383
+ -0.500 -5.000 -0.000 0.002 0.121 -1.000 +0.000 +0.000
+ -0.500 +5.000 -0.000 0.937 0.937 -1.000 +0.000 +0.000
+ -0.462 +5.000 -0.191 0.944 0.902 -0.924 +0.000 -0.383
+ -0.354 -5.000 -0.354 0.019 0.051 -0.707 +0.000 -0.707
+ -0.462 -5.000 -0.191 0.009 0.086 -0.924 +0.000 -0.383
+ -0.462 +5.000 -0.191 0.944 0.902 -0.924 +0.000 -0.383
+ -0.354 +5.000 -0.354 0.954 0.867 -0.707 +0.000 -0.707
+ -0.191 -5.000 -0.462 0.032 0.022 -0.383 +0.000 -0.924
+ -0.354 -5.000 -0.354 0.019 0.051 -0.707 +0.000 -0.707
+ -0.354 +5.000 -0.354 0.954 0.867 -0.707 +0.000 -0.707
+ -0.191 +5.000 -0.462 0.966 0.838 -0.383 +0.000 -0.924
+ +0.000 -5.000 -0.500 0.044 0.005 +0.000 +0.000 -1.000
+ -0.191 -5.000 -0.462 0.032 0.022 -0.383 +0.000 -0.924
+ -0.191 +5.000 -0.462 0.966 0.838 -0.383 +0.000 -0.924
+ +0.000 +5.000 -0.500 0.979 0.820 +0.000 +0.000 -1.000
+ +0.191 -5.000 -0.462 0.055 0.000 +0.383 +0.000 -0.924
+ +0.000 -5.000 -0.500 0.044 0.005 +0.000 +0.000 -1.000
+ +0.000 +5.000 -0.500 0.979 0.820 +0.000 +0.000 -1.000
+ +0.191 +5.000 -0.462 0.990 0.816 +0.383 +0.000 -0.924
+ +0.354 -5.000 -0.354 0.062 0.009 +0.707 +0.000 -0.707
+ +0.191 -5.000 -0.462 0.055 0.000 +0.383 +0.000 -0.924
+ +0.191 +5.000 -0.462 0.990 0.816 +0.383 +0.000 -0.924
+ +0.354 +5.000 -0.354 0.997 0.825 +0.707 +0.000 -0.707
+ +0.354 -5.000 -0.354 0.062 0.009 +0.707 +0.000 -0.707
+ +0.191 -5.000 -0.462 0.055 0.000 +0.383 +0.000 -0.924
+ +0.191 +5.000 -0.462 0.990 0.816 +0.383 +0.000 -0.924
+ +0.354 +5.000 -0.354 0.997 0.825 +0.707 +0.000 -0.707
+texture baremetal
diff --git a/data/models/walle b/data/models/walle
index 3d022f5..44ff02b 100644
--- a/data/models/walle
+++ b/data/models/walle
@@ -7,4 +7,5 @@ texture tiledwall
0.00 5.00 -5.00 0.0 0.0
0.00 -5.00 -5.00 1.0 0.0
subdivide 10 10
+shiny 80.0
diff --git a/data/models/walle-hole b/data/models/walle-hole
index d8e0eae..5258baf 100644
--- a/data/models/walle-hole
+++ b/data/models/walle-hole
@@ -66,4 +66,5 @@ QUADS
+0.000 +2.500 -5.000 0.000 0.750 -1.000 -0.000 -0.000
+0.000 +2.500 -2.500 0.250 0.750 -1.000 -0.000 -0.000
texture tiledwall
+shiny 80.0
diff --git a/data/models/walln b/data/models/walln
index cd20732..d61da11 100644
--- a/data/models/walln
+++ b/data/models/walln
@@ -7,4 +7,5 @@ texture tiledwall
5.00 0.00 5.00 1.0 1.0
-5.00 0.00 5.00 0.0 1.0
subdivide 10 10
+shiny 80.0
diff --git a/data/models/walls b/data/models/walls
index f3ecfbf..7287dc6 100644
--- a/data/models/walls
+++ b/data/models/walls
@@ -7,4 +7,5 @@ texture tiledwall
5.00 0.00 5.00 0.0 1.0
5.00 0.00 -5.00 0.0 0.0
subdivide 10 10
+shiny 80.0
diff --git a/data/models/wallw b/data/models/wallw
index ddc7f2e..ec279d2 100644
--- a/data/models/wallw
+++ b/data/models/wallw
@@ -7,4 +7,5 @@ texture tiledwall
0.00 5.00 5.00 1.0 1.0
0.00 -5.00 5.00 0.0 1.0
subdivide 10 10
+shiny 80.0
diff --git a/data/shaders/fill-light.frag b/data/shaders/fill-light.frag
index 975e403..fcd2b4f 100644
--- a/data/shaders/fill-light.frag
+++ b/data/shaders/fill-light.frag
@@ -19,10 +19,11 @@ uniform sampler2D normalmap;
uniform bool has_normals;
uniform float alpha;
+uniform float shininess;
varying vec3 col_ambi_diff;
varying vec3 col_emit;
-varying float shininess;
+varying float col_spec;
void main() {
@@ -41,7 +42,7 @@ void main() {
norm = normalize(normal);
/* Ambient */
- ambi = col_ambi_diff * (gl_LightModel.ambient.rgb + vec3(0.5, 0.5, 0.5));
+ ambi = col_ambi_diff * (gl_LightModel.ambient.rgb + vec3(0.2, 0.2, 0.2));
/* Emission */
emit = col_emit;
@@ -55,7 +56,7 @@ void main() {
spec_fac = pow(spec_fac, shininess);
diff = col_ambi_diff * gl_LightSource[2].diffuse.rgb * diff_fac;
- spec = gl_LightSource[2].specular.rgb * spec_fac;
+ spec = gl_LightSource[2].specular.rgb * spec_fac * col_spec;
gl_FragColor = vec4(min(tex.r * (ambi.r + diff.r) + spec.r, 1.0),
min(tex.g * (ambi.g + diff.g) + spec.g, 1.0),
diff --git a/data/shaders/fill-light.vert b/data/shaders/fill-light.vert
index 1688820..57371ae 100644
--- a/data/shaders/fill-light.vert
+++ b/data/shaders/fill-light.vert
@@ -16,7 +16,7 @@ varying vec3 light2vc;
varying vec3 col_ambi_diff;
varying vec3 col_emit;
-varying float shininess;
+varying float col_spec;
void main() {
@@ -32,7 +32,7 @@ void main() {
/* Material properties */
col_ambi_diff = gl_Color.rgb;
col_emit = gl_FrontMaterial.emission.rgb;
- shininess = gl_FrontMaterial.shininess;
+ col_spec = gl_FrontMaterial.specular.r;
/* Coordinates */
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
diff --git a/data/shaders/lighting.frag b/data/shaders/lighting.frag
index bf03dbb..b95397d 100644
--- a/data/shaders/lighting.frag
+++ b/data/shaders/lighting.frag
@@ -15,16 +15,17 @@ varying vec3 normal;
varying vec3 light0vc;
varying vec3 light1vc;
+varying vec3 col_ambi_diff;
+varying vec3 col_emit;
+varying float col_spec;
+
uniform sampler2D texture;
uniform sampler2D normalmap;
uniform bool has_normals;
uniform bool texture_emits;
uniform float alpha;
-
-varying vec3 col_ambi_diff;
-varying vec3 col_emit;
-varying float shininess;
+uniform float shininess;
void main() {
@@ -68,7 +69,7 @@ void main() {
R = normalize(-reflect(L, norm));
spec_fac = max(0.0, dot(R, E));
spec_fac = pow(spec_fac, shininess);
- spec += vec3(1.0, 1.0, 1.0) * gl_LightSource[0].specular.rgb * spot * falloff * spec_fac;
+ spec += col_spec * gl_LightSource[0].specular.rgb * spot * falloff * spec_fac;
/* Light 1: Diffuse background glow */
diff += col_ambi_diff * gl_LightSource[1].diffuse.rgb * max(0.0, dot(vec3(light1vc), norm));
diff --git a/data/shaders/lighting.vert b/data/shaders/lighting.vert
index 783978c..aaaee00 100644
--- a/data/shaders/lighting.vert
+++ b/data/shaders/lighting.vert
@@ -17,7 +17,7 @@ varying vec3 light1vc;
varying vec3 col_ambi_diff;
varying vec3 col_emit;
-varying float shininess;
+varying float col_spec; /* Only use one component of this, assume it's some shade of grey */
void main() {
@@ -35,8 +35,8 @@ void main() {
/* Material properties */
col_ambi_diff = gl_Color.rgb;
+ col_spec = gl_FrontMaterial.specular.r;
col_emit = gl_FrontMaterial.emission.rgb;
- shininess = gl_FrontMaterial.shininess;
/* Coordinates */
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
diff --git a/data/textures/baremetal.png b/data/textures/baremetal.png
new file mode 100644
index 0000000..a1a5d98
--- /dev/null
+++ b/data/textures/baremetal.png
Binary files differ
diff --git a/src/render.c b/src/render.c
index d7ca6db..e127a34 100644
--- a/src/render.c
+++ b/src/render.c
@@ -32,7 +32,6 @@
static void render_load_shaders(RenderContext *r) {
/* Lighting */
- printf("Loading lighting shader\n");
r->lighting_vert = shaderutils_load_shader(DATADIR"/shaders/lighting.vert", GL_VERTEX_SHADER);
r->lighting_frag = shaderutils_load_shader(DATADIR"/shaders/lighting.frag", GL_FRAGMENT_SHADER);
r->lighting_program = glCreateProgram();
@@ -42,7 +41,6 @@ static void render_load_shaders(RenderContext *r) {
shaderutils_validate_program(r->lighting_program);
/* Fill-in light */
- printf("Loading fill lighting shader\n");
r->fill_vert = shaderutils_load_shader(DATADIR"/shaders/fill-light.vert", GL_VERTEX_SHADER);
r->fill_frag = shaderutils_load_shader(DATADIR"/shaders/fill-light.frag", GL_FRAGMENT_SHADER);
r->fill_program = glCreateProgram();
@@ -52,7 +50,6 @@ static void render_load_shaders(RenderContext *r) {
shaderutils_validate_program(r->fill_program);
/* Swirlyness */
- printf("Loading swirlytron shader\n");
r->swirly_vert = shaderutils_load_shader(DATADIR"/shaders/swirlytron.vert", GL_VERTEX_SHADER);
r->swirly_frag = shaderutils_load_shader(DATADIR"/shaders/swirlytron.frag", GL_FRAGMENT_SHADER);
r->swirly_program = glCreateProgram();
@@ -271,6 +268,8 @@ static int render_model_instance_draw(ModelInstance *instance, Uint32 t, RenderC
GLfloat white[] = {1.0, 1.0, 1.0, 1.0};
glMaterialfv(GL_FRONT, GL_SPECULAR, white);
glMaterialf(GL_FRONT, GL_SHININESS, p->shininess);
+ shaderutils_setunf(r->lighting_program, "shininess", p->shininess);
+ shaderutils_setunf(r->fill_program, "shininess", p->shininess);
} else {
glMaterialfv(GL_FRONT, GL_SPECULAR, black);
}