Compare commits

...

15 Commits

Author SHA1 Message Date
248d5c2efe Some changes 2018-07-13 22:59:13 +05:00
bfdbf06328 Fixing some stuff 2018-06-18 01:13:04 +05:00
0ce48eaf8f Fix fragment shader 2018-05-31 20:10:02 +05:00
24fd919de3 Coloring 2018-05-31 19:47:36 +05:00
c5b64370cc Minor improvements 2018-05-31 19:03:33 +05:00
bdef3aca47 Cleanup 2018-05-31 15:33:57 +05:00
c613d00511 Simple Shading 2018-05-30 20:36:00 +05:00
46b7b28b2b Threads 2018-05-30 18:09:27 +05:00
3f2572eaa5 Change height map and normal map 2018-01-22 01:00:58 +03:00
86f0ad59bb Change height map and normal map 2018-01-22 00:37:11 +03:00
13f3e3ee9b Added heightmap/normalmap for fibers 2018-01-19 19:23:11 +05:00
95207620f6 Trying to imitate fabric seam 2018-01-18 20:29:21 +05:00
915c031f52 Working with parallax test 2017-12-11 12:30:51 +03:00
f2e238ed5e Making antialiasing test 2017-12-04 14:14:14 +03:00
Vladislav Khorev Dev
ed4a0178da SSAA 4X demo 2017-12-02 15:25:02 +05:00
98 changed files with 39877 additions and 1042 deletions

BIN
assets/5f.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

BIN
assets/6f.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

BIN
assets/7f.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

BIN
assets/HeightMap.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 696 KiB

BIN
assets/NormalMap.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

19
assets/SSAA_4X.frag Executable file
View File

@ -0,0 +1,19 @@
precision mediump float;
uniform sampler2D Texture;
uniform vec2 samplesOffset[4];
varying vec2 texCoord;
void main()
{
vec3 color = vec3(0, 0, 0);
for (int i = 0; i < 4; ++i)
{
color += texture2D(Texture, texCoord + samplesOffset[i]).rgb;
}
color /= 4;
//gl_FragColor = vec4(texture2D(Texture, texCoord ), 1.0);
gl_FragColor = vec4(color, 1.0);
}

11
assets/SSAA_4X.vertex Executable file
View File

