shattered_ogrerb 0.5.0.1 → 0.5.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. data/lib/shattered_ogrerb/mesh_instance.rb +9 -0
  2. data/vendor/Navi/js3250.dll +0 -0
  3. data/vendor/Navi/nspr4.dll +0 -0
  4. data/vendor/Navi/plc4.dll +0 -0
  5. data/vendor/Navi/plds4.dll +0 -0
  6. data/vendor/Navi/xpcom.dll +0 -0
  7. data/vendor/Navi/xul.dll +0 -0
  8. data/vendor/ogrerb/CHANGELOG +7 -0
  9. data/vendor/ogrerb/README +7 -2
  10. data/vendor/ogrerb/Rakefile +98 -10
  11. data/vendor/ogrerb/build/ogre/extconf.rb +6 -0
  12. data/vendor/ogrerb/build/ois/extconf.rb +8 -1
  13. data/vendor/ogrerb/doc_src/ogre.rb +97 -3
  14. data/vendor/ogrerb/lib/OIS.so +0 -0
  15. data/vendor/ogrerb/{samples → lib}/application.rb +0 -0
  16. data/vendor/ogrerb/{samples → lib}/application_frame_listener.rb +1 -1
  17. data/vendor/ogrerb/{samples → lib}/application_loading_bar.rb +12 -12
  18. data/vendor/ogrerb/lib/constants.rb +16 -0
  19. data/vendor/ogrerb/lib/method_fixes.rb +42 -0
  20. data/vendor/ogrerb/lib/navi.dll +0 -0
  21. data/vendor/ogrerb/lib/ogre.dll +0 -0
  22. data/vendor/ogrerb/lib/ogre.so +0 -0
  23. data/vendor/ogrerb/lib/ruby_ois.dll +0 -0
  24. data/vendor/ogrerb/lib/ruby_ois.so +0 -0
  25. data/vendor/ogrerb/ogre/OgreAxisAlignedBox.i +6 -0
  26. data/vendor/ogrerb/ogre/OgreHardwareIndexBuffer.i +14 -0
  27. data/vendor/ogrerb/ogre/OgreHardwareVertexBuffer.i +33 -1
  28. data/vendor/ogrerb/ogre/OgreMaterialManager.i +1 -1
  29. data/vendor/ogrerb/ogre/OgreMesh.i +32 -0
  30. data/vendor/ogrerb/ogre/OgreQuaternion.i +5 -0
  31. data/vendor/ogrerb/ogre/OgreRenderSystemCapabilities.i +4 -0
  32. data/vendor/ogrerb/ogre/OgreShadowTextureManager.i +6 -1
  33. data/vendor/ogrerb/ogre/OgreStaticGeometry.i +272 -0
  34. data/vendor/ogrerb/ogre/OgreStringVector.i +20 -0
  35. data/vendor/ogrerb/ogre/OgreSubMesh.i +4 -0
  36. data/vendor/ogrerb/ogre/OgreTextureUnitState.i +3 -0
  37. data/vendor/ogrerb/ogre/OgreVector4.i +4 -0
  38. data/vendor/ogrerb/ogre/ogre_rb.i +26 -18
  39. data/vendor/ogrerb/ogre.rb +5 -3
  40. data/vendor/ogrerb/samples/bsp.rb +2 -0
  41. data/vendor/ogrerb/samples/cel_shading.rb +85 -0
  42. data/vendor/ogrerb/samples/grass.rb +325 -0
  43. data/vendor/ogrerb/samples/lighting.rb +2 -0
  44. data/vendor/ogrerb/samples/media/materials/programs/CelShading.cg +63 -0
  45. data/vendor/ogrerb/samples/media/materials/programs/Grass.cg +30 -0
  46. data/vendor/ogrerb/samples/media/materials/programs/OffsetMapping.cg +97 -0
  47. data/vendor/ogrerb/samples/media/materials/programs/OffsetMapping.hlsl +135 -0
  48. data/vendor/ogrerb/samples/media/materials/programs/OffsetMappingFp.glsl +69 -0
  49. data/vendor/ogrerb/samples/media/materials/programs/OffsetMappingVp.glsl +54 -0
  50. data/vendor/ogrerb/samples/media/materials/programs/OffsetMapping_specular.asm +44 -0
  51. data/vendor/ogrerb/samples/media/materials/scripts/CelShading.material +68 -0
  52. data/vendor/ogrerb/samples/media/materials/scripts/CubeMapping.material +34 -0
  53. data/vendor/ogrerb/samples/media/materials/scripts/Grass.material +63 -0
  54. data/vendor/ogrerb/samples/media/materials/scripts/Offset.material +124 -0
  55. data/vendor/ogrerb/samples/media/materials/scripts/RZR-002.material +15 -0
  56. data/vendor/ogrerb/samples/media/materials/textures/RZR-002.png +0 -0
  57. data/vendor/ogrerb/samples/media/materials/textures/cel_shading_diffuse.png +0 -0
  58. data/vendor/ogrerb/samples/media/materials/textures/cel_shading_edge.png +0 -0
  59. data/vendor/ogrerb/samples/media/materials/textures/cel_shading_specular.png +0 -0
  60. data/vendor/ogrerb/samples/media/materials/textures/gras_02.png +0 -0
  61. data/vendor/ogrerb/samples/media/materials/textures/grass_1024.jpg +0 -0
  62. data/vendor/ogrerb/samples/media/materials/textures/rockwall.tga +0 -0
  63. data/vendor/ogrerb/samples/media/materials/textures/rockwall_NH.tga +0 -0
  64. data/vendor/ogrerb/samples/media/models/RZR-002.mesh +0 -0
  65. data/vendor/ogrerb/samples/media/models/geosphere4500.mesh +0 -0
  66. data/vendor/ogrerb/samples/media/models/geosphere8000.mesh +0 -0
  67. data/vendor/ogrerb/samples/media/models/sphere.mesh +0 -0
  68. data/vendor/ogrerb/samples/media/overlays/CubeMapping.overlay +139 -0
  69. data/vendor/ogrerb/samples/media.cfg +22 -0
  70. data/vendor/ogrerb/samples/plugins.cfg +1 -0
  71. data/vendor/ogrerb/samples/render_to_texture.rb +2 -0
  72. data/vendor/ogrerb/samples/resources.cfg +2 -0
  73. data/vendor/ogrerb/samples/sky_box.rb +2 -0
  74. data/vendor/ogrerb/samples/sky_dome.rb +2 -0
  75. data/vendor/ogrerb/samples/sky_plane.rb +3 -0
  76. data/vendor/ogrerb/samples/smoke.rb +2 -0
  77. data/vendor/ogrerb/samples/work/cube_mapping.rb +686 -0
  78. data/vendor/ogrerb/src_headers/wrappers/IndexBufferProxy.h +49 -0
  79. data/vendor/ogrerb/src_headers/wrappers/StaticGeometryProxies.h +867 -0
  80. data/vendor/ogrerb/src_headers/wrappers/VertexBufferProxy.h +245 -0
  81. data/vendor/ogrerb/website/index.html +9 -0
  82. metadata +54 -6
