├── .gitignore
├── OpenGLTest.cbp
├── OpenGLTest.cbp.mak.mac
├── OpenGLTest.cbp.mak.unix
├── OpenGLTest.cbp.mak.windows
├── OpenGLTest.depend
├── OpenGLTest.layout
├── _PushToGithub.sh
├── camera.h
├── cb.bmp
├── debugTimer.h
├── display.cpp
├── display.h
├── include
├── GL
│ ├── glew.h
│ ├── glxew.h
│ └── wglew.h
├── SDL2
│ ├── SDL.h
│ ├── SDL_assert.h
│ ├── SDL_atomic.h
│ ├── SDL_audio.h
│ ├── SDL_bits.h
│ ├── SDL_blendmode.h
│ ├── SDL_clipboard.h
│ ├── SDL_config.h
│ ├── SDL_cpuinfo.h
│ ├── SDL_endian.h
│ ├── SDL_error.h
│ ├── SDL_events.h
│ ├── SDL_filesystem.h
│ ├── SDL_gamecontroller.h
│ ├── SDL_gesture.h
│ ├── SDL_haptic.h
│ ├── SDL_hints.h
│ ├── SDL_joystick.h
│ ├── SDL_keyboard.h
│ ├── SDL_keycode.h
│ ├── SDL_loadso.h
│ ├── SDL_log.h
│ ├── SDL_main.h
│ ├── SDL_messagebox.h
│ ├── SDL_mouse.h
│ ├── SDL_mutex.h
│ ├── SDL_name.h
│ ├── SDL_opengl.h
│ ├── SDL_opengles.h
│ ├── SDL_opengles2.h
│ ├── SDL_pixels.h
│ ├── SDL_platform.h
│ ├── SDL_power.h
│ ├── SDL_quit.h
│ ├── SDL_rect.h
│ ├── SDL_render.h
│ ├── SDL_revision.h
│ ├── SDL_rwops.h
│ ├── SDL_scancode.h
│ ├── SDL_shape.h
│ ├── SDL_stdinc.h
│ ├── SDL_surface.h
│ ├── SDL_system.h
│ ├── SDL_syswm.h
│ ├── SDL_test.h
│ ├── SDL_test_assert.h
│ ├── SDL_test_common.h
│ ├── SDL_test_compare.h
│ ├── SDL_test_crc32.h
│ ├── SDL_test_font.h
│ ├── SDL_test_fuzzer.h
│ ├── SDL_test_harness.h
│ ├── SDL_test_images.h
│ ├── SDL_test_log.h
│ ├── SDL_test_md5.h
│ ├── SDL_test_random.h
│ ├── SDL_thread.h
│ ├── SDL_timer.h
│ ├── SDL_touch.h
│ ├── SDL_types.h
│ ├── SDL_version.h
│ ├── SDL_video.h
│ ├── begin_code.h
│ └── close_code.h
└── glm
│ ├── CMakeLists.txt
│ ├── common.hpp
│ ├── detail
│ ├── _features.hpp
│ ├── _fixes.hpp
│ ├── _literals.hpp
│ ├── _noise.hpp
│ ├── _swizzle.hpp
│ ├── _swizzle_func.hpp
│ ├── _vectorize.hpp
│ ├── dummy.cpp
│ ├── func_common.hpp
│ ├── func_common.inl
│ ├── func_exponential.hpp
│ ├── func_exponential.inl
│ ├── func_geometric.hpp
│ ├── func_geometric.inl
│ ├── func_integer.hpp
│ ├── func_integer.inl
│ ├── func_matrix.hpp
│ ├── func_matrix.inl
│ ├── func_noise.hpp
│ ├── func_noise.inl
│ ├── func_packing.hpp
│ ├── func_packing.inl
│ ├── func_trigonometric.hpp
│ ├── func_trigonometric.inl
│ ├── func_vector_relational.hpp
│ ├── func_vector_relational.inl
│ ├── glm.cpp
│ ├── hint.hpp
│ ├── intrinsic_common.hpp
│ ├── intrinsic_common.inl
│ ├── intrinsic_exponential.hpp
│ ├── intrinsic_exponential.inl
│ ├── intrinsic_geometric.hpp
│ ├── intrinsic_geometric.inl
│ ├── intrinsic_integer.hpp
│ ├── intrinsic_integer.inl
│ ├── intrinsic_matrix.hpp
│ ├── intrinsic_matrix.inl
│ ├── intrinsic_trigonometric.hpp
│ ├── intrinsic_trigonometric.inl
│ ├── intrinsic_vector_relational.hpp
│ ├── intrinsic_vector_relational.inl
│ ├── precision.hpp
│ ├── precision.inl
│ ├── setup.hpp
│ ├── type_float.hpp
│ ├── type_gentype.hpp
│ ├── type_gentype.inl
│ ├── type_half.hpp
│ ├── type_half.inl
│ ├── type_int.hpp
│ ├── type_mat.hpp
│ ├── type_mat.inl
│ ├── type_mat2x2.hpp
│ ├── type_mat2x2.inl
│ ├── type_mat2x3.hpp
│ ├── type_mat2x3.inl
│ ├── type_mat2x4.hpp
│ ├── type_mat2x4.inl
│ ├── type_mat3x2.hpp
│ ├── type_mat3x2.inl
│ ├── type_mat3x3.hpp
│ ├── type_mat3x3.inl
│ ├── type_mat3x4.hpp
│ ├── type_mat3x4.inl
│ ├── type_mat4x2.hpp
│ ├── type_mat4x2.inl
│ ├── type_mat4x3.hpp
│ ├── type_mat4x3.inl
│ ├── type_mat4x4.hpp
│ ├── type_mat4x4.inl
│ ├── type_vec.hpp
│ ├── type_vec.inl
│ ├── type_vec1.hpp
│ ├── type_vec1.inl
│ ├── type_vec2.hpp
│ ├── type_vec2.inl
│ ├── type_vec3.hpp
│ ├── type_vec3.inl
│ ├── type_vec4.hpp
│ └── type_vec4.inl
│ ├── exponential.hpp
│ ├── ext.hpp
│ ├── fwd.hpp
│ ├── geometric.hpp
│ ├── glm.hpp
│ ├── gtc
│ ├── constants.hpp
│ ├── constants.inl
│ ├── epsilon.hpp
│ ├── epsilon.inl
│ ├── matrix_access.hpp
│ ├── matrix_access.inl
│ ├── matrix_integer.hpp
│ ├── matrix_inverse.hpp
│ ├── matrix_inverse.inl
│ ├── matrix_transform.hpp
│ ├── matrix_transform.inl
│ ├── noise.hpp
│ ├── noise.inl
│ ├── packing.hpp
│ ├── packing.inl
│ ├── quaternion.hpp
│ ├── quaternion.inl
│ ├── random.hpp
│ ├── random.inl
│ ├── reciprocal.hpp
│ ├── reciprocal.inl
│ ├── type_precision.hpp
│ ├── type_precision.inl
│ ├── type_ptr.hpp
│ ├── type_ptr.inl
│ ├── ulp.hpp
│ └── ulp.inl
│ ├── gtx
│ ├── associated_min_max.hpp
│ ├── associated_min_max.inl
│ ├── bit.hpp
│ ├── bit.inl
│ ├── closest_point.hpp
│ ├── closest_point.inl
│ ├── color_space.hpp
│ ├── color_space.inl
│ ├── color_space_YCoCg.hpp
│ ├── color_space_YCoCg.inl
│ ├── compatibility.hpp
│ ├── compatibility.inl
│ ├── component_wise.hpp
│ ├── component_wise.inl
│ ├── constants.hpp
│ ├── dual_quaternion.hpp
│ ├── dual_quaternion.inl
│ ├── epsilon.hpp
│ ├── euler_angles.hpp
│ ├── euler_angles.inl
│ ├── extend.hpp
│ ├── extend.inl
│ ├── extented_min_max.hpp
│ ├── extented_min_max.inl
│ ├── fast_exponential.hpp
│ ├── fast_exponential.inl
│ ├── fast_square_root.hpp
│ ├── fast_square_root.inl
│ ├── fast_trigonometry.hpp
│ ├── fast_trigonometry.inl
│ ├── gradient_paint.hpp
│ ├── gradient_paint.inl
│ ├── handed_coordinate_space.hpp
│ ├── handed_coordinate_space.inl
│ ├── inertia.hpp
│ ├── inertia.inl
│ ├── int_10_10_10_2.hpp
│ ├── int_10_10_10_2.inl
│ ├── integer.hpp
│ ├── integer.inl
│ ├── intersect.hpp
│ ├── intersect.inl
│ ├── io.hpp
│ ├── io.inl
│ ├── log_base.hpp
│ ├── log_base.inl
│ ├── matrix_cross_product.hpp
│ ├── matrix_cross_product.inl
│ ├── matrix_interpolation.hpp
│ ├── matrix_interpolation.inl
│ ├── matrix_major_storage.hpp
│ ├── matrix_major_storage.inl
│ ├── matrix_operation.hpp
│ ├── matrix_operation.inl
│ ├── matrix_query.hpp
│ ├── matrix_query.inl
│ ├── mixed_product.hpp
│ ├── mixed_product.inl
│ ├── multiple.hpp
│ ├── multiple.inl
│ ├── noise.hpp
│ ├── norm.hpp
│ ├── norm.inl
│ ├── normal.hpp
│ ├── normal.inl
│ ├── normalize_dot.hpp
│ ├── normalize_dot.inl
│ ├── number_precision.hpp
│ ├── number_precision.inl
│ ├── optimum_pow.hpp
│ ├── optimum_pow.inl
│ ├── orthonormalize.hpp
│ ├── orthonormalize.inl
│ ├── perpendicular.hpp
│ ├── perpendicular.inl
│ ├── polar_coordinates.hpp
│ ├── polar_coordinates.inl
│ ├── projection.hpp
│ ├── projection.inl
│ ├── quaternion.hpp
│ ├── quaternion.inl
│ ├── random.hpp
│ ├── raw_data.hpp
│ ├── raw_data.inl
│ ├── reciprocal.hpp
│ ├── rotate_normalized_axis.hpp
│ ├── rotate_normalized_axis.inl
│ ├── rotate_vector.hpp
│ ├── rotate_vector.inl
│ ├── scalar_relational.hpp
│ ├── scalar_relational.inl
│ ├── simd_mat4.hpp
│ ├── simd_mat4.inl
│ ├── simd_quat.hpp
│ ├── simd_quat.inl
│ ├── simd_vec4.hpp
│ ├── simd_vec4.inl
│ ├── spline.hpp
│ ├── spline.inl
│ ├── std_based_type.hpp
│ ├── std_based_type.inl
│ ├── string_cast.hpp
│ ├── string_cast.inl
│ ├── transform.hpp
│ ├── transform.inl
│ ├── transform2.hpp
│ ├── transform2.inl
│ ├── ulp.hpp
│ ├── unsigned_int.hpp
│ ├── unsigned_int.inl
│ ├── vec1.hpp
│ ├── vec1.inl
│ ├── vector_angle.hpp
│ ├── vector_angle.inl
│ ├── vector_query.hpp
│ ├── vector_query.inl
│ ├── wrap.hpp
│ └── wrap.inl
│ ├── integer.hpp
│ ├── mat2x2.hpp
│ ├── mat2x3.hpp
│ ├── mat2x4.hpp
│ ├── mat3x2.hpp
│ ├── mat3x3.hpp
│ ├── mat3x4.hpp
│ ├── mat4x2.hpp
│ ├── mat4x3.hpp
│ ├── mat4x4.hpp
│ ├── matrix.hpp
│ ├── packing.hpp
│ ├── trigonometric.hpp
│ ├── vec2.hpp
│ ├── vec3.hpp
│ ├── vec4.hpp
│ ├── vector_relational.hpp
│ └── virtrev
│ └── xstream.hpp
├── lib
└── x86
│ ├── SDL2.dll
│ ├── SDL2.lib
│ ├── SDL2main.lib
│ ├── SDL2test.lib
│ ├── glew32.lib
│ └── glew32s.lib
├── main.cpp
├── makefile
├── math3d.h
├── mesh.cpp
├── mesh.h
├── obj_loader.cpp
├── obj_loader.h
├── res
├── basicShader.fs
├── basicShader.vs
├── bricks.jpg
├── monkey3.obj
├── monkeyNoUV.obj
├── testBoxNoUV.mtl
└── testBoxNoUV.obj
├── shader.cpp
├── shader.h
├── stb_image.c
├── stb_image.h
├── texture.cpp
├── texture.h
├── transform.h
└── util.h
/OpenGLTest.cbp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
--------------------------------------------------------------------------------
/OpenGLTest.depend:
--------------------------------------------------------------------------------
1 | # depslib dependency file v1.0
2 | 1391388729 source:/home/batman/Workspaces/C Workspaces/OpenGLTest/main.cpp
3 |
4 |
5 | "display.h"
6 | "mesh.h"
7 | "shader.h"
8 | "texture.h"
9 | "transform.h"
10 | "camera.h"
11 |
12 | 1388893847 source:/home/batman/Workspaces/C Workspaces/OpenGLTest/display.cpp
13 | "display.h"
14 |
15 |
16 |
17 | 1389319469 /home/batman/Workspaces/C Workspaces/OpenGLTest/display.h
18 |
19 |
20 |
21 | 1389139395 /home/batman/Workspaces/C Workspaces/OpenGLTest/mesh.h
22 |
23 |
24 |
25 |
26 | "obj_loader.h"
27 |
28 | 1389949133 /home/batman/Workspaces/C Workspaces/OpenGLTest/shader.h
29 |
30 |
31 | "transform.h"
32 |
33 | 1388618512 /home/batman/Workspaces/C Workspaces/OpenGLTest/transform.h
34 |
35 |
36 | "camera.h"
37 |
38 | 1388618442 /home/batman/Workspaces/C Workspaces/OpenGLTest/camera.h
39 |
40 |
41 |
42 | 1388893980 /home/batman/Workspaces/C Workspaces/OpenGLTest/texture.h
43 |
44 |
45 |
46 | 1390233424 source:/home/batman/Workspaces/C Workspaces/OpenGLTest/mesh.cpp
47 | "mesh.h"
48 | "util.h"
49 | "debugTimer.h"
50 |