@ -0,0 +1,11 @@
attribute vec3 vPosition;
attribute vec2 vTexCoord;
varying vec2 texCoord;
uniform mat4 ProjectionMatrix;
void main()
{
gl_Position = ProjectionMatrix * vec4(vPosition.xyz, 1.0);
texCoord = vTexCoord;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

BIN
assets/background.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 962 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 759 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1022 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 564 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

7
assets/color_fragment.txt Executable file
View File

@ -0,0 +1,7 @@
precision mediump float;
varying vec4 color;
void main()
{
gl_FragColor = color;
}

11
assets/color_vertex.txt Executable file
View File

@ -0,0 +1,11 @@
attribute vec3 vPosition;
attribute vec4 vColor;
varying vec4 color;
uniform mat4 ProjectionMatrix;
void main()
{
gl_Position = ProjectionMatrix * vec4(vPosition.xyz, 1.0);
color = vColor;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

View File

@ -1,33 +0,0 @@
0, 255, 255, 255
0, 0, 0, 255
255, 0, 0, 255
255, 40, 40, 255
255, 128, 128, 255
Colormap
111111111111
111111111111
111111111111
222222222222
222222222222
222222222222
222222222222
333333333333
333333333333
333333333333
000000000000
000000000000
000000000000
Brickmap
111111111111
111111111111
111111111111
000000000000
111111111111
111111111111
000000000000
111111111111
111111111111
000000000000
000000000000
000000000000
000000000000

View File

@ -1,32 +0,0 @@
0, 255, 255, 255
0, 0, 0, 255
255, 0, 190, 255
255, 0, 255, 255
Colormap
002222222200
002222222200
000222222000
000022220000
111002200111
111100001111
011110011110
001111111100
000111111000
000011110000
000001100000
000000000000
000000000000
Brickmap
002111111200
002211112200
000221122000
000022220000
111002200111
221100001122
022110011220
002211112200
000221122000
000022220000
000002200000
000000000000
000000000000

View File

@ -1,33 +0,0 @@
255, 255, 255, 255
0, 0, 0, 255
0, 237, 255, 255
0, 144, 255, 255
0, 59, 255, 255
Colormap
333333333333
333333333333
333333333333
000000000000
222220022222
222220022222
222220022222
000000000000
111110011111
111110011111
111110011111
000000000000
000000000000
Brickmap
111111111111
111111111111
222222222222
000000000000
111110011111
111110011111
222220022222
000000000000
111110011111
111110011111
333330033333
000000000000
000000000000

View File

@ -1,32 +0,0 @@
255, 128, 128, 255
0, 0, 0, 255
159, 240, 255, 255
0, 148, 255, 255
Colormap
111111111111
222222222222
111111111111
222222222222
111111111111
222222222222
111111111111
222222222222
111111111111
222222222222
111111111111
222222222222
111111111111
Brickmap
000311113000
000311113000
333311113333
111111111111
111111111111
222221122222
333321123333
000321123000
000321123000
000322223000
000333333000
000000000000
000000000000

Binary file not shown.

View File

@ -1,32 +0,0 @@
255, 0, 0, 255
0, 0, 0, 255
0, 255, 255, 255
7, 255, 189, 255
Colormap
111111111111
222222222222
111111111111
222222222222
111111111111
222222222222
111111111111
222222222222
111111111111
222222222222
111111111111
222222222222
000000000000
Brickmap
111011110111
111011110111
222022220222
000000000000
111011110111
222022220222
000000000000
111000000111
222000000222
000000000000
222222222222
000000000000
000000000000

View File

@ -1,33 +0,0 @@
0, 255, 255, 255
0, 0, 0, 255
0, 151, 113, 255
7, 255, 189, 255
128, 143, 128, 255
Colormap
000000000000
033333333330
031111111130
031111111130
033333333330
000000000000
033330033330
032230032230
032230032230
033330033330
000000000000
000000000000
000000000000
Brickmap
000000000000
022222222220
021111111120
021111111120
022222222220
000000000000
022220022220
021120021120
021120021120
022220022220
000000000000
000000000000
000000000000

View File

@ -1,33 +0,0 @@
255, 0, 0, 255
0, 0, 0, 255
101, 97, 255, 255
5, 186, 255, 255
105, 201, 255, 255
Colormap
000000333333
000003333333
000033311111
333333133333
333331333333
333313333333
111133311111
333333100000
333331000000
333310000000
111100000000
000000000000
000000000000
Brickmap
000000111111
000001111111
000011133333
111111311111
111113111111
111131111111
333311133333
111111300000
111113000000
111130000000
333300000000
000000000000
000000000000

View File

@ -1,32 +0,0 @@
255, 0, 255, 255
0, 0, 0, 255
163, 255, 198, 255
0, 255, 182, 255
Colormap
000022220000
000222222000
000022220000
111000000111
111100001111
111110011111
111111111111
111111111111
111111111111
111111111111
000000000000
000000000000
000000000000
Brickmap
000033330000
000311113000
000033330000
111000000111
111100001111
111110011111
111111111111
111111111111
111111111111
222222222222
000000000000
000000000000
000000000000

View File

@ -1,33 +0,0 @@
255, 255, 255, 255
0, 0, 0, 255
255, 200, 5, 255
255, 153, 0, 255
255, 97, 0, 255
Colormap
000000000000
000333000333
000333000333
000333000333
222000222000
222000222000
222000222000
000111000111
000111000111
000111000111
000000000000
000000000000
000000000000
Brickmap
000000000000
000222000222
000212000212
000222000222
222000222000
212000212000
222000222000
000222000222
000212000212
000222000222
000000000000
000000000000
000000000000

View File

@ -1,33 +0,0 @@
255, 255, 0, 255
0, 0, 0, 255
230, 230, 230, 255
195, 195, 195, 255
150, 150, 150, 255
Colormap
333333333333
030030030030
030030030030
030030030030
222222222222
020020020020
020020020020
010010010010
010010010010
020020020020
000000000000
000000000000
000000000000
Brickmap
111111111111
010010010010
010010010010
010010010010
222222222222
010010010010
010010010010
010010010010
010010010010
020020020020
000000000000
000000000000
000000000000

View File

@ -1,32 +0,0 @@
0, 255, 255, 255
0, 0, 0, 255
217, 56, 62, 255
132, 56, 62, 255
Colormap
111111111111
111111111111
222211112222
000211112000
000211112000
022211112220
021111111120
021111111120
021111111120
022222222220
000000000000
000000000000
000000000000
Brickmap
111111111111
111111111111
222211112222
000211112000
000211112000
022211112220
021111111120
021111111120
021111111120
033333333330
000000000000
000000000000
000000000000

View File

@ -1,32 +0,0 @@
0, 255, 0, 255
0, 0, 0, 255
255, 221, 0, 255
255, 0, 0, 255
Colormap
222220022222
222220022222
222220022222
222220022222
000000000000
111111111111
111111111111
000000000000
111111111111
111111111111
000000000000
000000000000
000000000000
Brickmap
111110011111
111110011111
111110011111
222220022222
000000000000
111111111111
333333333333
000000000000
111111111111
222222222222
000000000000
000000000000
000000000000

Binary file not shown.

Before

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 155 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 147 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 152 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 134 KiB

7
assets/lines.json Executable file
View File

@ -0,0 +1,7 @@
{
"lines": [
{"start": [-500, -500], "end": [500, -500], "color": [0.3, 0.3, 0.0]},
{"start": [500, -500], "end": [500, 500], "color": [0.0, 0.3, 0.15]},
{"start": [500, 500], "end": [-500, -500], "color": [0.25, 0, 0.4]}
]
}

12270
assets/lines100500 div 2.json Executable file

File diff suppressed because it is too large Load Diff

26587
assets/lines100500.json Executable file

File diff suppressed because it is too large Load Diff

BIN
assets/linesAll.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 217 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 177 KiB

BIN
assets/owl-green-height.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

BIN
assets/owl-green-normal.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 MiB

BIN
assets/owl-green.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 819 KiB

68
assets/parallax_fragment.txt Executable file
View File

@ -0,0 +1,68 @@
precision mediump float;
uniform sampler2D Texture;
uniform sampler2D NormalMap;
uniform sampler2D HeightMap;
precision highp float;
varying vec2 frag_uv;
varying vec3 ts_light_pos;
varying vec3 ts_view_pos;
varying vec3 ts_frag_pos;
const float num_layers = 16.0;
const float depth_scale = 0.01;
vec2 parallax_uv(vec2 uv, vec3 view_dir)
{
float layer_depth = 1.0 / num_layers;
float cur_layer_depth = 0.0;
vec2 delta_uv = view_dir.xy * depth_scale / (view_dir.z * num_layers);
vec2 cur_uv = uv;
float depth_from_tex = texture2D(HeightMap, cur_uv).r;
for (int i = 0; i < 32; i++) {
cur_layer_depth += layer_depth;
cur_uv -= delta_uv;
depth_from_tex = texture2D(HeightMap, cur_uv).r;
if (depth_from_tex < cur_layer_depth) {
break;
}
}
// Parallax occlusion mapping
vec2 prev_uv = cur_uv + delta_uv;
float next = depth_from_tex - cur_layer_depth;
float prev = texture2D(HeightMap, prev_uv).r - cur_layer_depth
+ layer_depth;
float weight = next / (next - prev);
return mix(cur_uv, prev_uv, weight);
}
void main(void)
{
vec3 light_dir = normalize(ts_light_pos - ts_frag_pos);
vec3 view_dir = normalize(ts_view_pos - ts_frag_pos);
// Only perturb the texture coordinates if a parallax technique is selected
vec2 uv = parallax_uv(frag_uv, view_dir);
//vec2 uv = frag_uv;
vec3 albedo = texture2D(Texture, uv).rgb;
vec3 ambient = 0.3 * albedo;
// Normal mapping
vec3 norm = normalize(texture2D(NormalMap, uv).rgb * 2.0 - 1.0);
float diffuse = max(dot(light_dir, norm), 0.0);
gl_FragColor = vec4(diffuse * albedo + ambient, 1.0);
}

60
assets/parallax_vertex.txt Executable file
View File

@ -0,0 +1,60 @@
attribute vec3 vPosition;
attribute vec2 vTexCoord;
uniform vec3 eye;
uniform mat4 ModelViewMatrix;
uniform mat3 NormalMatrix;
uniform mat4 ProjectionMatrix1;
uniform mat3 ModelViewMatrix3x3;
varying vec2 frag_uv;
varying vec3 ts_light_pos; // Tangent space values
varying vec3 ts_view_pos; //
varying vec3 ts_frag_pos; //
mat3 transpose(in mat3 inMatrix)
{
vec3 i0 = inMatrix[0];
vec3 i1 = inMatrix[1];
vec3 i2 = inMatrix[2];
mat3 outMatrix = mat3(
vec3(i0.x, i1.x, i2.x),
vec3(i0.y, i1.y, i2.y),
vec3(i0.z, i1.z, i2.z)
);
return outMatrix;
}
void main()
{
vec3 vert_norm = vec3(0, 1, 0);
vec3 vert_tang = vec3(1, 0, 0);
vec3 vert_bitang = vec3(0, 0, 1);
mat4 mvp = ProjectionMatrix1 * ModelViewMatrix;
gl_Position = mvp * vec4(vPosition.xyz, 1.0);
ts_frag_pos = vec3(ModelViewMatrix * vec4(vPosition.xyz, 1.0));
vec3 t = normalize((NormalMatrix) * vert_tang);
vec3 b = normalize((NormalMatrix) * vert_bitang);
vec3 n = normalize((NormalMatrix) * vert_norm);
mat3 tbn = transpose(mat3(t, b, n));
ts_light_pos = tbn * vec3(1,2,0);
//ts_view_pos = tbn * eye;
ts_view_pos = tbn * vec3(0,0,0);
ts_frag_pos = tbn * ts_frag_pos;
frag_uv = vTexCoord;
}

BIN
assets/pimgpsh.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 466 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 480 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 362 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 433 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 370 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 464 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 532 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 611 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 509 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 503 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 553 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 597 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 474 KiB

18
assets/simple_shading.fragment Executable file
View File

@ -0,0 +1,18 @@
precision mediump float;
uniform sampler2D Texture;
uniform float Transparency;
uniform vec4 LightDirection;
varying vec2 texCoord;
varying vec3 fragNormal;
varying vec3 fragColor;
void main() {
vec4 color = vec4((fragColor.rgb * texture2D(Texture, texCoord).rgb), 1.0);
float intensity = clamp(dot(normalize(LightDirection.xyz), -normalize(fragNormal)), 0, 1);
gl_FragColor = vec4(color.rgb * intensity + vec3(0.2, 0.2, 0.2), color.a * Transparency);
//gl_FragColor = vec4((fragNormal.rgb + vec3(1.0, 1.0, 1.0))*0.5, 1.0);
}

17
assets/simple_shading.vertex Executable file
View File

@ -0,0 +1,17 @@
attribute vec3 vPosition;
attribute vec3 Normal;
attribute vec2 vTexCoord;
attribute vec3 vColor;
uniform mat4 ProjectionMatrix;
varying vec2 texCoord;
varying vec3 fragNormal;
varying vec3 fragColor;
void main() {
gl_Position = ProjectionMatrix * vec4(vPosition.xyz, 1.0);
texCoord = vTexCoord;
fragNormal = Normal;
fragColor = vColor;
}

View File

@ -0,0 +1,16 @@
precision mediump float;
uniform float Transparency;
uniform vec4 LightDirection;
varying vec3 fragNormal;
varying vec3 fragColor;
void main() {
vec4 color = vec4(fragColor.rgb, 1.0);
float intensity = clamp(dot(normalize(LightDirection.xyz), -normalize(fragNormal)), 0, 1);
gl_FragColor = vec4(color.rgb * intensity + vec3(0.2, 0.2, 0.2), color.a * Transparency);
}

View File

@ -0,0 +1,14 @@
attribute vec3 vPosition;
attribute vec3 Normal;
attribute vec3 vColor;
uniform mat4 ProjectionMatrix;
varying vec3 fragNormal;
varying vec3 fragColor;
void main() {
gl_Position = ProjectionMatrix * vec4(vPosition.xyz, 1.0);
fragNormal = Normal;
fragColor = vColor;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

View File

@ -426,6 +426,8 @@ void TBall::Update(size_t dt)
//===========================================
//===========================================
TRenderPair pair;
TRenderPair rect;
TGameLevel::TGameLevel()
{
@ -446,6 +448,44 @@ TGameLevel::TGameLevel()
BonusFloorPosY = 0.f;
pair.second.Data.Vec3CoordArr[CONST_STRING_POSITION_ATTRIB].push_back(Vector3f(0, 0, 0));
pair.second.Data.Vec3CoordArr[CONST_STRING_POSITION_ATTRIB].push_back(Vector3f(0, 320, 0));
pair.second.Data.Vec3CoordArr[CONST_STRING_POSITION_ATTRIB].push_back(Vector3f(480, 320, 0));
pair.second.Data.Vec3CoordArr[CONST_STRING_POSITION_ATTRIB].push_back(Vector3f(0, 0, 0));
pair.second.Data.Vec3CoordArr[CONST_STRING_POSITION_ATTRIB].push_back(Vector3f(0, 320, 0));
pair.second.Data.Vec3CoordArr[CONST_STRING_POSITION_ATTRIB].push_back(Vector3f(480, 0, 0));
pair.second.Data.Vec4CoordArr[CONST_STRING_COLOR_ATTRIB].push_back(Vector4f(1, 0, 0, 1));
pair.second.Data.Vec4CoordArr[CONST_STRING_COLOR_ATTRIB].push_back(Vector4f(1, 0, 0, 1));
pair.second.Data.Vec4CoordArr[CONST_STRING_COLOR_ATTRIB].push_back(Vector4f(0, 1, 0, 1));
pair.second.Data.Vec4CoordArr[CONST_STRING_COLOR_ATTRIB].push_back(Vector4f(0, 0, 1, 1));
pair.second.Data.Vec4CoordArr[CONST_STRING_COLOR_ATTRIB].push_back(Vector4f(0, 0, 1, 1));
pair.second.Data.Vec4CoordArr[CONST_STRING_COLOR_ATTRIB].push_back(Vector4f(0, 1, 0, 1));
pair.first.ShaderName = "ColorShader";
pair.second.RefreshBuffer();
rect.second.Data.Vec3CoordArr[CONST_STRING_POSITION_ATTRIB].push_back(Vector3f(0, 0, 0));
rect.second.Data.Vec3CoordArr[CONST_STRING_POSITION_ATTRIB].push_back(Vector3f(0, 320, 0));
rect.second.Data.Vec3CoordArr[CONST_STRING_POSITION_ATTRIB].push_back(Vector3f(480, 320, 0));
rect.second.Data.Vec3CoordArr[CONST_STRING_POSITION_ATTRIB].push_back(Vector3f(480, 320, 0));
rect.second.Data.Vec3CoordArr[CONST_STRING_POSITION_ATTRIB].push_back(Vector3f(480, 0, 0));
rect.second.Data.Vec3CoordArr[CONST_STRING_POSITION_ATTRIB].push_back(Vector3f(0, 0, 0));
rect.second.Data.Vec2CoordArr[CONST_STRING_TEXCOORD_ATTRIB].push_back(Vector2f(0, 0));
rect.second.Data.Vec2CoordArr[CONST_STRING_TEXCOORD_ATTRIB].push_back(Vector2f(0, 1));
rect.second.Data.Vec2CoordArr[CONST_STRING_TEXCOORD_ATTRIB].push_back(Vector2f(1, 1));
rect.second.Data.Vec2CoordArr[CONST_STRING_TEXCOORD_ATTRIB].push_back(Vector2f(1, 1));
rect.second.Data.Vec2CoordArr[CONST_STRING_TEXCOORD_ATTRIB].push_back(Vector2f(1, 0));
rect.second.Data.Vec2CoordArr[CONST_STRING_TEXCOORD_ATTRIB].push_back(Vector2f(0, 0));
rect.first.ShaderName = "ColorShader";
rect.second.RefreshBuffer();
}
TGameLevel::~TGameLevel()
@ -735,11 +775,10 @@ void TGameLevel::Draw()
bool mustShowButtons = ((LevelState == CONST_LEVELSTATE_PAUSE) || (LevelState == CONST_LEVELSTATE_GO_TO_PAUSE));
bool pause = (mustShowButtons || (LevelState == CONST_LEVELSTATE_FINISHED));
bool renderBufferReady = RenderBufferReady;
bool pause = true || (mustShowButtons || (LevelState == CONST_LEVELSTATE_FINISHED));
if (pause && renderBufferReady)
{
@ -764,88 +803,95 @@ void TGameLevel::Draw()
Renderer->SwitchToFrameBuffer("LevelBuffer");
Renderer->SetProjectionMatrix(480.f, 320.f);
glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
glClearColor(0.0f, 0.0f, 1.0f, 1.0f);
glClear( GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT);
CheckGlError();
}
glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList[BkgTexture]);
Renderer->DrawRect(Vector2f(0, 0), Vector2f(480.f, 320.f));
// glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList[BkgTexture]);
//Renderer->DrawRect(Vector2f(0, 0), Vector2f(480.f, 320.f));
//
//std::list<TBall>::iterator iBall;
//
//Renderer->PushShader("BrickShader");
//
//
//for (int i=0; i<CONST_BRICKMATRIX_WIDTH; i++)
// {
// for (int j=0; j<CONST_BRICKMATRIX_HEIGHT; j++)
// {
// BlockMatrix[i][j].TryDrawAppear(i,j); //Draws only appearing/disappearing blocks
// }
// }
//
// RenderUniform1f("Transparency", 1.f);
std::list<TBall>::iterator iBall;
// std::list<std::pair<PairColorTexture, TTriangleList>>::iterator colorBlockIterator;
// for (colorBlockIterator = BlockInstansingList.ColorBlockList.begin(); colorBlockIterator != BlockInstansingList.ColorBlockList.end(); ++colorBlockIterator)
// {
// RenderUniform4fv("BrickColor", colorBlockIterator->first.first.data());
// glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList[colorBlockIterator->first.second]);
//
// Renderer->DrawTriangleList(colorBlockIterator->second);
// }
//
// std::list<TBonusFalling>::iterator iBonus;
//
// for (iBonus = BonusFallingList.begin(); iBonus != BonusFallingList.end(); ++iBonus)
// {
// iBonus->Draw();
// }
//
// DrawBallInstancingList();
//
// Renderer->PopShader();
//
//
// glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList[CONST_REFLECTOR_TEXTURE]);
//Renderer->DrawRect(Vector2f(-128.f, -16.f)+ReflectorPos, Vector2f(128.f, 16.f)+ReflectorPos);
//
//
// const Vector2f wallUpPos1(240.f-256.f, 320.f-64.f);
// const Vector2f wallUpPos2(240.f+256.f, 320.f);
//glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList[CONST_WALL_UP_TEXTURE]);
//Renderer->DrawRect(wallUpPos1, wallUpPos2);
//
//const Vector2f wallLeftPos1(0.f, 320.f - 512.f);
//const Vector2f wallLeftPos2(32.f, 320.f);
//glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList[CONST_WALL_LEFT_TEXTURE]);
//Renderer->DrawRect(wallLeftPos1, wallLeftPos2);
//
//const Vector2f wallRightPos1(480.f-32.f, 320.f - 512.f);
//const Vector2f wallRightPos2(480.f, 320.f);
//glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList[CONST_WALL_RIGHT_TEXTURE]);
//Renderer->DrawRect(wallRightPos1, wallRightPos2);
//
Renderer->PushShader("BrickShader");
//if (BonusFloorTimer>0.f)
//{
//
// const Vector2f wallDownPos(240.f, BonusFloorPosY);
//
// glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList[CONST_WALL_BONUS_TEXTURE]);
//
// Renderer->DrawRect(Vector2f(-256.f, -16.f)+wallDownPos, Vector2f(256.f, 16.f)+wallDownPos);
// }
//
//
// if (!pause)
// {
// RenderUniform1f("Transparency", 1.f);
// glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList[CONST_BACK_BTN_TEXTURE]);
// const Vector2f BackBtnPos(240.f, 320.f - 32.f - 20.f);
// Renderer->DrawRect(Vector2f(-128.f, -32.f)+BackBtnPos, Vector2f(128.f, 32.f)+BackBtnPos);
// }
for (int i=0; i<CONST_BRICKMATRIX_WIDTH; i++)
{
for (int j=0; j<CONST_BRICKMATRIX_HEIGHT; j++)
{
BlockMatrix[i][j].TryDrawAppear(i,j); //Draws only appearing/disappearing blocks
}
TRenderParamsSetter params(pair.first);
Renderer->DrawTriangleList(pair.second);
}
RenderUniform1f("Transparency", 1.f);
std::list<std::pair<PairColorTexture, TTriangleList>>::iterator colorBlockIterator;
for (colorBlockIterator = BlockInstansingList.ColorBlockList.begin(); colorBlockIterator != BlockInstansingList.ColorBlockList.end(); ++colorBlockIterator)
{
RenderUniform4fv("BrickColor", colorBlockIterator->first.first.data());
glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList[colorBlockIterator->first.second]);
Renderer->DrawTriangleList(colorBlockIterator->second);
}
std::list<TBonusFalling>::iterator iBonus;
for (iBonus = BonusFallingList.begin(); iBonus != BonusFallingList.end(); ++iBonus)
{
iBonus->Draw();
}
DrawBallInstancingList();
Renderer->PopShader();
glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList[CONST_REFLECTOR_TEXTURE]);
Renderer->DrawRect(Vector2f(-128.f, -16.f)+ReflectorPos, Vector2f(128.f, 16.f)+ReflectorPos);
const Vector2f wallUpPos1(240.f-256.f, 320.f-64.f);
const Vector2f wallUpPos2(240.f+256.f, 320.f);
glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList[CONST_WALL_UP_TEXTURE]);
Renderer->DrawRect(wallUpPos1, wallUpPos2);
const Vector2f wallLeftPos1(0.f, 320.f - 512.f);
const Vector2f wallLeftPos2(32.f, 320.f);
glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList[CONST_WALL_LEFT_TEXTURE]);
Renderer->DrawRect(wallLeftPos1, wallLeftPos2);
const Vector2f wallRightPos1(480.f-32.f, 320.f - 512.f);
const Vector2f wallRightPos2(480.f, 320.f);
glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList[CONST_WALL_RIGHT_TEXTURE]);
Renderer->DrawRect(wallRightPos1, wallRightPos2);
if (BonusFloorTimer>0.f)
{
const Vector2f wallDownPos(240.f, BonusFloorPosY);
glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList[CONST_WALL_BONUS_TEXTURE]);
Renderer->DrawRect(Vector2f(-256.f, -16.f)+wallDownPos, Vector2f(256.f, 16.f)+wallDownPos);
}
if (!pause)
{
RenderUniform1f("Transparency", 1.f);
glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList[CONST_BACK_BTN_TEXTURE]);
const Vector2f BackBtnPos(240.f, 320.f - 32.f - 20.f);
Renderer->DrawRect(Vector2f(-128.f, -32.f)+BackBtnPos, Vector2f(128.f, 32.f)+BackBtnPos);
}
CheckGlError();
if (pause && !renderBufferReady)
{
@ -905,29 +951,37 @@ void TGameLevel::DrawBallInstancingList()
void TGameLevel::DrawBuffer()
{
*SE::Console << "TGameLevel::DrawBuffer";
Renderer->PushShader("FrameShader");
float brightness;
if (CONST_LEVELSTATE_GO_TO_PAUSE)
// Renderer->PushShader("FrameShader");
// float brightness;
// if (CONST_LEVELSTATE_GO_TO_PAUSE)
// {
// brightness = 0.3f + 0.7f * StateTimer / CONST_PAUSE_APPEAR_TIME;
// }
// else
// {
// brightness = 0.3f;
// }
//
// RenderUniform1f("Brightness", brightness);
// glBindTexture(GL_TEXTURE_2D, ResourceManager->FrameManager.GetFrameTexture("LevelBuffer"));
//
////Matrix switched to identity
// //Vector2f RectPos = Vector2f(-1, -1);
// //Vector2f RectSize = Vector2f(2, 2);
//Vector2f RectPos = Vector2f(240.f, 160.f);
//Vector2f RectSize = Vector2f(240.f, 160.f);
// Renderer->DrawRect(RectPos-RectSize, RectPos+RectSize);
// Renderer->PopShader();
{
brightness = 0.3f + 0.7f * StateTimer / CONST_PAUSE_APPEAR_TIME;
TRenderParamsSetter params(rect.first);
glBindTexture(GL_TEXTURE_2D, ResourceManager->FrameManager.GetFrameTexture("LevelBuffer"));
Renderer->DrawTriangleList(rect.second);
}
else
{
brightness = 0.3f;
}
RenderUniform1f("Brightness", brightness);
glBindTexture(GL_TEXTURE_2D,ResourceManager->FrameManager.GetFrameTexture("LevelBuffer"));
//Matrix switched to identity
//Vector2f RectPos = Vector2f(-1, -1);
//Vector2f RectSize = Vector2f(2, 2);
Vector2f RectPos = Vector2f(240.f, 160.f);
Vector2f RectSize = Vector2f(240.f, 160.f);
Renderer->DrawRect(RectPos-RectSize, RectPos+RectSize);
Renderer->PopShader();
CheckGlError();
}

974
game/main_code.cpp Normal file → Executable file

File diff suppressed because it is too large Load Diff

102
game/main_code.h Normal file → Executable file
View File

@ -20,97 +20,25 @@
#include "boost/assign.hpp"
#include "boost/bind.hpp"
#include "boost/property_tree/ptree.hpp"
#include "boost/property_tree/json_parser.hpp"
#include "include/Engine.h"
#include "boost/signals2.hpp"//Signal must be included after asio
#include "gamecode.h"
#include "menucode.h"
#include "creditscode.h"
#include "loadingcode.h"
using namespace SE;
extern boost::signals2::signal<void(Vector2f)> OnTapUpSignal;
extern boost::signals2::signal<void(Vector2f)> OnTapUpAfterMoveSignal;
extern boost::signals2::signal<void(Vector2f)> OnTapDownSignal;
extern boost::signals2::signal<void(Vector2f)> OnFlingSignal;
extern boost::signals2::signal<void(Vector2f)> OnScrollSignal;
extern boost::signals2::signal<void()> OnDrawSignal;
extern const std::string CONST_BLOCK_TEXTURE1;
extern const std::string CONST_BLOCK_TEXTURE2;
extern const std::string CONST_BLOCK_TEXTURE3;
extern const std::string CONST_BONUS_GOTHROUGH_TEXTURE;
extern const std::string CONST_BONUS_MULTIPLIER_TEXTURE;
extern const std::string CONST_BONUS_FLOOR_TEXTURE;
extern const std::string CONST_BALL_TEXTURE;
extern const std::string CONST_BALLGLOW_TEXTURE;
extern const std::string CONST_WALL_LEFT_TEXTURE;
extern const std::string CONST_WALL_RIGHT_TEXTURE;
extern const std::string CONST_WALL_UP_TEXTURE;
extern const std::string CONST_WALL_BONUS_TEXTURE;
extern const std::string CONST_REFLECTOR_TEXTURE;
extern const std::string CONST_BACK_BTN_TEXTURE;
extern const std::string CONST_SLIDE_UP_BTN_TEXTURE;
extern const std::string CONST_TAP_TO_CONTINUE_BTN_TEXTURE;
extern const std::string CONST_BACK_BTN_TEXTURE;
extern const std::string CONST_SLIDE_UP_BTN_TEXTURE;
extern const std::string CONST_TAP_TO_CONTINUE_BTN_TEXTURE;
extern const std::string CONST_LOADING_TEXTURE;
extern const std::string CONST_LOGO_SMALL_TEXTURE;
extern const std::string CONST_LOADING_BACKGROUND_BLACK;
extern const std::string CONST_CREDITS_TEXTURE;
const int CONST_GAMESTATE_LEVEL = 1;
const int CONST_GAMESTATE_MENU = 0;
const int CONST_GAMESTATE_FROM_MENU_TO_LEVEL = 2;
const int CONST_GAMESTATE_FROM_MENU_TO_CREDITS = 3;
const int CONST_GAMESTATE_CREDITS = 4;
const int CONST_GAMESTATE_FROM_CREDITS_TO_MENU = 5;
const int CONST_GAMESTATE_LOADING = 6;
const int CONST_GAMESTATE_PRELOADING = 7;
class TMyApplication : public TApplication
{
protected:
TGameMenu Menu;
TGameLevel GameLevel;
TGameCredits GameCredits;
TGameLoading GameLoading;
int GameState;
float StateTimer;
void TryLoadSavedGame();
void TrySaveGame();
bool Inited;
std::vector<std::pair<std::string, std::string> > TextureNamesToLoad;
void ApplySignalsToMenu();
void DisapplySignalsToMenu();
void ApplySignalsToGame();
void DisapplySignalsToGame();
void ApplySignalsToCredits();
void DisapplySignalsToCredits();
public:
TRenderPair fabricRender;
TRenderPair background;
bool Loaded;
TMyApplication() : TApplication(), Loaded(false), Inited(false) { }
@ -123,20 +51,10 @@ public:
virtual void InnerUpdate(size_t dt);
void GoFromMenuToGame(int level);
void GoFromGameToMenu();
void GoFromMenuToCredits();
void GoFromCreditsToMenu();
void MarkSetGameLevelPause();
void MarkReleaseGameLevelPause();
void OpenNextLevel();
bool IsLoaded();
bool IsInited();
void LoadResources();
virtual void InnerOnTapDown(Vector2f p);
@ -148,6 +66,14 @@ public:
virtual void OnFling(Vector2f v);
virtual void OnMouseWheel(short int delta);
float distance = 2000;
float alpha = 0;
float phi = pi / 6;
};

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@ -22,33 +22,34 @@
<ProjectGuid>{1CC98EEE-BBCB-4D79-B6D7-8511789172C5}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>DoubleHitBallswin</RootNamespace>
<WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>NotSet</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>NotSet</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
@ -116,7 +117,7 @@
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalLibraryDirectories>../../../game;../../../../tes-engine;../../../../eigen;../../../../boost_1_63_0/;../../../../boost_1_63_0/bin.v2/libs/system/build/msvc-14.0/debug/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/date_time/build/msvc-14.0/debug/address-model-64/link-static/threading-multi/;../../../../boost_1_63_0/bin.v2/libs/regex/build/msvc-14.0/debug/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/thread/build/msvc-14.0/debug/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/chrono/build/msvc-14.0/debug/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/signals/build/msvc-14.0/debug/address-model-64/link-static/threading-multi;../../../../libs/boost-gil-extension;../../../../libs/jpeg-9;../../../../libs/jpeg-9/vc10;../../../../libs/lpng1510;../x64/Debug</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>../../../game;../../../../tes-engine;../../../../eigen;../../../../boost_1_63_0/stage/x64/lib;../../../../boost_1_63_0/bin.v2/libs/system/build/msvc-14.0/debug/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/date_time/build/msvc-14.0/debug/address-model-64/link-static/threading-multi/;../../../../boost_1_63_0/bin.v2/libs/regex/build/msvc-14.0/debug/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/thread/build/msvc-14.0/debug/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/chrono/build/msvc-14.0/debug/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/signals/build/msvc-14.0/debug/address-model-64/link-static/threading-multi;../../../../libs/boost-gil-extension;../../../../libs/jpeg-9;../../../../libs/jpeg-9/vc10;../../../../libs/lpng1510;../x64/Debug</AdditionalLibraryDirectories>
<AdditionalDependencies>libjpeg.lib;libpng.lib;Engine.lib;opengl32.lib;glu32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
@ -150,7 +151,7 @@
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;TARGET_WIN32;_WIN32_WINNT=0x0501;WIN32_LEAN_AND_MEAN;EIGEN_DONT_ALIGN_STATICALLY;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>../../../game;../../../../tes-engine;../../../../eigen;../../../../boost_1_63_0/;../../../../boost_1_63_0/bin.v2/libs/system/build/msvc-14.0/release/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/date_time/build/msvc-14.0/release/address-model-64/link-static/threading-multi/;../../../../boost_1_63_0/bin.v2/libs/regex/build/msvc-14.0/release/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/thread/build/msvc-14.0/release/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/chrono/build/msvc-14.0/release/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/signals/build/msvc-14.0/release/address-model-64/link-static/threading-multi;../../../../libs/boost-gil-extension;../../../../libs/jpeg-9;../../../../libs/jpeg-9/vc10;../../../../libs/lpng1510</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>../../../game;../../../../tes-engine;../../../../eigen;../../../../boost_1_67_0/;../../../../libs/boost-gil-extension;../../../../libs/jpeg-9;../../../../libs/jpeg-9/vc10;../../../../libs/lpng1510</AdditionalIncludeDirectories>
<DisableSpecificWarnings>4503</DisableSpecificWarnings>
</ClCompile>
<Link>
@ -158,25 +159,16 @@
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalLibraryDirectories>../../../game;../../../../tes-engine;../../../../eigen;../../../../boost_1_63_0/;../../../../boost_1_63_0/bin.v2/libs/system/build/msvc-14.0/release/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/date_time/build/msvc-14.0/release/address-model-64/link-static/threading-multi/;../../../../boost_1_63_0/bin.v2/libs/regex/build/msvc-14.0/release/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/thread/build/msvc-14.0/release/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/chrono/build/msvc-14.0/release/address-model-64/link-static/threading-multi;../../../../boost_1_63_0/bin.v2/libs/signals/build/msvc-14.0/release/address-model-64/link-static/threading-multi;../../../../libs/boost-gil-extension;../../../../libs/jpeg-9;../../../../libs/jpeg-9/vc10;../../../../libs/lpng1510;../x64/Release</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>../../../game;../../../../tes-engine;../../../../eigen;../../../../boost_1_67_0/stage/lib;../../../../libs/boost-gil-extension;../../../../libs/jpeg-9;../../../../libs/jpeg-9/vc10;../../../../libs/lpng1510;../x64/Release</AdditionalLibraryDirectories>
<AdditionalDependencies>libjpeg.lib;libpng.lib;Engine.lib;opengl32.lib;glu32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\game\creditscode.cpp" />
<ClCompile Include="..\..\..\game\gamecode.cpp" />
<ClCompile Include="..\..\..\game\loadingcode.cpp" />
<ClCompile Include="..\..\..\game\main_code.cpp" />
<ClCompile Include="..\..\..\game\menucode.cpp" />
<ClCompile Include="main.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\game\creditscode.h" />
<ClInclude Include="..\..\..\game\gamecode.h" />
<ClInclude Include="..\..\..\game\game_area_interface.h" />
<ClInclude Include="..\..\..\game\loadingcode.h" />
<ClInclude Include="..\..\..\game\main_code.h" />
<ClInclude Include="..\..\..\game\menucode.h" />
<ClInclude Include="main.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />

View File

@ -1,60 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Файлы исходного кода">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Заголовочные файлы">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Файлы ресурсов">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="main.cpp">
<Filter>Файлы исходного кода</Filter>
</ClCompile>
<ClCompile Include="..\..\..\game\main_code.cpp">
<Filter>Файлы исходного кода</Filter>
</ClCompile>
<ClCompile Include="..\..\..\game\menucode.cpp">
<Filter>Файлы исходного кода</Filter>
</ClCompile>
<ClCompile Include="..\..\..\game\creditscode.cpp">
<Filter>Файлы исходного кода</Filter>
</ClCompile>
<ClCompile Include="..\..\..\game\gamecode.cpp">
<Filter>Файлы исходного кода</Filter>
</ClCompile>
<ClCompile Include="..\..\..\game\loadingcode.cpp">
<Filter>Файлы исходного кода</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="main.h">
<Filter>Заголовочные файлы</Filter>
</ClInclude>
<ClInclude Include="..\..\..\game\main_code.h">
<Filter>Заголовочные файлы</Filter>
</ClInclude>
<ClInclude Include="..\..\..\game\menucode.h">
<Filter>Заголовочные файлы</Filter>
</ClInclude>
<ClInclude Include="..\..\..\game\creditscode.h">
<Filter>Заголовочные файлы</Filter>
</ClInclude>
<ClInclude Include="..\..\..\game\game_area_interface.h">
<Filter>Заголовочные файлы</Filter>
</ClInclude>
<ClInclude Include="..\..\..\game\gamecode.h">
<Filter>Заголовочные файлы</Filter>
</ClInclude>
<ClInclude Include="..\..\..\game\loadingcode.h">
<Filter>Заголовочные файлы</Filter>
</ClInclude>
</ItemGroup>
</Project>

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
</Project>

View File

@ -8,8 +8,8 @@ int APIENTRY WinMain(HINSTANCE hCurrentInst, HINSTANCE hPreviousInst,
LPSTR lpszCmdLine, int nCmdShow)
{
int width = 480;
int height = 320;
int width = 1024;
int height = 1024;
if (CreateEngine(width, height))