@@ -0,0 +1,69 @@
1
+ uniform vec4 lightDiffuse;
2
+ uniform vec4 scaleBias;
3
+ uniform vec4 spotParams;
4
+ uniform vec4 lightDiffuse1;
5
+ uniform vec4 spotParams1;
6
+
7
+ uniform sampler2D normalHeightMap;
8
+ uniform sampler2D diffuseMap;
9
+ uniform sampler2D shadowMap1;
10
+ uniform sampler2D shadowMap2;
11
+
12
+
13
+
14
+ varying vec3 tangentEyeDir;
15
+ varying vec3 tangentLightDir[2];
16
+ varying vec3 tangentSpotDir[2];
17
+ varying vec4 shadowUV[2];
18
+
19
+
20
+ // Expand a range-compressed vector
21
+ vec3 expand(vec3 v)
22
+ {
23
+ return (v - 0.5) * 2.0;
24
+ }
25
+
26
+
27
+ void main()
28
+ {
29
+ // get the height using the tex coords
30
+ float height = texture2D(normalHeightMap, gl_TexCoord[0].xy).a;
31
+ // scale and bias factors
32
+ float scale = scaleBias.x;
33
+ float bias = scaleBias.y;
34
+
35
+ // calculate displacement
36
+ float displacement = (height * scale) + bias;
37
+ //float displacement = (height * 0.04) - 0.02;
38
+
39
+ vec3 scaledEyeDir = tangentEyeDir * displacement;
40
+
41
+ // calculate the new tex coord to use for normal and diffuse
42
+ vec2 newTexCoord = (scaledEyeDir + gl_TexCoord[0].xyz).xy;
43
+
44
+ // get the new normal and diffuse values
45
+ vec3 normal = expand(texture2D(normalHeightMap, newTexCoord).xyz);
46
+ vec4 diffuse = texture2D(diffuseMap, newTexCoord);
47
+
48
+ vec4 col1 = diffuse * clamp(dot(normal, tangentLightDir[0]),0.0,1.0) * lightDiffuse;
49
+ // factor in spotlight angle
50
+ float rho = clamp(dot(tangentSpotDir[0], tangentLightDir[0]),0.0,1.0);
51
+ // factor = (rho - cos(outer/2) / cos(inner/2) - cos(outer/2)) ^ falloff
52
+ float spotFactor = pow(
53
+ clamp(rho - spotParams.y,0.0,1.0) / (spotParams.x - spotParams.y), spotParams.z);
54
+ col1 = col1 * spotFactor;
55
+ vec4 col2 = diffuse * clamp(dot(normal, tangentLightDir[1]),0.0,1.0) * lightDiffuse1;
56
+ // factor in spotlight angle
57
+ rho = clamp(dot(tangentSpotDir[1], tangentLightDir[1]),0.0,1.0);
58
+ // factor = (rho - cos(outer/2) / cos(inner/2) - cos(outer/2)) ^ falloff
59
+ spotFactor = pow(
60
+ clamp(rho - spotParams1.y,0.0,1.0) / (spotParams1.x - spotParams1.y), spotParams1.z);
61
+ col2 = col2 * spotFactor;
62
+
63
+ // shadow textures
64
+ col1 = col1 * texture2DProj(shadowMap1, shadowUV[0]);
65
+ col2 = col2 * texture2DProj(shadowMap2, shadowUV[1]);
66
+
67
+ gl_FragColor = col1 + col2;
68
+
69
+ }
@@ -0,0 +1,54 @@
1
+ attribute vec3 tangent;
2
+
3
+ uniform vec4 lightPosition; // object space
4
+ uniform vec4 lightPosition1; // object space
5
+ uniform vec4 eyePosition; // object space
6
+ uniform vec4 spotDirection; // object space
7
+ uniform vec4 spotDirection1; // object space
8
+ uniform mat4 worldViewProj; // not actually used but here for compat with HLSL
9
+ uniform mat4 worldMatrix;
10
+ uniform mat4 texViewProj1;
11
+ uniform mat4 texViewProj2;
12
+
13
+
14
+ varying vec3 tangentEyeDir;
15
+ varying vec3 tangentLightDir[2];
16
+ varying vec3 tangentSpotDir[2];
17
+ varying vec4 shadowUV[2];
18
+
19
+ void main()
20
+ {
21
+ gl_Position = ftransform();
22
+
23
+ vec4 worldPos = worldMatrix * gl_Vertex;
24
+
25
+ shadowUV[0] = texViewProj1 * worldPos;
26
+ shadowUV[1] = texViewProj2 * worldPos;
27
+
28
+ // pass the main uvs straight through unchanged
29
+ gl_TexCoord[0] = gl_MultiTexCoord0;
30
+
31
+ // calculate tangent space light vector
32
+ // Get object space light direction
33
+ vec3 lightDir = normalize(lightPosition.xyz - (gl_Vertex.xyz * lightPosition.w));
34
+ vec3 lightDir1 = normalize(lightPosition1.xyz - (gl_Vertex.xyz * lightPosition1.w));
35
+
36
+ vec3 eyeDir = (eyePosition - gl_Vertex).xyz;
37
+
38
+ // Calculate the binormal (NB we assume both normal and tangent are
39
+ // already normalised)
40
+ vec3 binormal = cross(gl_Normal, tangent);
41
+
42
+ // Form a rotation matrix out of the vectors
43
+ mat3 rotation = mat3(tangent, binormal, gl_Normal);
44
+
45
+ // Transform the light vector according to this matrix
46
+ tangentLightDir[0] = normalize(rotation * lightDir);
47
+ tangentLightDir[1] = normalize(rotation * lightDir1);
48
+ // Invert the Y on the eye dir since we'll be using this to alter UVs and
49
+ // GL has Y inverted
50
+ tangentEyeDir = normalize(rotation * eyeDir) * vec3(1, -1, 1);
51
+
52
+ tangentSpotDir[0] = normalize(rotation * -spotDirection.xyz);
53
+ tangentSpotDir[1] = normalize(rotation * -spotDirection1.xyz);
54
+ }
@@ -0,0 +1,44 @@
1
+ // Pixel Shader for doing bump mapping with parallax plus diffuse and specular lighting by nfz
2
+
3
+ // uv TEXCOORD0
4
+ // lightDir TEXCOORD1
5
+ // eyeDir TEXCOORD2
6
+ // half TEXCOORD3
7
+
8
+ // lightDiffuse c0
9
+ // lightSpecular c1
10
+ // Parallax scale and bias c2
11
+ // normal/height map texunit 0 - height map in alpha channel
12
+ // diffuse texture texunit 1
13
+
14
+ ps.1.4
15
+
16
+
17
+ texld r0, t0 // get height
18
+ texcrd r2.xyz, t0 // get uv coordinates
19
+ texcrd r3.xyz, t2 // get eyedir vector
20
+
21
+
22
+ mad r0.xyz, r0.a, c2.x, c2.y // displacement = height * scale + bias
23
+ mad r2.xyz, r3, r0, r2 // newtexcoord = eyedir * displacement + uv
24
+
25
+ phase
26
+
27
+ texld r0, r2.xyz // get normal N using newtexcoord
28
+ texld r1, r2.xyz // get diffuse texture using newtexcoord
29
+ texcrd r4.xyz, t1 // get lightdir vector
30
+ texcrd r5.xyz, t3 // get half angle vector
31
+
32
+ dp3_sat r5.rgb, r0_bx2, r5 // N dot H - spec calc
33
+ dp3_sat r4.rgb, r0_bx2, r4 // N dot L - diffuse calc
34
+ + mul r5.a, r5.r, r5.r
35
+ mul r0.rgb, r4, r1 // colour = diffusetex * N dot L
36
+ + mul r5.a, r5.a, r5.a
37
+
38
+ mul r5.rgb, r5.a, r5.a
39
+ mul r5.rgb, r5, r5
40
+ mul r5.rgb, r5, r5
41
+ mul r5.rgb, r5, c1 // specular = (N dot H)^32 * specularlight
42
+
43
+ mad r0.rgb, r0, c0, r5 // colour = diffusetex * (N dot L)* diffuselight + specular
44
+ + mov r0.a, c2.b
@@ -0,0 +1,68 @@
1
+ // -------------------------------
2
+ // Cel Shading Section
3
+ // -------------------------------
4
+ vertex_program Ogre/CelShadingVP cg
5
+ {
6
+ source CelShading.cg
7
+ entry_point main_vp
8
+ profiles vs_1_1 arbvp1
9
+
10
+ default_params
11
+ {
12
+ param_named_auto lightPosition light_position_object_space 0
13
+ param_named_auto eyePosition camera_position_object_space
14
+ param_named_auto worldViewProj worldviewproj_matrix
15
+ param_named shininess float 10
16
+ }
17
+ }
18
+
19
+ fragment_program Ogre/CelShadingFP cg
20
+ {
21
+ source CelShading.cg
22
+ entry_point main_fp
23
+ profiles ps_1_1 arbfp1 fp20
24
+ }
25
+
26
+
27
+ material CelShading
28
+ {
29
+ technique
30
+ {
31
+ pass
32
+ {
33
+ vertex_program_ref Ogre/CelShadingVP
34
+ {
35
+ // map shininess from custom renderable param 1
36
+ param_named_auto shininess custom 1
37
+ }
38
+ fragment_program_ref Ogre/CelShadingFP
39
+ {
40
+ // map diffuse from custom renderable param 2
41
+ param_named_auto diffuse custom 2
42
+ // map specular from custom renderable param 2
43
+ param_named_auto specular custom 3
44
+ }
45
+ texture_unit
46
+ {
47
+ texture cel_shading_diffuse.png 1d
48
+ tex_address_mode clamp
49
+ filtering none
50
+ }
51
+ texture_unit
52
+ {
53
+ texture cel_shading_specular.png 1d
54
+ tex_address_mode clamp
55
+ filtering none
56
+ tex_coord_set 1
57
+ }
58
+ texture_unit
59
+ {
60
+ texture cel_shading_edge.png 1d
61
+ tex_address_mode clamp
62
+ filtering none
63
+ tex_coord_set 2
64
+ }
65
+ }
66
+ }
67
+
68
+ }
@@ -0,0 +1,34 @@
1
+ material SceneSkyBox2
2
+ {
3
+ technique
4
+ {
5
+ pass
6
+ {
7
+ lighting off
8
+ depth_write off
9
+
10
+ texture_unit
11
+ {
12
+ cubic_texture cubescene_fr.jpg cubescene_bk.jpg cubescene_lf.jpg cubescene_rt.jpg cubescene_up.jpg cubescene_dn.jpg separateUV
13
+ tex_address_mode clamp
14
+ }
15
+ }
16
+ }
17
+ }
18
+ material SceneCubeMap2
19
+ {
20
+ technique
21
+ {
22
+ pass
23
+ {
24
+ lighting off
25
+
26
+ texture_unit
27
+ {
28
+ cubic_texture cubescene.jpg combinedUVW
29
+ tex_address_mode clamp
30
+ env_map cubic_reflection
31
+ }
32
+ }
33
+ }
34
+ }
@@ -0,0 +1,63 @@
1
+ material GrassFloor
2
+ {
3
+ technique
4
+ {
5
+ pass
6
+ {
7
+ texture_unit
8
+ {
9
+ texture grass_1024.jpg
10
+ }
11
+ }
12
+ }
13
+ }
14
+
15
+ vertex_program GrassWaverVp cg
16
+ {
17
+ source Grass.cg
18
+ entry_point grass_vp
19
+ profiles vs_1_1 arbvp1
20
+ }
21
+
22
+ material GrassBlades
23
+ {
24
+ // Vertex program waving grass
25
+ technique
26
+ {
27
+ pass
28
+ {
29
+ vertex_program_ref GrassWaverVp
30
+ {
31
+ param_named_auto worldViewProj worldviewproj_matrix
32
+ param_named_auto ambient ambient_light_colour
33
+ param_named_auto objSpaceLight light_position_object_space 0
34
+ param_named_auto lightColour light_diffuse_colour 0
35
+ param_named_auto offset custom 999
36
+ }
37
+ alpha_rejection greater 150
38
+ scene_blend alpha_blend
39
+ cull_hardware none
40
+ cull_software none
41
+ texture_unit
42
+ {
43
+ texture gras_02.png
44
+ }
45
+ }
46
+ }
47
+
48
+ // Non-vertex program technique (no waving)
49
+ technique
50
+ {
51
+ pass
52
+ {
53
+ alpha_rejection greater 150
54
+ scene_blend alpha_blend
55
+ cull_hardware none
56
+ cull_software none
57
+ texture_unit
58
+ {
59
+ texture gras_02.png
60
+ }
61
+ }
62
+ }
63
+ }
@@ -0,0 +1,124 @@
1
+ // Bump map with Parallax offset vertex program, support for this is required
2
+ vertex_program OffsetMappingVP cg
3
+ {
4
+ source OffsetMapping.cg
5
+ entry_point main_vp
6
+ profiles vs_1_1 arbvp1
7
+ }
8
+
9
+ // Bump map with parallax fragment program
10
+ fragment_program OffsetMappingFP cg
11
+ {
12
+ source OffsetMapping.cg
13
+ entry_point main_fp
14
+ profiles ps_2_0 arbfp1
15
+ }
16
+
17
+ // Bump map with parallax fragment program
18
+ fragment_program OffsetMappingPS asm
19
+ {
20
+ source OffsetMapping_specular.asm
21
+ // sorry, only for ps_1_4 and above:)
22
+ syntax ps_1_4
23
+ }
24
+
25
+ material OffsetMapping/Specular
26
+ {
27
+
28
+ // This is the preferred technique which uses both vertex and
29
+ // fragment programs, supports coloured lights
30
+ technique
31
+ {
32
+ // do the lighting and bump mapping with parallax pass
33
+ pass
34
+ {
35
+
36
+ // Vertex program reference
37
+ vertex_program_ref OffsetMappingVP
38
+ {
39
+ param_named_auto lightPosition light_position_object_space 0
40
+ param_named_auto eyePosition camera_position_object_space
41
+ param_named_auto worldViewProj worldviewproj_matrix
42
+ }
43
+
44
+ // Fragment program
45
+ fragment_program_ref OffsetMappingFP
46
+ {
47
+ param_named_auto lightDiffuse light_diffuse_colour 0
48
+ param_named_auto lightSpecular light_specular_colour 0
49
+ // Parallax Height scale and bias
50
+ param_named scaleBias float4 0.04 -0.02 1 0
51
+ }
52
+
53
+ // Normal + height(alpha) map
54
+ texture_unit
55
+ {
56
+ texture rockwall_NH.tga
57
+ tex_coord_set 0
58
+ }
59
+
60
+ // Base diffuse texture map
61
+ texture_unit
62
+ {
63
+ texture rockwall.tga
64
+ tex_coord_set 1
65
+ }
66
+ }
67
+ }
68
+
69
+
70
+ // This is the preferred technique which uses both vertex and
71
+ // fragment programs, supports coloured lights
72
+ technique
73
+ {
74
+ // do the lighting and bump mapping with parallax pass
75
+ pass
76
+ {
77
+
78
+ // Vertex program reference
79
+ vertex_program_ref OffsetMappingVP
80
+ {
81
+ param_named_auto lightPosition light_position_object_space 0
82
+ param_named_auto eyePosition camera_position_object_space
83
+ param_named_auto worldViewProj worldviewproj_matrix
84
+ }
85
+
86
+ // Fragment program
87
+ fragment_program_ref OffsetMappingPS
88
+ {
89
+ param_indexed_auto 0 light_diffuse_colour 0
90
+ param_indexed_auto 1 light_specular_colour 0
91
+ // Parallax Height scale and bias
92
+ param_indexed 2 float4 0.04 -0.02 1 0
93
+ }
94
+
95
+ // Normal + height(alpha) map
96
+ texture_unit
97
+ {
98
+ texture rockwall_NH.tga
99
+ tex_coord_set 0
100
+ }
101
+
102
+ // Base diffuse texture map
103
+ texture_unit
104
+ {
105
+ texture rockwall.tga
106
+ tex_coord_set 1
107
+ }
108
+ }
109
+ }
110
+
111
+ // Simple no-shader fallback
112
+ technique
113
+ {
114
+ pass
115
+ {
116
+ // Base diffuse texture map
117
+ texture_unit
118
+ {
119
+ texture rockwall.tga
120
+ }
121
+ }
122
+ }
123
+
124
+ }
@@ -0,0 +1,15 @@
1
+
2
+ material RZR-002
3
+ {
4
+ technique
5
+ {
6
+ pass
7
+ {
8
+
9
+ texture_unit
10
+ {
11
+ texture RZR-002.png
12
+ }
13
+ }
14
+ }
15
+ }
@@ -0,0 +1,139 @@
1
+ CubeMappingOverlay
2
+ {
3
+ zorder 500
4
+ // Stats block
5
+ container BorderPanel(Core/CubeMappingPanel)
6
+ {
7
+ metrics_mode pixels
8
+ vert_align top
9
+ left 5
10
+ top 5
11
+ width 250
12
+ height 130
13
+ material Core/StatsBlockCenter
14
+ border_size 1 1 1 1
15
+ border_material Core/StatsBlockBorder
16
+ border_topleft_uv 0.0000 1.0000 0.0039 0.9961
17
+ border_top_uv 0.0039 1.0000 0.9961 0.9961
18
+ border_topright_uv 0.9961 1.0000 1.0000 0.9961
19
+ border_left_uv 0.0000 0.9961 0.0039 0.0039
20
+ border_right_uv 0.9961 0.9961 1.0000 0.0039
21
+ border_bottomleft_uv 0.0000 0.0039 0.0039 0.0000
22
+ border_bottom_uv 0.0039 0.0039 0.9961 0.0000
23
+ border_bottomright_uv 0.9961 0.0039 1.0000 0.0000
24
+
25
+ element TextArea(CubeMapping/Displacement)
26
+ {
27
+ metrics_mode pixels
28
+ left 5
29
+ top 5
30
+ width 90
31
+ height 30
32
+ font_name BlueHighway
33
+ char_height 16
34
+ caption [1/2] Displacement:
35
+ colour_top 0.5 0.7 0.5
36
+ colour_bottom 0.3 0.5 0.3
37
+ }
38
+
39
+ element TextArea(CubeMapping/Density)
40
+ {
41
+ metrics_mode pixels
42
+ left 5
43
+ top 20
44
+ width 90
45
+ height 30
46
+ font_name BlueHighway
47
+ char_height 16
48
+ caption [3/4] Noise density:
49
+ colour_top 0.5 0.7 0.5
50
+ colour_bottom 0.3 0.5 0.3
51
+ }
52
+
53
+ element TextArea(CubeMapping/TimeDensity)
54
+ {
55
+ metrics_mode pixels
56
+ left 5
57
+ top 35
58
+ width 90
59
+ height 30
60
+ font_name BlueHighway
61
+ char_height 16
62
+ caption [5/6] Time density:
63
+ colour_top 0.5 0.7 0.5
64
+ colour_bottom 0.3 0.5 0.3
65
+ }
66
+
67
+
68
+ element TextArea(CubeMapping/Noise)
69
+ {
70
+ metrics_mode pixels
71
+ left 5
72
+ top 50
73
+ width 90
74
+ height 30
75
+ font_name BlueHighway
76
+ char_height 16
77
+ caption [N] Noise: _not_set_
78
+ colour_top 0.5 0.7 0.5
79
+ colour_bottom 0.3 0.5 0.3
80
+ }
81
+
82
+ element TextArea(CubeMapping/Material)
83
+ {
84
+ metrics_mode pixels
85
+ left 5
86
+ top 65
87
+ width 90
88
+ height 30
89
+ font_name BlueHighway
90
+ char_height 16
91
+ caption [M] Material: *UNIMPLEMENTED*
92
+ colour_top 0.5 0.7 0.5
93
+ colour_bottom 0.3 0.5 0.3
94
+ }
95
+
96
+ element TextArea(CubeMapping/Object)
97
+ {
98
+ metrics_mode pixels
99
+ left 5
100
+ top 80
101
+ width 90
102
+ height 30
103
+ font_name BlueHighway
104
+ char_height 16
105
+ caption [O] Object:
106
+ colour_top 0.5 0.7 0.5
107
+ colour_bottom 0.3 0.5 0.3
108
+ }
109
+
110
+ element TextArea(CubeMapping/CubeMap)
111
+ {
112
+ metrics_mode pixels
113
+ left 5
114
+ top 95
115
+ width 90
116
+ height 30
117
+ font_name BlueHighway
118
+ char_height 16
119
+ caption [C] CubeMap:
120
+ colour_top 0.5 0.7 0.5
121
+ colour_bottom 0.3 0.5 0.3
122
+ }
123
+
124
+ element TextArea(CubeMapping/Random)
125
+ {
126
+ metrics_mode pixels
127
+ left 5
128
+ top 110
129
+ width 90
130
+ height 30
131
+ font_name BlueHighway
132
+ char_height 16
133
+ caption [SPACE] Go random!
134
+ colour_top 0.5 0.7 0.5
135
+ colour_bottom 0.3 0.5 0.3
136
+ }
137
+
138
+ }
139
+ }
@@ -0,0 +1,22 @@
1
+ Mesh=ogrehead.mesh
2
+ # missing material
3
+ #Mesh=geosphere4500.mesh
4
+ # works but crashes (seg fault)
5
+ Mesh=razor.mesh
6
+ # works but crashes (seg fault)
7
+ Mesh=knot.mesh
8
+ # works but crashes (seg fault)
9
+ Mesh=RZR-002.mesh
10
+ # missing material
11
+ #Mesh=geosphere8000.mesh
12
+
13
+ Mesh=sphere.mesh
14
+
15
+ CubeMap=cubescene.jpg
16
+ CubeMap=early_morning.jpg
17
+ CubeMap=cubemap.jpg
18
+ CubeMap=morning.jpg
19
+ CubeMap=cloudy_noon.jpg
20
+ CubeMap=evening.jpg
21
+ CubeMap=stormy.jpg
22
+ CubeMap=stevecube.jpg
@@ -9,3 +9,4 @@ Plugin=RenderSystem_Direct3D9
9
9
  Plugin=Plugin_OctreeSceneManager
10
10
  Plugin=Plugin_ParticleFX
11
11
  Plugin=Plugin_BSPSceneManager
12
+ Plugin=Plugin_CgProgramManager
@@ -1,5 +1,7 @@
1
1
  #!/usr/bin/ruby -w
2
2
 
3
+ $: << File.dirname(__FILE__) + "/.."
4
+ require 'ogre'
3
5
  require 'application'
4
6
  include Ogre
5
7
 
@@ -6,8 +6,10 @@ FileSystem=./media/
6
6
  FileSystem=./media/materials
7
7
  FileSystem=./media/materials/textures
8
8
  FileSystem=./media/materials/scripts
9
+ FileSystem=./media/materials/programs
9
10
  FileSystem=./media/models
10
11
  FileSystem=./media/particles
12
+ FileSystem=./media/overlays
11
13
  Zip=./media/packs/skybox.zip
12
14
  Zip=./media/packs/dragon.zip
13
15
  Zip=./media/packs/cubemap.zip