├── README.md
├── gles-3d-cube-texture
├── .cproject
├── .project
├── .qnx_internal.mk
├── Makefile
├── README.md
├── common.mk
├── gles-3d-cube-texture.c
└── tile_floor.png
├── gles-3d-cube
├── .cproject
├── .project
├── .qnx_internal.mk
├── Makefile
├── README.md
├── common.mk
├── glExtension.c
├── glExtension.h
└── gles-3d-cube.c
├── gles-bezier-curve
├── .cproject
├── .project
├── .qnx_internal.mk
├── Makefile
├── README.md
├── common.mk
└── gles-bezier-curve.c
├── gles-glm
├── .cproject
├── .project
├── .qnx_internal.mk
├── Makefile
├── README.md
├── common.mk
├── gles-glm.cc
└── glm
│ ├── CMakeLists.txt
│ ├── common.hpp
│ ├── detail
│ ├── _features.hpp
│ ├── _fixes.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_packing.hpp
│ ├── func_packing.inl
│ ├── func_trigonometric.hpp
│ ├── func_trigonometric.inl
│ ├── func_vector_relational.hpp
│ ├── func_vector_relational.inl
│ ├── glm.cpp
│ ├── 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
│ ├── 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
│ ├── type_vec4_avx.inl
│ ├── type_vec4_avx2.inl
│ └── type_vec4_sse2.inl
│ ├── exponential.hpp
│ ├── ext.hpp
│ ├── fwd.hpp
│ ├── geometric.hpp
│ ├── glm.hpp
│ ├── gtc
│ ├── bitfield.hpp
│ ├── bitfield.inl
│ ├── color_space.hpp
│ ├── color_space.inl
│ ├── constants.hpp
│ ├── constants.inl
│ ├── epsilon.hpp
│ ├── epsilon.inl
│ ├── integer.hpp
│ ├── integer.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
│ ├── round.hpp
│ ├── round.inl
│ ├── type_precision.hpp
│ ├── type_precision.inl
│ ├── type_ptr.hpp
│ ├── type_ptr.inl
│ ├── ulp.hpp
│ ├── ulp.inl
│ ├── vec1.hpp
│ └── vec1.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
│ ├── common.hpp
│ ├── common.inl
│ ├── compatibility.hpp
│ ├── compatibility.inl
│ ├── component_wise.hpp
│ ├── component_wise.inl
│ ├── dual_quaternion.hpp
│ ├── dual_quaternion.inl
│ ├── 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
│ ├── hash.hpp
│ ├── hash.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_decompose.hpp
│ ├── matrix_decompose.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
│ ├── matrix_transform_2d.hpp
│ ├── matrix_transform_2d.inl
│ ├── mixed_product.hpp
│ ├── mixed_product.inl
│ ├── 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
│ ├── range.hpp
│ ├── raw_data.hpp
│ ├── raw_data.inl
│ ├── rotate_normalized_axis.hpp
│ ├── rotate_normalized_axis.inl
│ ├── rotate_vector.hpp
│ ├── rotate_vector.inl
│ ├── scalar_multiplication.hpp
│ ├── 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
│ ├── type_aligned.hpp
│ ├── type_aligned.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
├── gles-guideline
├── .cproject
├── .project
├── .qnx_internal.mk
├── Makefile
├── README.md
├── common.mk
└── gles-guideline.c
├── gles-lighting
├── .cproject
├── .project
├── .qnx_internal.mk
├── Makefile
├── README.md
├── common.mk
├── glExtension.c
├── glExtension.h
└── gles-lighting.c
├── gles-mvp
├── .cproject
├── .project
├── .qnx_internal.mk
├── Makefile
├── README.md
├── common.mk
├── glExtension.c
├── glExtension.h
├── gles-mvp.c
├── shader.frag
└── shader.vert
├── gles-sample-projection
├── .cproject
├── .project
├── .qnx_internal.mk
├── Makefile
├── README.md
├── common.mk
└── gles-sample-projection.c
├── gles-simple-texture
├── .cproject
├── .project
├── .qnx_internal.mk
├── Makefile
├── README.md
├── common.mk
├── gles-simple-texture.c
└── gles-simple-texture2.c
├── gles-square
├── .cproject
├── .project
├── .qnx_internal.mk
├── Makefile
├── README.md
├── common.mk
└── gles-square.c
└── gles-triangle
├── .cproject
├── .project
├── .qnx_internal.mk
├── Makefile
├── README.md
├── common.mk
└── gles-triangle.c
/README.md:
--------------------------------------------------------------------------------
1 | # OpenGL ES 2.0 Tutorials
2 | > version 0.1.0
3 |
4 | ## Description
5 | 이 튜토리얼은 OpenGL ES(이하 gles) 2.0를 기반으로 기초적인 내용들을 각가 샘플 프로그램으로 작성한 것이다. QNX위에서 동작하는 것을 기반으로 하기 때문에 초기에 관련 초기화 하는 내용에 대한 이해가 필요하지만 그 외에는 모두 gles API를 기반으로 작성되었기 때문에 어느 플랫폼에서든 차용할 수 있다.
6 |
7 |
8 | ## List of samples
9 |
10 | * [Draw primitive](http://mod.lge.com/hub/hunkyo.jung/gles-tutorials/blob/master/gles-triangle/README.md)
11 | * [Draw 3D cube](http://mod.lge.com/hub/hunkyo.jung/gles-tutorials/blob/master/gles-3d-cube/README.md)
12 | * [Transformation and projection](http://mod.lge.com/hub/hunkyo.jung/gles-tutorials/blob/master/gles-mvp/README.md)
13 | * [Texture mapping](http://mod.lge.com/hub/hunkyo.jung/gles-tutorials/blob/master/gles-3d-cube-texture/README.md)
14 | * [Curve](http://mod.lge.com/hub/hunkyo.jung/gles-tutorials/blob/master/gles-curve/README.md)
15 | * [Parking Guideline](http://mod.lge.com/hub/hunkyo.jung/gles-tutorials/blob/master/gles-guideline/README.md)
16 | * [Lighting](http://mod.lge.com/hub/hunkyo.jung/gles-tutorials/blob/master/gles-lighting/README.md)
17 | * [OpenGL Mathmetics(GLM)](http://mod.lge.com/hub/hunkyo.jung/gles-tutorials/blob/master/gles-glm/README.md)
18 |
--------------------------------------------------------------------------------
/gles-3d-cube-texture/.cproject:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | make
23 |
24 | all
25 | false
26 | true
27 | true
28 |
29 |
30 | make
31 |
32 | clean
33 | false
34 | true
35 | true
36 |
37 |
38 | make
39 |
40 | clean all
41 | false
42 | true
43 | true
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/gles-3d-cube-texture/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | gles-3d-cube-texture
4 |
5 |
6 |
7 |
8 |
9 | com.qnx.tools.ide.qde.core.cbuilder
10 | clean,full,incremental,
11 |
12 |
13 | org.eclipse.cdt.core.errorOutputParser
14 | com.qnx.tools.ide.qde.core.IntelCErrorParser;com.qnx.tools.ide.qde.core.QdeExtraMakeErrorParser;org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.VCErrorParser;
15 |
16 |
17 | org.eclipse.cdt.make.core.build.command
18 | make
19 |
20 |
21 | org.eclipse.cdt.make.core.build.location
22 |
23 |
24 |
25 | org.eclipse.cdt.make.core.build.target.auto
26 | all
27 |
28 |
29 | org.eclipse.cdt.make.core.build.target.clean
30 | clean
31 |
32 |
33 | org.eclipse.cdt.make.core.build.target.full
34 | all
35 |
36 |
37 | org.eclipse.cdt.make.core.build.target.inc
38 | all
39 |
40 |
41 | org.eclipse.cdt.make.core.enableAutoBuild
42 | false
43 |
44 |
45 | org.eclipse.cdt.make.core.enableCleanBuild
46 | true
47 |
48 |
49 | org.eclipse.cdt.make.core.enableFullBuild
50 | true
51 |
52 |
53 | org.eclipse.cdt.make.core.enabledIncrementalBuild
54 | true
55 |
56 |
57 | org.eclipse.cdt.make.core.stopOnError
58 | false
59 |
60 |
61 | org.eclipse.cdt.make.core.useDefaultBuildCmd
62 | true
63 |
64 |
65 |
66 |
67 |
68 | org.eclipse.cdt.core.cnature
69 | com.qnx.tools.ide.qde.core.qnxnature
70 |
71 |
72 |
--------------------------------------------------------------------------------
/gles-3d-cube-texture/Makefile:
--------------------------------------------------------------------------------
1 | LIST=CPU
2 | ifndef QRECURSE
3 | QRECURSE=recurse.mk
4 | ifdef QCONFIG
5 | QRDIR=$(dir $(QCONFIG))
6 | endif
7 | endif
8 | include $(QRDIR)$(QRECURSE)
9 |
--------------------------------------------------------------------------------
/gles-3d-cube-texture/README.md:
--------------------------------------------------------------------------------
1 | ## Draw a triangle
2 |
3 | 이 예제는 EGL surface위에 default primitive인 삼각형을 그리는 예제이다.
4 |
5 |
--------------------------------------------------------------------------------
/gles-3d-cube-texture/common.mk:
--------------------------------------------------------------------------------
1 | # This is an automatically generated record.
2 | # The area between QNX Internal Start and QNX Internal End is controlled by
3 | # the QNX IDE properties.
4 |
5 | ifndef QCONFIG
6 | QCONFIG=qconfig.mk
7 | endif
8 | include $(QCONFIG)
9 |
10 | #===== USEFILE - the file containing the usage message for the application.
11 | USEFILE=
12 |
13 | #===== EXTRA_LIBVPATH - a space-separated list of directories to search for library files.
14 | EXTRA_LIBVPATH+=$(QNX_TARGET)/$(CPU)$(VARIANT)/usr/lib \
15 | $(QNX_TARGET)/$(CPU)$(VARIANT)/lib
16 |
17 | #===== LIBS - a space-separated list of library items to be included in the link.
18 | LIBS+=EGL GLESv2 screen m img
19 |
20 | include $(MKFILES_ROOT)/qmacros.mk
21 | ifndef QNX_INTERNAL
22 | QNX_INTERNAL=$(PROJECT_ROOT)/.qnx_internal.mk
23 | endif
24 | include $(QNX_INTERNAL)
25 |
26 | include $(MKFILES_ROOT)/qtargets.mk
27 |
28 | OPTIMIZE_TYPE_g=none
29 | OPTIMIZE_TYPE=$(OPTIMIZE_TYPE_$(filter g, $(VARIANTS)))
30 |
31 |
--------------------------------------------------------------------------------
/gles-3d-cube-texture/tile_floor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kyo504/gles-tutorials/7c5aa07a2b42c0340c8505498581d27fa44bddd0/gles-3d-cube-texture/tile_floor.png
--------------------------------------------------------------------------------
/gles-3d-cube/.cproject:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | make
23 |
24 | all
25 | false
26 | true
27 | true
28 |
29 |
30 | make
31 |
32 | clean
33 | false
34 | true
35 | true
36 |
37 |
38 | make
39 |
40 | clean all
41 | false
42 | true
43 | true
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
--------------------------------------------------------------------------------
/gles-3d-cube/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | gles-3d-cube
4 |
5 |
6 |
7 |
8 |
9 | com.qnx.tools.ide.qde.core.cbuilder
10 | clean,full,incremental,
11 |
12 |
13 | org.eclipse.cdt.core.errorOutputParser
14 | com.qnx.tools.ide.qde.core.IntelCErrorParser;com.qnx.tools.ide.qde.core.QdeExtraMakeErrorParser;org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.VCErrorParser;
15 |
16 |
17 | org.eclipse.cdt.make.core.build.command
18 | make
19 |
20 |
21 | org.eclipse.cdt.make.core.build.location
22 |
23 |
24 |
25 | org.eclipse.cdt.make.core.build.target.auto
26 | all
27 |
28 |
29 | org.eclipse.cdt.make.core.build.target.clean
30 | clean
31 |
32 |
33 | org.eclipse.cdt.make.core.build.target.full
34 | all
35 |
36 |
37 | org.eclipse.cdt.make.core.build.target.inc
38 | all
39 |
40 |
41 | org.eclipse.cdt.make.core.enableAutoBuild
42 | false
43 |
44 |
45 | org.eclipse.cdt.make.core.enableCleanBuild
46 | true
47 |
48 |
49 | org.eclipse.cdt.make.core.enableFullBuild
50 | true
51 |
52 |
53 | org.eclipse.cdt.make.core.enabledIncrementalBuild
54 | true
55 |
56 |
57 | org.eclipse.cdt.make.core.stopOnError
58 | false
59 |
60 |
61 | org.eclipse.cdt.make.core.useDefaultBuildCmd
62 | true
63 |
64 |
65 |
66 |
67 |
68 | org.eclipse.cdt.core.cnature
69 | com.qnx.tools.ide.qde.core.qnxnature
70 |
71 |
72 |
--------------------------------------------------------------------------------
/gles-3d-cube/Makefile:
--------------------------------------------------------------------------------
1 | LIST=CPU
2 | ifndef QRECURSE
3 | QRECURSE=recurse.mk
4 | ifdef QCONFIG
5 | QRDIR=$(dir $(QCONFIG))
6 | endif
7 | endif
8 | include $(QRDIR)$(QRECURSE)
9 |
--------------------------------------------------------------------------------
/gles-3d-cube/common.mk:
--------------------------------------------------------------------------------
1 | # This is an automatically generated record.
2 | # The area between QNX Internal Start and QNX Internal End is controlled by
3 | # the QNX IDE properties.
4 |
5 | ifndef QCONFIG
6 | QCONFIG=qconfig.mk
7 | endif
8 | include $(QCONFIG)
9 |
10 | #===== USEFILE - the file containing the usage message for the application.
11 | USEFILE=
12 |
13 | #===== EXTRA_LIBVPATH - a space-separated list of directories to search for library files.
14 | EXTRA_LIBVPATH+=$(QNX_TARGET)/$(CPU)$(VARIANT)/usr/lib
15 |
16 | #===== LIBS - a space-separated list of library items to be included in the link.
17 | LIBS+=screen EGL GLESv2 m c
18 |
19 | include $(MKFILES_ROOT)/qmacros.mk
20 | ifndef QNX_INTERNAL
21 | QNX_INTERNAL=$(PROJECT_ROOT)/.qnx_internal.mk
22 | endif
23 | include $(QNX_INTERNAL)
24 |
25 | include $(MKFILES_ROOT)/qtargets.mk
26 |
27 | OPTIMIZE_TYPE_g=none
28 | OPTIMIZE_TYPE=$(OPTIMIZE_TYPE_$(filter g, $(VARIANTS)))
29 |
30 |
--------------------------------------------------------------------------------
/gles-3d-cube/glExtension.h:
--------------------------------------------------------------------------------
1 | /*
2 | * glExtension.h
3 | *
4 | * Created on: 2016. 1. 13.
5 | * Author: hunkyo.jung
6 | */
7 |
8 | #ifndef GLEXTENTION_H_
9 | #define GLEXTENTION_H_
10 |
11 | #include
12 | #include
13 |
14 | #define kPI180 0.017453 // Pre-calculated value of PI / 180.
15 | #define k180PI 57.295780 // Pre-calculated value of 180 / PI.
16 | #define degreesToRadians(x) (x * kPI180) // Converts degrees to radians.
17 | #define radiansToDegrees(x) (x * k180PI) // Converts radians to degrees.
18 |
19 | void glExtLoadIdentity(float matrix[16]);
20 | void glExtScale(float matrix[16], const float sx, const float sy, const float sz);
21 | void glExtFrustum(float result[16], const float left, const float right, const float bottom, const float top, const float near, const float far);
22 | void glExtPerspective(GLfloat matrix[16], GLfloat fovy, GLfloat aspect, GLfloat near, GLfloat far);
23 | void glExtRotateX(float degrees, float matrix[16]);
24 | void glExtRotateY(float degrees, float matrix[16]);
25 | void glExtRotateZ(float degrees, float matrix[16]);
26 | void glExtMultiply(float result[16], float m1[16], float m2[16]);
27 | void glExtTranslate(GLfloat result[16], GLfloat x, GLfloat y, GLfloat z);
28 | float glExtGetLength(const float x, const float y, const float z);
29 | void glExtLookat(float* result, const float eyex, const float eyey, const float eyez, const float centerx, const float centery, const float centerz, const float upx, const float upy, const float upz);
30 |
31 | #endif /* GLEXTENTION_H_ */
32 |
--------------------------------------------------------------------------------
/gles-bezier-curve/.cproject:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | make
23 |
24 | all
25 | false
26 | true
27 | true
28 |
29 |
30 | make
31 |
32 | clean
33 | false
34 | true
35 | true
36 |
37 |
38 | make
39 |
40 | clean all
41 | false
42 | true
43 | true
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/gles-bezier-curve/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | gles-bezier-curve
4 |
5 |
6 |
7 |
8 |
9 | com.qnx.tools.ide.qde.core.cbuilder
10 | clean,full,incremental,
11 |
12 |
13 | org.eclipse.cdt.core.errorOutputParser
14 | com.qnx.tools.ide.qde.core.IntelCErrorParser;com.qnx.tools.ide.qde.core.QdeExtraMakeErrorParser;org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.VCErrorParser;
15 |
16 |
17 | org.eclipse.cdt.make.core.build.command
18 | make
19 |
20 |
21 | org.eclipse.cdt.make.core.build.location
22 |
23 |
24 |
25 | org.eclipse.cdt.make.core.build.target.auto
26 | all
27 |
28 |
29 | org.eclipse.cdt.make.core.build.target.clean
30 | clean
31 |
32 |
33 | org.eclipse.cdt.make.core.build.target.full
34 | all
35 |
36 |
37 | org.eclipse.cdt.make.core.build.target.inc
38 | all
39 |
40 |
41 | org.eclipse.cdt.make.core.enableAutoBuild
42 | false
43 |
44 |
45 | org.eclipse.cdt.make.core.enableCleanBuild
46 | true
47 |
48 |
49 | org.eclipse.cdt.make.core.enableFullBuild
50 | true
51 |
52 |
53 | org.eclipse.cdt.make.core.enabledIncrementalBuild
54 | true
55 |
56 |
57 | org.eclipse.cdt.make.core.stopOnError
58 | false
59 |
60 |
61 | org.eclipse.cdt.make.core.useDefaultBuildCmd
62 | true
63 |
64 |
65 |
66 |
67 |
68 | org.eclipse.cdt.core.cnature
69 | com.qnx.tools.ide.qde.core.qnxnature
70 |
71 |
72 |
--------------------------------------------------------------------------------
/gles-bezier-curve/Makefile:
--------------------------------------------------------------------------------
1 | LIST=CPU
2 | ifndef QRECURSE
3 | QRECURSE=recurse.mk
4 | ifdef QCONFIG
5 | QRDIR=$(dir $(QCONFIG))
6 | endif
7 | endif
8 | include $(QRDIR)$(QRECURSE)
9 |
--------------------------------------------------------------------------------
/gles-bezier-curve/README.md:
--------------------------------------------------------------------------------
1 | ## Draw a triangle
2 |
3 | 이 예제는 EGL surface위에 default primitive인 삼각형을 그리는 예제이다.
4 |
5 |
--------------------------------------------------------------------------------
/gles-bezier-curve/common.mk:
--------------------------------------------------------------------------------
1 | # This is an automatically generated record.
2 | # The area between QNX Internal Start and QNX Internal End is controlled by
3 | # the QNX IDE properties.
4 |
5 | ifndef QCONFIG
6 | QCONFIG=qconfig.mk
7 | endif
8 | include $(QCONFIG)
9 |
10 | #===== USEFILE - the file containing the usage message for the application.
11 | USEFILE=
12 |
13 | #===== EXTRA_LIBVPATH - a space-separated list of directories to search for library files.
14 | EXTRA_LIBVPATH+=$(QNX_TARGET)/$(CPU)$(VARIANT)/usr/lib
15 |
16 | #===== LIBS - a space-separated list of library items to be included in the link.
17 | LIBS+=EGL GLESv2 screen
18 |
19 | include $(MKFILES_ROOT)/qmacros.mk
20 | ifndef QNX_INTERNAL
21 | QNX_INTERNAL=$(PROJECT_ROOT)/.qnx_internal.mk
22 | endif
23 | include $(QNX_INTERNAL)
24 |
25 | include $(MKFILES_ROOT)/qtargets.mk
26 |
27 | OPTIMIZE_TYPE_g=none
28 | OPTIMIZE_TYPE=$(OPTIMIZE_TYPE_$(filter g, $(VARIANTS)))
29 |
30 |
--------------------------------------------------------------------------------
/gles-glm/.cproject:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | make
23 |
24 | all
25 | false
26 | true
27 | true
28 |
29 |
30 | make
31 |
32 | clean
33 | false
34 | true
35 | true
36 |
37 |
38 | make
39 |
40 | clean all
41 | false
42 | true
43 | true
44 |
45 |
46 |
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/gles-glm/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | gles-glm
4 |
5 |
6 |
7 |
8 |
9 | com.qnx.tools.ide.qde.core.cbuilder
10 | clean,full,incremental,
11 |
12 |
13 | org.eclipse.cdt.core.errorOutputParser
14 | com.qnx.tools.ide.qde.core.IntelCErrorParser;com.qnx.tools.ide.qde.core.QdeExtraMakeErrorParser;org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.VCErrorParser;
15 |
16 |
17 | org.eclipse.cdt.make.core.build.command
18 | make
19 |
20 |
21 | org.eclipse.cdt.make.core.build.location
22 |
23 |
24 |
25 | org.eclipse.cdt.make.core.build.target.auto
26 | all
27 |
28 |
29 | org.eclipse.cdt.make.core.build.target.clean
30 | clean
31 |
32 |
33 | org.eclipse.cdt.make.core.build.target.full
34 | all
35 |
36 |
37 | org.eclipse.cdt.make.core.build.target.inc
38 | all
39 |
40 |
41 | org.eclipse.cdt.make.core.enableAutoBuild
42 | false
43 |
44 |
45 | org.eclipse.cdt.make.core.enableCleanBuild
46 | true
47 |
48 |
49 | org.eclipse.cdt.make.core.enableFullBuild
50 | true
51 |
52 |
53 | org.eclipse.cdt.make.core.enabledIncrementalBuild
54 | true
55 |
56 |
57 | org.eclipse.cdt.make.core.stopOnError
58 | false
59 |
60 |
61 | org.eclipse.cdt.make.core.useDefaultBuildCmd
62 | true
63 |
64 |
65 |
66 |
67 |
68 | org.eclipse.cdt.core.cnature
69 | com.qnx.tools.ide.qde.core.qnxnature
70 | org.eclipse.cdt.core.ccnature
71 |
72 |
73 |
--------------------------------------------------------------------------------
/gles-glm/.qnx_internal.mk:
--------------------------------------------------------------------------------
1 | #VERSION 4.7.0
2 | cpu_variants:=$(if $(filter arm,$(CPU)),v7,$(if $(filter ppc,$(CPU)),spe))
3 |
4 | ifeq ($(filter g, $(VARIANT_LIST)),g)
5 | DEBUG_SUFFIX=_g
6 | LIB_SUFFIX=_g
7 | else
8 | DEBUG_SUFFIX=$(filter-out $(VARIANT_BUILD_TYPE) le be $(cpu_variants),$(VARIANT_LIST))
9 | ifeq ($(DEBUG_SUFFIX),)
10 | DEBUG_SUFFIX=_r
11 | else
12 | DEBUG_SUFFIX:=_$(DEBUG_SUFFIX)
13 | endif
14 | endif
15 |
16 | CPU_VARIANT:=$(CPUDIR)$(subst $(space),,$(foreach v,$(filter $(cpu_variants),$(VARIANT_LIST)),_$(v)))
17 |
18 | EXPRESSION = $(firstword $(foreach a, $(1)_$(CPU_VARIANT)$(DEBUG_SUFFIX) $(1)$(DEBUG_SUFFIX) \
19 | $(1)_$(CPU_VARIANT) $(1), $(if $($(a)),$(a),)))
20 | MERGE_EXPRESSION= $(foreach a, $(1)_$(CPU_VARIANT)$(2)$(DEBUG_SUFFIX) $(1)$(2)$(DEBUG_SUFFIX) \
21 | $(1)_$(CPU_VARIANT)$(2) $(1)$(2) , $($(a)))
22 |
23 | FIX_LIB_SUFFIXES= \
24 | $(if $(1), \
25 | $(if $(filter $(1), -Bstatic -Bdynamic),\
26 | $(1) \
27 | $(if $(2),\
28 | $(call FIX_LIB_SUFFIXES,\
29 | $(firstword $(2)),$(wordlist 2,$(words $(2)), $(2)),$(1))),\
30 | $(if $(filter -Bstatic,$(3) ),\
31 | $($(1):%.so,%.a),$($(1):%.a,%.so)) \
32 | $(if $(2),\
33 | $(call FIX_LIB_SUFFIXES,\
34 | $(firstword $(2)), $(wordlist 2, $(words $(2)), $(2)), $(3)))))
35 |
36 | GCC_VERSION:=$($(call EXPRESSION,GCC_VERSION))
37 | DEFCOMPILER_TYPE:= $($(call EXPRESSION, DEFCOMPILER_TYPE))
38 |
39 | EXTRA_LIBVPATH := $(call MERGE_EXPRESSION, EXTRA_LIBVPATH)
40 | extra_incvpath_tmp:=$(call MERGE_EXPRESSION,EXTRA_INCVPATH,)
41 | EXTRA_INCVPATH = $(call MERGE_EXPRESSION,EXTRA_INCVPATH,_@$(basename $@)) \
42 | $(extra_incvpath_tmp)
43 | LATE_SRCVPATH := $(call MERGE_EXPRESSION, EXTRA_SRCVPATH)
44 | EXTRA_OBJS := $($(call EXPRESSION,EXTRA_OBJS))
45 |
46 | CCFLAGS_D = $(CCFLAGS$(DEBUG_SUFFIX)) $(CCFLAGS_$(CPU_VARIANT)$(DEBUG_SUFFIX)) \
47 | $(CCFLAGS_@$(basename $@)$(DEBUG_SUFFIX)) \
48 | $(CCFLAGS_$(CPU_VARIANT)_@$(basename $@)$(DEBUG_SUFFIX))
49 | LDFLAGS_D = $(LDFLAGS$(DEBUG_SUFFIX)) $(LDFLAGS_$(CPU_VARIANT)$(DEBUG_SUFFIX))
50 |
51 | CCFLAGS += $(CCFLAGS_$(CPU_VARIANT)) $(CCFLAGS_@$(basename $@)) \
52 | $(CCFLAGS_$(CPU_VARIANT)_@$(basename $@)) $(CCFLAGS_D)
53 | LDFLAGS += $(LDFLAGS_$(CPU_VARIANT)) $(LDFLAGS_D)
54 |
55 | LIBS:= $(LIBSOPT) $(patsubst %S_g, %_gS, $(foreach token, $($(call EXPRESSION,LIBS)),$(if $(findstring ^, $(token)), $(subst ^,,$(token))$(LIB_SUFFIX), $(token))))
56 | ifdef LIBNAMES
57 | LIBNAMES:= $(subst lib-Bdynamic.a, ,$(subst lib-Bstatic.a, , $(LIBNAMES)))
58 | LIBNAMES := $(call FIX_LIB_SUFFIXES,$(firstword $(LIBNAMES)),$(wordslist 2, $(words $(LIBNAMES))),-Bdynamic)
59 | endif
60 | libopts := $(subst -l-B,-B, $(libopts))
61 | ifneq ($(LIBS),)
62 | EXTRA_DEPS += $(wildcard $(foreach a,$(EXTRA_LIBVPATH),$(a)/*.a))
63 | endif
64 |
65 | BUILDNAME:=$($(call EXPRESSION,BUILDNAME))$(if $(suffix $(BUILDNAME)),,$(IMAGE_SUFF_$(BUILD_TYPE)))
66 | BUILDNAME_SAR:= $(patsubst %$(IMAGE_SUFF_$(BUILD_TYPE)),%S.a,$(BUILDNAME))
67 |
68 | POST_BUILD:=$($(call EXPRESSION,POST_BUILD))
69 |
--------------------------------------------------------------------------------
/gles-glm/Makefile:
--------------------------------------------------------------------------------
1 | LIST=CPU
2 | ifndef QRECURSE
3 | QRECURSE=recurse.mk
4 | ifdef QCONFIG
5 | QRDIR=$(dir $(QCONFIG))
6 | endif
7 | endif
8 | include $(QRDIR)$(QRECURSE)
9 |
--------------------------------------------------------------------------------
/gles-glm/README.md:
--------------------------------------------------------------------------------
1 | ## Draw a triangle
2 |
3 | 이 예제는 EGL surface위에 default primitive인 삼각형을 그리는 예제이다.
4 |
5 |
--------------------------------------------------------------------------------
/gles-glm/common.mk:
--------------------------------------------------------------------------------
1 | # This is an automatically generated record.
2 | # The area between QNX Internal Start and QNX Internal End is controlled by
3 | # the QNX IDE properties.
4 |
5 | ifndef QCONFIG
6 | QCONFIG=qconfig.mk
7 | endif
8 | include $(QCONFIG)
9 |
10 | #===== USEFILE - the file containing the usage message for the application.
11 | USEFILE=
12 |
13 | # Next lines are for C++ projects only
14 |
15 | EXTRA_SUFFIXES+=cxx cpp
16 |
17 | #===== LDFLAGS - add the flags to the linker command line.
18 | LDFLAGS+=-lang-c++
19 |
20 | VFLAG_g=-gstabs+
21 |
22 | #===== EXTRA_LIBVPATH - a space-separated list of directories to search for library files.
23 | EXTRA_LIBVPATH+=$(QNX_TARGET)/$(CPU)$(VARIANT)/usr/lib
24 |
25 | #===== LIBS - a space-separated list of library items to be included in the link.
26 | LIBS+=EGL GLESv2 screen m
27 |
28 | include $(MKFILES_ROOT)/qmacros.mk
29 | ifndef QNX_INTERNAL
30 | QNX_INTERNAL=$(PROJECT_ROOT)/.qnx_internal.mk
31 | endif
32 | include $(QNX_INTERNAL)
33 |
34 | include $(MKFILES_ROOT)/qtargets.mk
35 |
36 | OPTIMIZE_TYPE_g=none
37 | OPTIMIZE_TYPE=$(OPTIMIZE_TYPE_$(filter g, $(VARIANTS)))
38 |
39 |
--------------------------------------------------------------------------------
/gles-glm/gles-glm.cc:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | #include // glm::vec2
5 | #include // glm::uint
6 |
7 | std::size_t const VertexCount = 4;
8 | // Float quad geometry
9 | std::size_t const PositionSizeF32 = VertexCount * sizeof(glm::vec2);
10 | glm::vec2 const PositionDataF32[VertexCount] = {
11 | glm::vec2(-1.0f,-1.0f),
12 | glm::vec2( 1.0f,-1.0f),
13 | glm::vec2( 1.0f, 1.0f),
14 | glm::vec2(-1.0f, 1.0f)
15 | };
16 |
17 | // 8 bits signed integer quad geometry
18 | std::size_t const PositionSizeI8 = VertexCount * sizeof(glm::i8vec2);
19 | glm::i8vec2 const PositionDataI8[VertexCount] = {
20 | glm::i8vec2(-1,-1),
21 | glm::i8vec2( 1,-1),
22 | glm::i8vec2( 1, 1),
23 | glm::i8vec2(-1, 1)
24 | };
25 |
26 | // 32 bits signed integer quad geometry
27 | std::size_t const PositionSizeI32 = VertexCount * sizeof(glm::i32vec2);
28 | glm::i32vec2 const PositionDataI32[VertexCount] = {
29 | glm::i32vec2 (-1,-1),
30 | glm::i32vec2 ( 1,-1),
31 | glm::i32vec2 ( 1, 1),
32 | glm::i32vec2 (-1, 1)
33 | };
34 |
35 | int main(int argc, char *argv[]) {
36 | std::cout << "Welcome to the QNX Momentics IDE" << std::endl;
37 |
38 |
39 | return EXIT_SUCCESS;
40 | }
41 |
--------------------------------------------------------------------------------
/gles-glm/glm/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | set(NAME glm_dummy)
2 |
3 | file(GLOB ROOT_SOURCE *.cpp)
4 | file(GLOB ROOT_INLINE *.inl)
5 | file(GLOB ROOT_HEADER *.hpp)
6 | file(GLOB ROOT_TEXT ../*.txt)
7 | file(GLOB ROOT_MD ../*.md)
8 | file(GLOB ROOT_NAT ../util/glm.natvis)
9 |
10 | file(GLOB_RECURSE CORE_SOURCE ./detail/*.cpp)
11 | file(GLOB_RECURSE CORE_INLINE ./detail/*.inl)
12 | file(GLOB_RECURSE CORE_HEADER ./detail/*.hpp)
13 |
14 | file(GLOB_RECURSE GTC_SOURCE ./gtc/*.cpp)
15 | file(GLOB_RECURSE GTC_INLINE ./gtc/*.inl)
16 | file(GLOB_RECURSE GTC_HEADER ./gtc/*.hpp)
17 |
18 | file(GLOB_RECURSE GTX_SOURCE ./gtx/*.cpp)
19 | file(GLOB_RECURSE GTX_INLINE ./gtx/*.inl)
20 | file(GLOB_RECURSE GTX_HEADER ./gtx/*.hpp)
21 |
22 | source_group("Text Files" FILES ${ROOT_TEXT} ${ROOT_MD})
23 | source_group("Core Files" FILES ${CORE_SOURCE})
24 | source_group("Core Files" FILES ${CORE_INLINE})
25 | source_group("Core Files" FILES ${CORE_HEADER})
26 | source_group("GTC Files" FILES ${GTC_SOURCE})
27 | source_group("GTC Files" FILES ${GTC_INLINE})
28 | source_group("GTC Files" FILES ${GTC_HEADER})
29 | source_group("GTX Files" FILES ${GTX_SOURCE})
30 | source_group("GTX Files" FILES ${GTX_INLINE})
31 | source_group("GTX Files" FILES ${GTX_HEADER})
32 |
33 | include_directories(${CMAKE_CURRENT_SOURCE_DIR}/..)
34 |
35 | if(GLM_TEST_ENABLE)
36 | add_executable(${NAME} ${ROOT_TEXT} ${ROOT_MD} ${ROOT_NAT}
37 | ${ROOT_SOURCE} ${ROOT_INLINE} ${ROOT_HEADER}
38 | ${CORE_SOURCE} ${CORE_INLINE} ${CORE_HEADER}
39 | ${GTC_SOURCE} ${GTC_INLINE} ${GTC_HEADER}
40 | ${GTX_SOURCE} ${GTX_INLINE} ${GTX_HEADER})
41 | endif(GLM_TEST_ENABLE)
42 |
43 | #add_library(glm STATIC glm.cpp)
44 | #add_library(glm_shared SHARED glm.cpp)
45 |
--------------------------------------------------------------------------------
/gles-glm/glm/common.hpp:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref core
28 | /// @file glm/common.hpp
29 | /// @date 2013-12-24 / 2013-12-24
30 | /// @author Christophe Riccio
31 | ///////////////////////////////////////////////////////////////////////////////////
32 |
33 | #pragma once
34 |
35 | #include "detail/func_common.hpp"
36 |
--------------------------------------------------------------------------------
/gles-glm/glm/detail/_fixes.hpp:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref core
28 | /// @file glm/detail/_fixes.hpp
29 | /// @date 2011-02-21 / 2011-11-22
30 | /// @author Christophe Riccio
31 | ///////////////////////////////////////////////////////////////////////////////////
32 |
33 | #include
34 |
35 | //! Workaround for compatibility with other libraries
36 | #ifdef max
37 | #undef max
38 | #endif
39 |
40 | //! Workaround for compatibility with other libraries
41 | #ifdef min
42 | #undef min
43 | #endif
44 |
45 | //! Workaround for Android
46 | #ifdef isnan
47 | #undef isnan
48 | #endif
49 |
50 | //! Workaround for Android
51 | #ifdef isinf
52 | #undef isinf
53 | #endif
54 |
55 | //! Workaround for Chrone Native Client
56 | #ifdef log2
57 | #undef log2
58 | #endif
59 |
60 |
--------------------------------------------------------------------------------
/gles-glm/glm/detail/intrinsic_common.hpp:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | /// THE SOFTWARE.
22 | ///
23 | /// @ref core
24 | /// @file glm/detail/intrinsic_common.hpp
25 | /// @date 2009-05-11 / 2011-06-15
26 | /// @author Christophe Riccio
27 | ///////////////////////////////////////////////////////////////////////////////////
28 |
29 | #pragma once
30 |
31 | #include "setup.hpp"
32 |
33 | #if(!(GLM_ARCH & GLM_ARCH_SSE2))
34 | # error "SSE2 instructions not supported or enabled"
35 | #else
36 |
37 | namespace glm{
38 | namespace detail
39 | {
40 | __m128 sse_abs_ps(__m128 x);
41 |
42 | __m128 sse_sgn_ps(__m128 x);
43 |
44 | //floor
45 | __m128 sse_flr_ps(__m128 v);
46 |
47 | //trunc
48 | __m128 sse_trc_ps(__m128 v);
49 |
50 | //round
51 | __m128 sse_nd_ps(__m128 v);
52 |
53 | //roundEven
54 | __m128 sse_rde_ps(__m128 v);
55 |
56 | __m128 sse_rnd_ps(__m128 x);
57 |
58 | __m128 sse_ceil_ps(__m128 v);
59 |
60 | __m128 sse_frc_ps(__m128 x);
61 |
62 | __m128 sse_mod_ps(__m128 x, __m128 y);
63 |
64 | __m128 sse_modf_ps(__m128 x, __m128i & i);
65 |
66 | //GLM_FUNC_QUALIFIER __m128 sse_min_ps(__m128 x, __m128 y)
67 |
68 | //GLM_FUNC_QUALIFIER __m128 sse_max_ps(__m128 x, __m128 y)
69 |
70 | __m128 sse_clp_ps(__m128 v, __m128 minVal, __m128 maxVal);
71 |
72 | __m128 sse_mix_ps(__m128 v1, __m128 v2, __m128 a);
73 |
74 | __m128 sse_stp_ps(__m128 edge, __m128 x);
75 |
76 | __m128 sse_ssp_ps(__m128 edge0, __m128 edge1, __m128 x);
77 |
78 | __m128 sse_nan_ps(__m128 x);
79 |
80 | __m128 sse_inf_ps(__m128 x);
81 |
82 | }//namespace detail
83 | }//namespace glm
84 |
85 | #include "intrinsic_common.inl"
86 |
87 | #endif//GLM_ARCH
88 |
--------------------------------------------------------------------------------
/gles-glm/glm/detail/intrinsic_exponential.inl:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | /// THE SOFTWARE.
22 | ///
23 | /// @ref core
24 | /// @file glm/detail/intrinsic_exponential.inl
25 | /// @date 2011-06-15 / 2011-06-15
26 | /// @author Christophe Riccio
27 | ///////////////////////////////////////////////////////////////////////////////////
28 |
--------------------------------------------------------------------------------
/gles-glm/glm/detail/intrinsic_geometric.hpp:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | /// THE SOFTWARE.
22 | ///
23 | /// @ref core
24 | /// @file glm/detail/intrinsic_geometric.hpp
25 | /// @date 2009-05-08 / 2011-06-15
26 | /// @author Christophe Riccio
27 | ///////////////////////////////////////////////////////////////////////////////////
28 |
29 | #pragma once
30 |
31 | #include "setup.hpp"
32 |
33 | #if(!(GLM_ARCH & GLM_ARCH_SSE2))
34 | # error "SSE2 instructions not supported or enabled"
35 | #else
36 |
37 | #include "intrinsic_common.hpp"
38 |
39 | namespace glm{
40 | namespace detail
41 | {
42 | //length
43 | __m128 sse_len_ps(__m128 x);
44 |
45 | //distance
46 | __m128 sse_dst_ps(__m128 p0, __m128 p1);
47 |
48 | //dot
49 | __m128 sse_dot_ps(__m128 v1, __m128 v2);
50 |
51 | // SSE1
52 | __m128 sse_dot_ss(__m128 v1, __m128 v2);
53 |
54 | //cross
55 | __m128 sse_xpd_ps(__m128 v1, __m128 v2);
56 |
57 | //normalize
58 | __m128 sse_nrm_ps(__m128 v);
59 |
60 | //faceforward
61 | __m128 sse_ffd_ps(__m128 N, __m128 I, __m128 Nref);
62 |
63 | //reflect
64 | __m128 sse_rfe_ps(__m128 I, __m128 N);
65 |
66 | //refract
67 | __m128 sse_rfa_ps(__m128 I, __m128 N, __m128 eta);
68 |
69 | }//namespace detail
70 | }//namespace glm
71 |
72 | #include "intrinsic_geometric.inl"
73 |
74 | #endif//GLM_ARCH
75 |
--------------------------------------------------------------------------------
/gles-glm/glm/detail/intrinsic_integer.hpp:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | /// THE SOFTWARE.
22 | ///
23 | /// @ref core
24 | /// @file glm/detail/intrinsic_integer.hpp
25 | /// @date 2009-05-11 / 2011-06-15
26 | /// @author Christophe Riccio
27 | ///////////////////////////////////////////////////////////////////////////////////
28 |
29 | #pragma once
30 |
31 | #include "glm/glm.hpp"
32 |
33 | #if(!(GLM_ARCH & GLM_ARCH_SSE2))
34 | # error "SSE2 instructions not supported or enabled"
35 | #else
36 |
37 | namespace glm{
38 | namespace detail
39 | {
40 | __m128i _mm_bit_interleave_si128(__m128i x);
41 | __m128i _mm_bit_interleave_si128(__m128i x, __m128i y);
42 |
43 | }//namespace detail
44 | }//namespace glm
45 |
46 | #include "intrinsic_integer.inl"
47 |
48 | #endif//GLM_ARCH
49 |
--------------------------------------------------------------------------------
/gles-glm/glm/detail/intrinsic_matrix.hpp:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | /// THE SOFTWARE.
22 | ///
23 | /// @ref core
24 | /// @file glm/detail/intrinsic_common.hpp
25 | /// @date 2009-06-05 / 2011-06-15
26 | /// @author Christophe Riccio
27 | ///////////////////////////////////////////////////////////////////////////////////
28 |
29 | #pragma once
30 |
31 | #include "setup.hpp"
32 |
33 | #if(!(GLM_ARCH & GLM_ARCH_SSE2))
34 | # error "SSE2 instructions not supported or enabled"
35 | #else
36 |
37 | #include "intrinsic_geometric.hpp"
38 |
39 | namespace glm{
40 | namespace detail
41 | {
42 | void sse_add_ps(__m128 in1[4], __m128 in2[4], __m128 out[4]);
43 |
44 | void sse_sub_ps(__m128 in1[4], __m128 in2[4], __m128 out[4]);
45 |
46 | __m128 sse_mul_ps(__m128 m[4], __m128 v);
47 |
48 | __m128 sse_mul_ps(__m128 v, __m128 m[4]);
49 |
50 | void sse_mul_ps(__m128 const in1[4], __m128 const in2[4], __m128 out[4]);
51 |
52 | void sse_transpose_ps(__m128 const in[4], __m128 out[4]);
53 |
54 | void sse_inverse_ps(__m128 const in[4], __m128 out[4]);
55 |
56 | void sse_rotate_ps(__m128 const in[4], float Angle, float const v[3], __m128 out[4]);
57 |
58 | __m128 sse_det_ps(__m128 const m[4]);
59 |
60 | __m128 sse_slow_det_ps(__m128 const m[4]);
61 |
62 | }//namespace detail
63 | }//namespace glm
64 |
65 | #include "intrinsic_matrix.inl"
66 |
67 | #endif//GLM_ARCH
68 |
--------------------------------------------------------------------------------
/gles-glm/glm/detail/intrinsic_trigonometric.hpp:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | /// THE SOFTWARE.
22 | ///
23 | /// @ref core
24 | /// @file glm/detail/intrinsic_trigonometric.hpp
25 | /// @date 2009-06-09 / 2011-06-15
26 | /// @author Christophe Riccio
27 | ///////////////////////////////////////////////////////////////////////////////////
28 |
29 | #pragma once
30 |
31 | #include "setup.hpp"
32 |
33 | #if(!(GLM_ARCH & GLM_ARCH_SSE2))
34 | # error "SSE2 instructions not supported or enabled"
35 | #else
36 |
37 | namespace glm{
38 | namespace detail
39 | {
40 |
41 | }//namespace detail
42 | }//namespace glm
43 |
44 | #include "intrinsic_trigonometric.inl"
45 |
46 | #endif//GLM_ARCH
47 |
--------------------------------------------------------------------------------
/gles-glm/glm/detail/intrinsic_trigonometric.inl:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | /// THE SOFTWARE.
22 | ///
23 | /// @ref core
24 | /// @file glm/detail/intrinsic_trigonometric.inl
25 | /// @date 2011-06-15 / 2011-06-15
26 | /// @author Christophe Riccio
27 | ///////////////////////////////////////////////////////////////////////////////////
28 |
--------------------------------------------------------------------------------
/gles-glm/glm/detail/intrinsic_vector_relational.hpp:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | /// THE SOFTWARE.
22 | ///
23 | /// @ref core
24 | /// @file glm/detail/intrinsic_vector_relational.hpp
25 | /// @date 2009-06-09 / 2011-06-15
26 | /// @author Christophe Riccio
27 | ///////////////////////////////////////////////////////////////////////////////////
28 |
29 | #pragma once
30 |
31 | #include "setup.hpp"
32 |
33 | #if(!(GLM_ARCH & GLM_ARCH_SSE2))
34 | # error "SSE2 instructions not supported or enabled"
35 | #else
36 |
37 | namespace glm{
38 | namespace detail
39 | {
40 |
41 | }//namespace detail
42 | }//namespace glm
43 |
44 | #include "intrinsic_vector_relational.inl"
45 |
46 | #endif//GLM_ARCH
47 |
--------------------------------------------------------------------------------
/gles-glm/glm/detail/precision.hpp:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref core
28 | /// @file glm/detail/precision.hpp
29 | /// @date 2013-04-01 / 2013-04-01
30 | /// @author Christophe Riccio
31 | ///////////////////////////////////////////////////////////////////////////////////
32 |
33 | #pragma once
34 |
35 | namespace glm
36 | {
37 | enum precision
38 | {
39 | highp,
40 | mediump,
41 | lowp,
42 | simd,
43 | defaultp = highp
44 | };
45 | }//namespace glm
46 |
--------------------------------------------------------------------------------
/gles-glm/glm/detail/type_half.hpp:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref core
28 | /// @file glm/detail/type_half.hpp
29 | /// @date 2008-08-17 / 2011-09-20
30 | /// @author Christophe Riccio
31 | ///////////////////////////////////////////////////////////////////////////////////
32 |
33 | #pragma once
34 |
35 | #include "setup.hpp"
36 |
37 | namespace glm{
38 | namespace detail
39 | {
40 | typedef short hdata;
41 |
42 | GLM_FUNC_DECL float toFloat32(hdata value);
43 | GLM_FUNC_DECL hdata toFloat16(float const & value);
44 |
45 | }//namespace detail
46 | }//namespace glm
47 |
48 | #include "type_half.inl"
49 |
--------------------------------------------------------------------------------
/gles-glm/glm/detail/type_mat.inl:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref core
28 | /// @file glm/detail/type_mat.inl
29 | /// @date 2011-06-15 / 2011-06-15
30 | /// @author Christophe Riccio
31 | ///////////////////////////////////////////////////////////////////////////////////
32 |
33 |
--------------------------------------------------------------------------------
/gles-glm/glm/detail/type_vec.inl:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref core
28 | /// @file glm/detail/type_vec.inl
29 | /// @date 2011-06-15 / 2011-06-15
30 | /// @author Christophe Riccio
31 | ///////////////////////////////////////////////////////////////////////////////////
32 |
--------------------------------------------------------------------------------
/gles-glm/glm/detail/type_vec4_avx.inl:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref core
28 | /// @file glm/detail/type_tvec4_avx.inl
29 | /// @date 2014-12-01 / 2014-12-01
30 | /// @author Christophe Riccio
31 | ///////////////////////////////////////////////////////////////////////////////////
32 |
33 | namespace glm{
34 | namespace detail
35 | {
36 |
37 | }//namespace detail
38 |
39 |
40 |
41 | }//namespace glm
42 |
--------------------------------------------------------------------------------
/gles-glm/glm/detail/type_vec4_avx2.inl:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref core
28 | /// @file glm/detail/type_tvec4_avx2.inl
29 | /// @date 2014-12-01 / 2014-12-01
30 | /// @author Christophe Riccio
31 | ///////////////////////////////////////////////////////////////////////////////////
32 |
33 | namespace glm{
34 | namespace detail
35 | {
36 |
37 | }//namespace detail
38 |
39 |
40 |
41 | }//namespace glm
42 |
--------------------------------------------------------------------------------
/gles-glm/glm/exponential.hpp:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref core
28 | /// @file glm/exponential.hpp
29 | /// @date 2013-12-24 / 2013-12-24
30 | /// @author Christophe Riccio
31 | ///////////////////////////////////////////////////////////////////////////////////
32 |
33 | #pragma once
34 |
35 | #include "detail/func_exponential.hpp"
36 |
--------------------------------------------------------------------------------
/gles-glm/glm/geometric.hpp:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref core
28 | /// @file glm/geometric.hpp
29 | /// @date 2013-12-24 / 2013-12-24
30 | /// @author Christophe Riccio
31 | ///////////////////////////////////////////////////////////////////////////////////
32 |
33 | #pragma once
34 |
35 | #include "detail/func_geometric.hpp"
36 |
--------------------------------------------------------------------------------
/gles-glm/glm/gtc/integer.inl:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref gtc_integer
28 | /// @file glm/gtc/integer.inl
29 | /// @date 2014-11-17 / 2014-11-17
30 | /// @author Christophe Riccio
31 | ///////////////////////////////////////////////////////////////////////////////////
32 |
33 | namespace glm{
34 | namespace detail
35 | {
36 | template class vecType>
37 | struct compute_log2
38 | {
39 | GLM_FUNC_QUALIFIER static vecType call(vecType const & vec)
40 | {
41 | //Equivalent to return findMSB(vec); but save one function call in ASM with VC
42 | //return findMSB(vec);
43 | return vecType(detail::compute_findMSB_vec::call(vec));
44 | }
45 | };
46 |
47 | # if GLM_HAS_BITSCAN_WINDOWS
48 | template
49 | struct compute_log2
50 | {
51 | GLM_FUNC_QUALIFIER static tvec4 call(tvec4 const & vec)
52 | {
53 | tvec4 Result(glm::uninitialize);
54 |
55 | _BitScanReverse(reinterpret_cast(&Result.x), vec.x);
56 | _BitScanReverse(reinterpret_cast(&Result.y), vec.y);
57 | _BitScanReverse(reinterpret_cast(&Result.z), vec.z);
58 | _BitScanReverse(reinterpret_cast(&Result.w), vec.w);
59 |
60 | return Result;
61 | }
62 | };
63 | # endif//GLM_HAS_BITSCAN_WINDOWS
64 | }//namespace detail
65 | }//namespace glm
66 |
--------------------------------------------------------------------------------
/gles-glm/glm/gtc/type_precision.inl:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref gtc_swizzle
28 | /// @file glm/gtc/swizzle.inl
29 | /// @date 2009-06-14 / 2011-06-15
30 | /// @author Christophe Riccio
31 | ///////////////////////////////////////////////////////////////////////////////////
32 |
33 | namespace glm
34 | {
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/gles-glm/glm/gtc/vec1.inl:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref gtc_vec1
28 | /// @file glm/gtc/vec1.inl
29 | /// @date 2013-03-16 / 2013-03-16
30 | /// @author Christophe Riccio
31 | ///////////////////////////////////////////////////////////////////////////////////
32 |
--------------------------------------------------------------------------------
/gles-glm/glm/gtx/closest_point.hpp:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref gtx_closest_point
28 | /// @file glm/gtx/closest_point.hpp
29 | /// @date 2005-12-30 / 2011-06-07
30 | /// @author Christophe Riccio
31 | ///
32 | /// @see core (dependence)
33 | ///
34 | /// @defgroup gtx_closest_point GLM_GTX_closest_point
35 | /// @ingroup gtx
36 | ///
37 | /// @brief Find the point on a straight line which is the closet of a point.
38 | ///
39 | /// need to be included to use these functionalities.
40 | ///////////////////////////////////////////////////////////////////////////////////
41 |
42 | #pragma once
43 |
44 | // Dependency:
45 | #include "../glm.hpp"
46 |
47 | #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
48 | # pragma message("GLM: GLM_GTX_closest_point extension included")
49 | #endif
50 |
51 | namespace glm
52 | {
53 | /// @addtogroup gtx_closest_point
54 | /// @{
55 |
56 | /// Find the point on a straight line which is the closet of a point.
57 | /// @see gtx_closest_point
58 | template
59 | GLM_FUNC_DECL tvec3 closestPointOnLine(
60 | tvec3 const & point,
61 | tvec3 const & a,
62 | tvec3 const & b);
63 |
64 | /// 2d lines work as well
65 | template
66 | GLM_FUNC_DECL tvec2 closestPointOnLine(
67 | tvec2 const & point,
68 | tvec2 const & a,
69 | tvec2 const & b);
70 |
71 | /// @}
72 | }// namespace glm
73 |
74 | #include "closest_point.inl"
75 |
--------------------------------------------------------------------------------
/gles-glm/glm/gtx/closest_point.inl:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref gtx_closest_point
28 | /// @file glm/gtx/closest_point.inl
29 | /// @date 2005-12-30 / 2011-06-07
30 | /// @author Christophe Riccio
31 | ///////////////////////////////////////////////////////////////////////////////////////////////////
32 |
33 | namespace glm
34 | {
35 | template
36 | GLM_FUNC_QUALIFIER tvec3 closestPointOnLine
37 | (
38 | tvec3 const & point,
39 | tvec3 const & a,
40 | tvec3 const & b
41 | )
42 | {
43 | T LineLength = distance(a, b);
44 | tvec3 Vector = point - a;
45 | tvec3 LineDirection = (b - a) / LineLength;
46 |
47 | // Project Vector to LineDirection to get the distance of point from a
48 | T Distance = dot(Vector, LineDirection);
49 |
50 | if(Distance <= T(0)) return a;
51 | if(Distance >= LineLength) return b;
52 | return a + LineDirection * Distance;
53 | }
54 |
55 | template
56 | GLM_FUNC_QUALIFIER tvec2 closestPointOnLine
57 | (
58 | tvec2 const & point,
59 | tvec2 const & a,
60 | tvec2 const & b
61 | )
62 | {
63 | T LineLength = distance(a, b);
64 | tvec2 Vector = point - a;
65 | tvec2 LineDirection = (b - a) / LineLength;
66 |
67 | // Project Vector to LineDirection to get the distance of point from a
68 | T Distance = dot(Vector, LineDirection);
69 |
70 | if(Distance <= T(0)) return a;
71 | if(Distance >= LineLength) return b;
72 | return a + LineDirection * Distance;
73 | }
74 |
75 | }//namespace glm
76 |
--------------------------------------------------------------------------------
/gles-glm/glm/gtx/extend.hpp:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref gtx_extend
28 | /// @file glm/gtx/extend.hpp
29 | /// @date 2006-01-07 / 2011-06-07
30 | /// @author Christophe Riccio
31 | ///
32 | /// @see core (dependence)
33 | ///
34 | /// @defgroup gtx_extend GLM_GTX_extend
35 | /// @ingroup gtx
36 | ///
37 | /// @brief Extend a position from a source to a position at a defined length.
38 | ///
39 | /// need to be included to use these functionalities.
40 | ///////////////////////////////////////////////////////////////////////////////////
41 |
42 | #pragma once
43 |
44 | // Dependency:
45 | #include "../glm.hpp"
46 |
47 | #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
48 | # pragma message("GLM: GLM_GTX_extend extension included")
49 | #endif
50 |
51 | namespace glm
52 | {
53 | /// @addtogroup gtx_extend
54 | /// @{
55 |
56 | /// Extends of Length the Origin position using the (Source - Origin) direction.
57 | /// @see gtx_extend
58 | template
59 | GLM_FUNC_DECL genType extend(
60 | genType const & Origin,
61 | genType const & Source,
62 | typename genType::value_type const Length);
63 |
64 | /// @}
65 | }//namespace glm
66 |
67 | #include "extend.inl"
68 |
--------------------------------------------------------------------------------
/gles-glm/glm/gtx/extend.inl:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref gtx_extend
28 | /// @file glm/gtx/extend.inl
29 | /// @date 2006-01-07 / 2011-06-07
30 | /// @author Christophe Riccio
31 | ///////////////////////////////////////////////////////////////////////////////////////////////////
32 |
33 | namespace glm
34 | {
35 | template
36 | GLM_FUNC_QUALIFIER genType extend
37 | (
38 | genType const & Origin,
39 | genType const & Source,
40 | genType const & Distance
41 | )
42 | {
43 | return Origin + (Source - Origin) * Distance;
44 | }
45 |
46 | template
47 | GLM_FUNC_QUALIFIER tvec2 extend
48 | (
49 | tvec2 const & Origin,
50 | tvec2 const & Source,
51 | T const & Distance
52 | )
53 | {
54 | return Origin + (Source - Origin) * Distance;
55 | }
56 |
57 | template
58 | GLM_FUNC_QUALIFIER tvec3 extend
59 | (
60 | tvec3 const & Origin,
61 | tvec3 const & Source,
62 | T const & Distance
63 | )
64 | {
65 | return Origin + (Source - Origin) * Distance;
66 | }
67 |
68 | template
69 | GLM_FUNC_QUALIFIER tvec4 extend
70 | (
71 | tvec4 const & Origin,
72 | tvec4 const & Source,
73 | T const & Distance
74 | )
75 | {
76 | return Origin + (Source - Origin) * Distance;
77 | }
78 | }//namespace glm
79 |
--------------------------------------------------------------------------------
/gles-glm/glm/gtx/gradient_paint.inl:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref gtx_gradient_paint
28 | /// @file glm/gtx/gradient_paint.inl
29 | /// @date 2009-03-06 / 2013-04-09
30 | /// @author Christophe Riccio
31 | ///////////////////////////////////////////////////////////////////////////////////////////////////
32 |
33 | namespace glm
34 | {
35 | template
36 | GLM_FUNC_QUALIFIER T radialGradient
37 | (
38 | tvec2 const & Center,
39 | T const & Radius,
40 | tvec2 const & Focal,
41 | tvec2 const & Position
42 | )
43 | {
44 | tvec2 F = Focal - Center;
45 | tvec2 D = Position - Focal;
46 | T Radius2 = pow2(Radius);
47 | T Fx2 = pow2(F.x);
48 | T Fy2 = pow2(F.y);
49 |
50 | T Numerator = (D.x * F.x + D.y * F.y) + sqrt(Radius2 * (pow2(D.x) + pow2(D.y)) - pow2(D.x * F.y - D.y * F.x));
51 | T Denominator = Radius2 - (Fx2 + Fy2);
52 | return Numerator / Denominator;
53 | }
54 |
55 | template
56 | GLM_FUNC_QUALIFIER T linearGradient
57 | (
58 | tvec2 const & Point0,
59 | tvec2 const & Point1,
60 | tvec2 const & Position
61 | )
62 | {
63 | tvec2 Dist = Point1 - Point0;
64 | return (Dist.x * (Position.x - Point0.x) + Dist.y * (Position.y - Point0.y)) / glm::dot(Dist, Dist);
65 | }
66 | }//namespace glm
67 |
--------------------------------------------------------------------------------
/gles-glm/glm/gtx/handed_coordinate_space.inl:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref gtx_handed_coordinate_space
28 | /// @file glm/gtx/handed_coordinate_space.inl
29 | /// @date 2005-12-21 / 2009-02-19
30 | /// @author Christophe Riccio
31 | ///////////////////////////////////////////////////////////////////////////////////////////////////
32 |
33 | namespace glm
34 | {
35 | template
36 | GLM_FUNC_QUALIFIER bool rightHanded
37 | (
38 | tvec3 const & tangent,
39 | tvec3 const & binormal,
40 | tvec3 const & normal
41 | )
42 | {
43 | return dot(cross(normal, tangent), binormal) > T(0);
44 | }
45 |
46 | template
47 | GLM_FUNC_QUALIFIER bool leftHanded
48 | (
49 | tvec3 const & tangent,
50 | tvec3 const & binormal,
51 | tvec3 const & normal
52 | )
53 | {
54 | return dot(cross(normal, tangent), binormal) < T(0);
55 | }
56 | }//namespace glm
57 |
--------------------------------------------------------------------------------
/gles-glm/glm/gtx/log_base.hpp:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref gtx_log_base
28 | /// @file glm/gtx/log_base.hpp
29 | /// @date 2008-10-24 / 2011-06-07
30 | /// @author Christophe Riccio
31 | ///
32 | /// @see core (dependence)
33 | ///
34 | /// @defgroup gtx_log_base GLM_GTX_log_base
35 | /// @ingroup gtx
36 | ///
37 | /// @brief Logarithm for any base. base can be a vector or a scalar.
38 | ///
39 | /// need to be included to use these functionalities.
40 | ///////////////////////////////////////////////////////////////////////////////////
41 |
42 | #pragma once
43 |
44 | // Dependency:
45 | #include "../glm.hpp"
46 |
47 | #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
48 | # pragma message("GLM: GLM_GTX_log_base extension included")
49 | #endif
50 |
51 | namespace glm
52 | {
53 | /// @addtogroup gtx_log_base
54 | /// @{
55 |
56 | /// Logarithm for any base.
57 | /// From GLM_GTX_log_base.
58 | template
59 | GLM_FUNC_DECL genType log(
60 | genType const & x,
61 | genType const & base);
62 |
63 | /// Logarithm for any base.
64 | /// From GLM_GTX_log_base.
65 | template class vecType>
66 | GLM_FUNC_DECL vecType sign(
67 | vecType const & x,
68 | vecType const & base);
69 |
70 | /// @}
71 | }//namespace glm
72 |
73 | #include "log_base.inl"
74 |
--------------------------------------------------------------------------------
/gles-glm/glm/gtx/log_base.inl:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref gtx_log_base
28 | /// @file glm/gtx/log_base.inl
29 | /// @date 2008-10-24 / 2014-11-25
30 | /// @author Christophe Riccio
31 | ///////////////////////////////////////////////////////////////////////////////////
32 |
33 | namespace glm
34 | {
35 | template
36 | GLM_FUNC_QUALIFIER genType log(genType const & x, genType const & base)
37 | {
38 | assert(x != genType(0));
39 | return glm::log(x) / glm::log(base);
40 | }
41 |
42 | template class vecType>
43 | GLM_FUNC_QUALIFIER vecType log(vecType const & x, vecType const & base)
44 | {
45 | return glm::log(x) / glm::log(base);
46 | }
47 | }//namespace glm
48 |
--------------------------------------------------------------------------------
/gles-glm/glm/gtx/matrix_cross_product.hpp:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref gtx_matrix_cross_product
28 | /// @file glm/gtx/matrix_cross_product.hpp
29 | /// @date 2005-12-21 / 2011-06-07
30 | /// @author Christophe Riccio
31 | ///
32 | /// @see core (dependence)
33 | /// @see gtx_extented_min_max (dependence)
34 | ///
35 | /// @defgroup gtx_matrix_cross_product GLM_GTX_matrix_cross_product
36 | /// @ingroup gtx
37 | ///
38 | /// @brief Build cross product matrices
39 | ///
40 | /// need to be included to use these functionalities.
41 | ///////////////////////////////////////////////////////////////////////////////////
42 |
43 | #pragma once
44 |
45 | // Dependency:
46 | #include "../glm.hpp"
47 |
48 | #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
49 | # pragma message("GLM: GLM_GTX_matrix_cross_product extension included")
50 | #endif
51 |
52 | namespace glm
53 | {
54 | /// @addtogroup gtx_matrix_cross_product
55 | /// @{
56 |
57 | //! Build a cross product matrix.
58 | //! From GLM_GTX_matrix_cross_product extension.
59 | template
60 | GLM_FUNC_DECL tmat3x3 matrixCross3(
61 | tvec3 const & x);
62 |
63 | //! Build a cross product matrix.
64 | //! From GLM_GTX_matrix_cross_product extension.
65 | template
66 | GLM_FUNC_DECL tmat4x4 matrixCross4(
67 | tvec3 const & x);
68 |
69 | /// @}
70 | }//namespace glm
71 |
72 | #include "matrix_cross_product.inl"
73 |
--------------------------------------------------------------------------------
/gles-glm/glm/gtx/matrix_cross_product.inl:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref gtx_matrix_cross_product
28 | /// @file glm/gtx/matrix_cross_product.inl
29 | /// @date 2005-12-21 / 2005-12-21
30 | /// @author Christophe Riccio
31 | ///////////////////////////////////////////////////////////////////////////////////
32 |
33 | namespace glm
34 | {
35 | template
36 | GLM_FUNC_QUALIFIER tmat3x3 matrixCross3
37 | (
38 | tvec3 const & x
39 | )
40 | {
41 | tmat3x3 Result(T(0));
42 | Result[0][1] = x.z;
43 | Result[1][0] = -x.z;
44 | Result[0][2] = -x.y;
45 | Result[2][0] = x.y;
46 | Result[1][2] = x.x;
47 | Result[2][1] = -x.x;
48 | return Result;
49 | }
50 |
51 | template
52 | GLM_FUNC_QUALIFIER tmat4x4 matrixCross4
53 | (
54 | tvec3 const & x
55 | )
56 | {
57 | tmat4x4 Result(T(0));
58 | Result[0][1] = x.z;
59 | Result[1][0] = -x.z;
60 | Result[0][2] = -x.y;
61 | Result[2][0] = x.y;
62 | Result[1][2] = x.x;
63 | Result[2][1] = -x.x;
64 | return Result;
65 | }
66 |
67 | }//namespace glm
68 |
--------------------------------------------------------------------------------
/gles-glm/glm/gtx/matrix_decompose.hpp:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref gtx_matrix_decompose
28 | /// @file glm/gtx/matrix_decompose.hpp
29 | /// @date 2014-08-29 / 2014-08-29
30 | /// @author Christophe Riccio
31 | ///
32 | /// @see core (dependence)
33 | ///
34 | /// @defgroup gtx_matrix_decompose GLM_GTX_matrix_decompose
35 | /// @ingroup gtx
36 | ///
37 | /// @brief Decomposes a model matrix to translations, rotation and scale components
38 | ///
39 | /// need to be included to use these functionalities.
40 | ///////////////////////////////////////////////////////////////////////////////////
41 |
42 | #pragma once
43 |
44 | // Dependencies
45 | #include "../mat4x4.hpp"
46 | #include "../vec3.hpp"
47 | #include "../vec4.hpp"
48 | #include "../gtc/quaternion.hpp"
49 | #include "../gtc/matrix_transform.hpp"
50 |
51 | #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
52 | # pragma message("GLM: GLM_GTX_matrix_decompose extension included")
53 | #endif
54 |
55 | namespace glm
56 | {
57 | /// @addtogroup gtx_matrix_decompose
58 | /// @{
59 |
60 | /// Decomposes a model matrix to translations, rotation and scale components
61 | /// @see gtx_matrix_decompose
62 | template
63 | GLM_FUNC_DECL bool decompose(
64 | tmat4x4 const & modelMatrix,
65 | tvec3 & scale, tquat & orientation, tvec3 & translation, tvec3 & skew, tvec4 & perspective);
66 |
67 | /// @}
68 | }//namespace glm
69 |
70 | #include "matrix_decompose.inl"
71 |
--------------------------------------------------------------------------------
/gles-glm/glm/gtx/mixed_product.hpp:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref gtx_mixed_product
28 | /// @file glm/gtx/mixed_product.hpp
29 | /// @date 2007-04-03 / 2011-06-07
30 | /// @author Christophe Riccio
31 | ///
32 | /// @see core (dependence)
33 | ///
34 | /// @defgroup gtx_mixed_product GLM_GTX_mixed_producte
35 | /// @ingroup gtx
36 | ///
37 | /// @brief Mixed product of 3 vectors.
38 | ///
39 | /// need to be included to use these functionalities.
40 | ///////////////////////////////////////////////////////////////////////////////////
41 |
42 | #pragma once
43 |
44 | // Dependency:
45 | #include "../glm.hpp"
46 |
47 | #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
48 | # pragma message("GLM: GLM_GTX_mixed_product extension included")
49 | #endif
50 |
51 | namespace glm
52 | {
53 | /// @addtogroup gtx_mixed_product
54 | /// @{
55 |
56 | /// @brief Mixed product of 3 vectors (from GLM_GTX_mixed_product extension)
57 | template
58 | GLM_FUNC_DECL T mixedProduct(
59 | tvec3 const & v1,
60 | tvec3 const & v2,
61 | tvec3 const & v3);
62 |
63 | /// @}
64 | }// namespace glm
65 |
66 | #include "mixed_product.inl"
67 |
--------------------------------------------------------------------------------
/gles-glm/glm/gtx/mixed_product.inl:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref gtx_mixed_product
28 | /// @file glm/gtx/mixed_product.inl
29 | /// @date 2007-04-03 / 2008-09-17
30 | /// @author Christophe Riccio
31 | ///////////////////////////////////////////////////////////////////////////////////
32 |
33 | namespace glm
34 | {
35 | template
36 | GLM_FUNC_QUALIFIER T mixedProduct
37 | (
38 | tvec3 const & v1,
39 | tvec3 const & v2,
40 | tvec3 const & v3
41 | )
42 | {
43 | return dot(cross(v1, v2), v3);
44 | }
45 | }//namespace glm
46 |
--------------------------------------------------------------------------------
/gles-glm/glm/gtx/normal.hpp:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref gtx_normal
28 | /// @file glm/gtx/normal.hpp
29 | /// @date 2005-12-21 / 2011-06-07
30 | /// @author Christophe Riccio
31 | ///
32 | /// @see core (dependence)
33 | /// @see gtx_extented_min_max (dependence)
34 | ///
35 | /// @defgroup gtx_normal GLM_GTX_normal
36 | /// @ingroup gtx
37 | ///
38 | /// @brief Compute the normal of a triangle.
39 | ///
40 | /// need to be included to use these functionalities.
41 | ///////////////////////////////////////////////////////////////////////////////////
42 |
43 | #pragma once
44 |
45 | // Dependency:
46 | #include "../glm.hpp"
47 |
48 | #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
49 | # pragma message("GLM: GLM_GTX_normal extension included")
50 | #endif
51 |
52 | namespace glm
53 | {
54 | /// @addtogroup gtx_normal
55 | /// @{
56 |
57 | //! Computes triangle normal from triangle points.
58 | //! From GLM_GTX_normal extension.
59 | template
60 | GLM_FUNC_DECL tvec3 triangleNormal(
61 | tvec3 const & p1,
62 | tvec3 const & p2,
63 | tvec3 const & p3);
64 |
65 | /// @}
66 | }//namespace glm
67 |
68 | #include "normal.inl"
69 |
--------------------------------------------------------------------------------
/gles-glm/glm/gtx/normal.inl:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref gtx_normal
28 | /// @file glm/gtx/normal.inl
29 | /// @date 2005-12-21 / 2011-06-07
30 | /// @author Christophe Riccio
31 | ///////////////////////////////////////////////////////////////////////////////////
32 |
33 | namespace glm
34 | {
35 | template
36 | GLM_FUNC_QUALIFIER tvec3 triangleNormal
37 | (
38 | tvec3 const & p1,
39 | tvec3 const & p2,
40 | tvec3 const & p3
41 | )
42 | {
43 | return normalize(cross(p1 - p2, p1 - p3));
44 | }
45 | }//namespace glm
46 |
--------------------------------------------------------------------------------
/gles-glm/glm/gtx/normalize_dot.inl:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref gtx_normalize_dot
28 | /// @file glm/gtx/normalize_dot.inl
29 | /// @date 2007-09-28 / 2008-10-07
30 | /// @author Christophe Riccio
31 | //////////////////////////////////////////////////////////////////////////////////
32 |
33 | namespace glm
34 | {
35 | template class vecType>
36 | GLM_FUNC_QUALIFIER T normalizeDot(vecType const & x, vecType const & y)
37 | {
38 | return glm::dot(x, y) * glm::inversesqrt(glm::dot(x, x) * glm::dot(y, y));
39 | }
40 |
41 | template class vecType>
42 | GLM_FUNC_QUALIFIER T fastNormalizeDot(vecType const & x, vecType const & y)
43 | {
44 | return glm::dot(x, y) * glm::fastInverseSqrt(glm::dot(x, x) * glm::dot(y, y));
45 | }
46 | }//namespace glm
47 |
--------------------------------------------------------------------------------
/gles-glm/glm/gtx/number_precision.inl:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref gtx_number_precision
28 | /// @file glm/gtx/number_precision.inl
29 | /// @date 2007-05-10 / 2011-06-07
30 | /// @author Christophe Riccio
31 | ///////////////////////////////////////////////////////////////////////////////////
32 |
33 | namespace glm
34 | {
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/gles-glm/glm/gtx/optimum_pow.hpp:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref gtx_optimum_pow
28 | /// @file glm/gtx/optimum_pow.hpp
29 | /// @date 2005-12-21 / 2011-06-07
30 | /// @author Christophe Riccio
31 | ///
32 | /// @see core (dependence)
33 | ///
34 | /// @defgroup gtx_optimum_pow GLM_GTX_optimum_pow
35 | /// @ingroup gtx
36 | ///
37 | /// @brief Integer exponentiation of power functions.
38 | ///
39 | /// need to be included to use these functionalities.
40 | ///////////////////////////////////////////////////////////////////////////////////
41 |
42 | #pragma once
43 |
44 | // Dependency:
45 | #include "../glm.hpp"
46 |
47 | #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
48 | # pragma message("GLM: GLM_GTX_optimum_pow extension included")
49 | #endif
50 |
51 | namespace glm{
52 | namespace gtx
53 | {
54 | /// @addtogroup gtx_optimum_pow
55 | /// @{
56 |
57 | /// Returns x raised to the power of 2.
58 | ///
59 | /// @see gtx_optimum_pow
60 | template
61 | GLM_FUNC_DECL genType pow2(genType const & x);
62 |
63 | /// Returns x raised to the power of 3.
64 | ///
65 | /// @see gtx_optimum_pow
66 | template
67 | GLM_FUNC_DECL genType pow3(genType const & x);
68 |
69 | /// Returns x raised to the power of 4.
70 | ///
71 | /// @see gtx_optimum_pow
72 | template
73 | GLM_FUNC_DECL genType pow4(genType const & x);
74 |
75 | /// @}
76 | }//namespace gtx
77 | }//namespace glm
78 |
79 | #include "optimum_pow.inl"
80 |
--------------------------------------------------------------------------------
/gles-glm/glm/gtx/optimum_pow.inl:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref gtx_optimum_pow
28 | /// @file glm/gtx/optimum_pow.inl
29 | /// @date 2005-12-21 / 2011-06-07
30 | /// @author Christophe Riccio
31 | ///////////////////////////////////////////////////////////////////////////////////
32 |
33 | namespace glm
34 | {
35 | template
36 | GLM_FUNC_QUALIFIER genType pow2(genType const & x)
37 | {
38 | return x * x;
39 | }
40 |
41 | template
42 | GLM_FUNC_QUALIFIER genType pow3(genType const & x)
43 | {
44 | return x * x * x;
45 | }
46 |
47 | template
48 | GLM_FUNC_QUALIFIER genType pow4(genType const & x)
49 | {
50 | return (x * x) * (x * x);
51 | }
52 | }//namespace glm
53 |
--------------------------------------------------------------------------------
/gles-glm/glm/gtx/orthonormalize.hpp:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref gtx_orthonormalize
28 | /// @file glm/gtx/orthonormalize.hpp
29 | /// @date 2005-12-21 / 2011-06-07
30 | /// @author Christophe Riccio
31 | ///
32 | /// @see core (dependence)
33 | /// @see gtx_extented_min_max (dependence)
34 | ///
35 | /// @defgroup gtx_orthonormalize GLM_GTX_orthonormalize
36 | /// @ingroup gtx
37 | ///
38 | /// @brief Orthonormalize matrices.
39 | ///
40 | /// need to be included to use these functionalities.
41 | ///////////////////////////////////////////////////////////////////////////////////
42 |
43 | #pragma once
44 |
45 | // Dependency:
46 | #include "../vec3.hpp"
47 | #include "../mat3x3.hpp"
48 | #include "../geometric.hpp"
49 |
50 | #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
51 | # pragma message("GLM: GLM_GTX_orthonormalize extension included")
52 | #endif
53 |
54 | namespace glm
55 | {
56 | /// @addtogroup gtx_orthonormalize
57 | /// @{
58 |
59 | /// Returns the orthonormalized matrix of m.
60 | ///
61 | /// @see gtx_orthonormalize
62 | template
63 | GLM_FUNC_DECL tmat3x3 orthonormalize(tmat3x3 const & m);
64 |
65 | /// Orthonormalizes x according y.
66 | ///
67 | /// @see gtx_orthonormalize
68 | template
69 | GLM_FUNC_DECL tvec3 orthonormalize(tvec3 const & x, tvec3 const & y);
70 |
71 | /// @}
72 | }//namespace glm
73 |
74 | #include "orthonormalize.inl"
75 |
--------------------------------------------------------------------------------
/gles-glm/glm/gtx/orthonormalize.inl:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref gtx_orthonormalize
28 | /// @file glm/gtx/orthonormalize.inl
29 | /// @date 2005-12-21 / 2011-06-07
30 | /// @author Christophe Riccio
31 | ///////////////////////////////////////////////////////////////////////////////////
32 |
33 | namespace glm
34 | {
35 | template
36 | GLM_FUNC_QUALIFIER tmat3x3 orthonormalize(tmat3x3 const & m)
37 | {
38 | tmat3x3 r = m;
39 |
40 | r[0] = normalize(r[0]);
41 |
42 | T d0 = dot(r[0], r[1]);
43 | r[1] -= r[0] * d0;
44 | r[1] = normalize(r[1]);
45 |
46 | T d1 = dot(r[1], r[2]);
47 | d0 = dot(r[0], r[2]);
48 | r[2] -= r[0] * d0 + r[1] * d1;
49 | r[2] = normalize(r[2]);
50 |
51 | return r;
52 | }
53 |
54 | template
55 | GLM_FUNC_QUALIFIER tvec3 orthonormalize(tvec3 const & x, tvec3 const & y)
56 | {
57 | return normalize(x - y * dot(y, x));
58 | }
59 | }//namespace glm
60 |
--------------------------------------------------------------------------------
/gles-glm/glm/gtx/perpendicular.hpp:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref gtx_perpendicular
28 | /// @file glm/gtx/perpendicular.hpp
29 | /// @date 2005-12-21 / 2011-06-07
30 | /// @author Christophe Riccio
31 | ///
32 | /// @see core (dependence)
33 | /// @see gtx_projection (dependence)
34 | ///
35 | /// @defgroup gtx_perpendicular GLM_GTX_perpendicular
36 | /// @ingroup gtx
37 | ///
38 | /// @brief Perpendicular of a vector from other one
39 | ///
40 | /// need to be included to use these functionalities.
41 | ///////////////////////////////////////////////////////////////////////////////////
42 |
43 | #pragma once
44 |
45 | // Dependency:
46 | #include "../glm.hpp"
47 | #include "../gtx/projection.hpp"
48 |
49 | #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
50 | # pragma message("GLM: GLM_GTX_perpendicular extension included")
51 | #endif
52 |
53 | namespace glm
54 | {
55 | /// @addtogroup gtx_perpendicular
56 | /// @{
57 |
58 | //! Projects x a perpendicular axis of Normal.
59 | //! From GLM_GTX_perpendicular extension.
60 | template
61 | GLM_FUNC_DECL vecType perp(
62 | vecType const & x,
63 | vecType const & Normal);
64 |
65 | /// @}
66 | }//namespace glm
67 |
68 | #include "perpendicular.inl"
69 |
--------------------------------------------------------------------------------
/gles-glm/glm/gtx/perpendicular.inl:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref gtx_perpendicular
28 | /// @file glm/gtx/perpendicular.inl
29 | /// @date 2005-12-21 / 2011-06-07
30 | /// @author Christophe Riccio
31 | ///////////////////////////////////////////////////////////////////////////////////
32 |
33 | namespace glm
34 | {
35 | template
36 | GLM_FUNC_QUALIFIER vecType perp
37 | (
38 | vecType const & x,
39 | vecType const & Normal
40 | )
41 | {
42 | return x - proj(x, Normal);
43 | }
44 | }//namespace glm
45 |
--------------------------------------------------------------------------------
/gles-glm/glm/gtx/polar_coordinates.hpp:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref gtx_polar_coordinates
28 | /// @file glm/gtx/polar_coordinates.hpp
29 | /// @date 2007-03-06 / 2011-06-07
30 | /// @author Christophe Riccio
31 | ///
32 | /// @see core (dependence)
33 | ///
34 | /// @defgroup gtx_polar_coordinates GLM_GTX_polar_coordinates
35 | /// @ingroup gtx
36 | ///
37 | /// @brief Conversion from Euclidean space to polar space and revert.
38 | ///
39 | /// need to be included to use these functionalities.
40 | ///////////////////////////////////////////////////////////////////////////////////
41 |
42 | #pragma once
43 |
44 | // Dependency:
45 | #include "../glm.hpp"
46 |
47 | #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
48 | # pragma message("GLM: GLM_GTX_polar_coordinates extension included")
49 | #endif
50 |
51 | namespace glm
52 | {
53 | /// @addtogroup gtx_polar_coordinates
54 | /// @{
55 |
56 | /// Convert Euclidean to Polar coordinates, x is the xz distance, y, the latitude and z the longitude.
57 | ///
58 | /// @see gtx_polar_coordinates
59 | template
60 | GLM_FUNC_DECL tvec3 polar(
61 | tvec3 const & euclidean);
62 |
63 | /// Convert Polar to Euclidean coordinates.
64 | ///
65 | /// @see gtx_polar_coordinates
66 | template
67 | GLM_FUNC_DECL tvec3 euclidean(
68 | tvec2 const & polar);
69 |
70 | /// @}
71 | }//namespace glm
72 |
73 | #include "polar_coordinates.inl"
74 |
--------------------------------------------------------------------------------
/gles-glm/glm/gtx/polar_coordinates.inl:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref gtx_polar_coordinates
28 | /// @file glm/gtx/polar_coordinates.inl
29 | /// @date 2007-03-06 / 2011-06-07
30 | /// @author Christophe Riccio
31 | ///////////////////////////////////////////////////////////////////////////////////
32 |
33 | namespace glm
34 | {
35 | template
36 | GLM_FUNC_QUALIFIER tvec3 polar
37 | (
38 | tvec3 const & euclidean
39 | )
40 | {
41 | T const Length(length(euclidean));
42 | tvec3 const tmp(euclidean / Length);
43 | T const xz_dist(sqrt(tmp.x * tmp.x + tmp.z * tmp.z));
44 |
45 | return tvec3(
46 | atan(xz_dist, tmp.y), // latitude
47 | atan(tmp.x, tmp.z), // longitude
48 | xz_dist); // xz distance
49 | }
50 |
51 | template
52 | GLM_FUNC_QUALIFIER tvec3 euclidean
53 | (
54 | tvec2 const & polar
55 | )
56 | {
57 | T const latitude(polar.x);
58 | T const longitude(polar.y);
59 |
60 | return tvec3(
61 | cos(latitude) * sin(longitude),
62 | sin(latitude),
63 | cos(latitude) * cos(longitude));
64 | }
65 |
66 | }//namespace glm
67 |
--------------------------------------------------------------------------------
/gles-glm/glm/gtx/projection.hpp:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref gtx_projection
28 | /// @file glm/gtx/projection.hpp
29 | /// @date 2005-12-21 / 2011-06-07
30 | /// @author Christophe Riccio
31 | ///
32 | /// @see core (dependence)
33 | ///
34 | /// @defgroup gtx_projection GLM_GTX_projection
35 | /// @ingroup gtx
36 | ///
37 | /// @brief Projection of a vector to other one
38 | ///
39 | /// need to be included to use these functionalities.
40 | ///////////////////////////////////////////////////////////////////////////////////
41 |
42 | #pragma once
43 |
44 | // Dependency:
45 | #include "../geometric.hpp"
46 |
47 | #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
48 | # pragma message("GLM: GLM_GTX_projection extension included")
49 | #endif
50 |
51 | namespace glm
52 | {
53 | /// @addtogroup gtx_projection
54 | /// @{
55 |
56 | /// Projects x on Normal.
57 | ///
58 | /// @see gtx_projection
59 | template
60 | GLM_FUNC_DECL vecType proj(vecType const & x, vecType const & Normal);
61 |
62 | /// @}
63 | }//namespace glm
64 |
65 | #include "projection.inl"
66 |
--------------------------------------------------------------------------------
/gles-glm/glm/gtx/projection.inl:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref gtx_projection
28 | /// @file glm/gtx/projection.inl
29 | /// @date 2005-12-21 / 2011-06-07
30 | /// @author Christophe Riccio
31 | ///////////////////////////////////////////////////////////////////////////////////
32 |
33 | namespace glm
34 | {
35 | template
36 | GLM_FUNC_QUALIFIER vecType proj(vecType const & x, vecType const & Normal)
37 | {
38 | return glm::dot(x, Normal) / glm::dot(Normal, Normal) * Normal;
39 | }
40 | }//namespace glm
41 |
--------------------------------------------------------------------------------
/gles-glm/glm/gtx/raw_data.hpp:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref gtx_raw_data
28 | /// @file glm/gtx/raw_data.hpp
29 | /// @date 2008-11-19 / 2011-06-07
30 | /// @author Christophe Riccio
31 | ///
32 | /// @see core (dependence)
33 | ///
34 | /// @defgroup gtx_raw_data GLM_GTX_raw_data
35 | /// @ingroup gtx
36 | ///
37 | /// @brief Projection of a vector to other one
38 | ///
39 | /// need to be included to use these functionalities.
40 | ///////////////////////////////////////////////////////////////////////////////////
41 |
42 | #pragma once
43 |
44 | // Dependencies
45 | #include "../detail/setup.hpp"
46 | #include "../detail/type_int.hpp"
47 |
48 | #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
49 | # pragma message("GLM: GLM_GTX_raw_data extension included")
50 | #endif
51 |
52 | namespace glm
53 | {
54 | /// @addtogroup gtx_raw_data
55 | /// @{
56 |
57 | //! Type for byte numbers.
58 | //! From GLM_GTX_raw_data extension.
59 | typedef detail::uint8 byte;
60 |
61 | //! Type for word numbers.
62 | //! From GLM_GTX_raw_data extension.
63 | typedef detail::uint16 word;
64 |
65 | //! Type for dword numbers.
66 | //! From GLM_GTX_raw_data extension.
67 | typedef detail::uint32 dword;
68 |
69 | //! Type for qword numbers.
70 | //! From GLM_GTX_raw_data extension.
71 | typedef detail::uint64 qword;
72 |
73 | /// @}
74 | }// namespace glm
75 |
76 | #include "raw_data.inl"
77 |
--------------------------------------------------------------------------------
/gles-glm/glm/gtx/raw_data.inl:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref gtx_raw_data
28 | /// @file glm/gtx/raw_data.inl
29 | /// @date 2008-11-19 / 2011-06-07
30 | /// @author Christophe Riccio
31 | ///////////////////////////////////////////////////////////////////////////////////
32 |
--------------------------------------------------------------------------------
/gles-glm/glm/gtx/scalar_relational.hpp:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref gtx_scalar_relational
28 | /// @file glm/gtx/scalar_relational.hpp
29 | /// @date 2013-02-04 / 2013-02-04
30 | /// @author Christophe Riccio
31 | ///
32 | /// @see core (dependence)
33 | ///
34 | /// @defgroup gtx_scalar_relational GLM_GTX_scalar_relational
35 | /// @ingroup gtx
36 | ///
37 | /// @brief Extend a position from a source to a position at a defined length.
38 | ///
39 | /// need to be included to use these functionalities.
40 | ///////////////////////////////////////////////////////////////////////////////////
41 |
42 | #pragma once
43 |
44 | // Dependency:
45 | #include "../glm.hpp"
46 |
47 | #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
48 | # pragma message("GLM: GLM_GTX_extend extension included")
49 | #endif
50 |
51 | namespace glm
52 | {
53 | /// @addtogroup gtx_scalar_relational
54 | /// @{
55 |
56 |
57 |
58 | /// @}
59 | }//namespace glm
60 |
61 | #include "scalar_relational.inl"
62 |
--------------------------------------------------------------------------------
/gles-glm/glm/gtx/std_based_type.inl:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref gtx_std_based_type
28 | /// @file glm/gtx/std_based_type.inl
29 | /// @date 2008-06-08 / 2011-06-07
30 | /// @author Christophe Riccio
31 | ///////////////////////////////////////////////////////////////////////////////////
32 |
33 | namespace glm
34 | {
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/gles-glm/glm/gtx/transform.inl:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref gtx_transform
28 | /// @file glm/gtx/transform.inl
29 | /// @date 2005-12-21 / 2011-06-07
30 | /// @author Christophe Riccio
31 | ///////////////////////////////////////////////////////////////////////////////////
32 |
33 | namespace glm
34 | {
35 | template
36 | GLM_FUNC_QUALIFIER tmat4x4 translate(
37 | tvec3 const & v)
38 | {
39 | return translate(
40 | tmat4x4(1.0f), v);
41 | }
42 |
43 | template
44 | GLM_FUNC_QUALIFIER tmat4x4 rotate(
45 | T angle,
46 | tvec3 const & v)
47 | {
48 | return rotate(
49 | tmat4x4(1), angle, v);
50 | }
51 |
52 | template
53 | GLM_FUNC_QUALIFIER tmat4x4 scale(
54 | tvec3 const & v)
55 | {
56 | return scale(
57 | tmat4x4(1.0f), v);
58 | }
59 |
60 | }//namespace glm
61 |
--------------------------------------------------------------------------------
/gles-glm/glm/gtx/type_aligned.inl:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref gtc_type_aligned
28 | /// @file glm/gtc/type_aligned.inl
29 | /// @date 2014-11-23 / 2014-11-23
30 | /// @author Christophe Riccio
31 | ///////////////////////////////////////////////////////////////////////////////////
32 |
33 | namespace glm
34 | {
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/gles-glm/glm/integer.hpp:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref core
28 | /// @file glm/integer.hpp
29 | /// @date 2013-12-24 / 2013-12-24
30 | /// @author Christophe Riccio
31 | ///////////////////////////////////////////////////////////////////////////////////
32 |
33 | #pragma once
34 |
35 | #include "detail/func_integer.hpp"
36 |
--------------------------------------------------------------------------------
/gles-glm/glm/matrix.hpp:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref core
28 | /// @file glm/matrix.hpp
29 | /// @date 2013-12-24 / 2013-12-24
30 | /// @author Christophe Riccio
31 | ///////////////////////////////////////////////////////////////////////////////////
32 |
33 | #pragma once
34 |
35 | #include "detail/func_matrix.hpp"
36 |
--------------------------------------------------------------------------------
/gles-glm/glm/packing.hpp:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref core
28 | /// @file glm/packing.hpp
29 | /// @date 2013-12-24 / 2013-12-24
30 | /// @author Christophe Riccio
31 | ///////////////////////////////////////////////////////////////////////////////////
32 |
33 | #pragma once
34 |
35 | #include "detail/func_packing.hpp"
36 |
--------------------------------------------------------------------------------
/gles-glm/glm/trigonometric.hpp:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref core
28 | /// @file glm/trigonometric.hpp
29 | /// @date 2013-12-24 / 2013-12-24
30 | /// @author Christophe Riccio
31 | ///////////////////////////////////////////////////////////////////////////////////
32 |
33 | #pragma once
34 |
35 | #include "detail/func_trigonometric.hpp"
36 |
--------------------------------------------------------------------------------
/gles-glm/glm/vec2.hpp:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref core
28 | /// @file glm/vec2.hpp
29 | /// @date 2013-12-24 / 2013-12-24
30 | /// @author Christophe Riccio
31 | ///////////////////////////////////////////////////////////////////////////////////
32 |
33 | #pragma once
34 |
35 | #include "detail/type_vec2.hpp"
36 |
--------------------------------------------------------------------------------
/gles-glm/glm/vec3.hpp:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref core
28 | /// @file glm/vec3.hpp
29 | /// @date 2013-12-24 / 2013-12-24
30 | /// @author Christophe Riccio
31 | ///////////////////////////////////////////////////////////////////////////////////
32 |
33 | #pragma once
34 |
35 | #include "detail/type_vec3.hpp"
36 |
--------------------------------------------------------------------------------
/gles-glm/glm/vec4.hpp:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref core
28 | /// @file glm/vec4.hpp
29 | /// @date 2013-12-24 / 2013-12-24
30 | /// @author Christophe Riccio
31 | ///////////////////////////////////////////////////////////////////////////////////
32 |
33 | #pragma once
34 |
35 | #include "detail/type_vec4.hpp"
36 |
--------------------------------------------------------------------------------
/gles-glm/glm/vector_relational.hpp:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////
2 | /// OpenGL Mathematics (glm.g-truc.net)
3 | ///
4 | /// Copyright (c) 2005 - 2015 G-Truc Creation (www.g-truc.net)
5 | /// Permission is hereby granted, free of charge, to any person obtaining a copy
6 | /// of this software and associated documentation files (the "Software"), to deal
7 | /// in the Software without restriction, including without limitation the rights
8 | /// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | /// copies of the Software, and to permit persons to whom the Software is
10 | /// furnished to do so, subject to the following conditions:
11 | ///
12 | /// The above copyright notice and this permission notice shall be included in
13 | /// all copies or substantial portions of the Software.
14 | ///
15 | /// Restrictions:
16 | /// By making use of the Software for military purposes, you choose to make
17 | /// a Bunny unhappy.
18 | ///
19 | /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | /// THE SOFTWARE.
26 | ///
27 | /// @ref core
28 | /// @file glm/vector_relational.hpp
29 | /// @date 2013-12-24 / 2013-12-24
30 | /// @author Christophe Riccio
31 | ///////////////////////////////////////////////////////////////////////////////////
32 |
33 | #pragma once
34 |
35 | #include "detail/func_vector_relational.hpp"
36 |
--------------------------------------------------------------------------------
/gles-guideline/.cproject:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | make
23 |
24 | all
25 | false
26 | true
27 | true
28 |
29 |
30 | make
31 |
32 | clean
33 | false
34 | true
35 | true
36 |
37 |
38 | make
39 |
40 | clean all
41 | false
42 | true
43 | true
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
--------------------------------------------------------------------------------
/gles-guideline/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | gles-guideline
4 |
5 |
6 |
7 |
8 |
9 | com.qnx.tools.ide.qde.core.cbuilder
10 | clean,full,incremental,
11 |
12 |
13 | org.eclipse.cdt.core.errorOutputParser
14 | com.qnx.tools.ide.qde.core.IntelCErrorParser;com.qnx.tools.ide.qde.core.QdeExtraMakeErrorParser;org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.VCErrorParser;
15 |
16 |
17 | org.eclipse.cdt.make.core.build.command
18 | make
19 |
20 |
21 | org.eclipse.cdt.make.core.build.location
22 |
23 |
24 |
25 | org.eclipse.cdt.make.core.build.target.auto
26 | all
27 |
28 |
29 | org.eclipse.cdt.make.core.build.target.clean
30 | clean
31 |
32 |
33 | org.eclipse.cdt.make.core.build.target.full
34 | all
35 |
36 |
37 | org.eclipse.cdt.make.core.build.target.inc
38 | all
39 |
40 |
41 | org.eclipse.cdt.make.core.enableAutoBuild
42 | false
43 |
44 |
45 | org.eclipse.cdt.make.core.enableCleanBuild
46 | true
47 |
48 |
49 | org.eclipse.cdt.make.core.enableFullBuild
50 | true
51 |
52 |
53 | org.eclipse.cdt.make.core.enabledIncrementalBuild
54 | true
55 |
56 |
57 | org.eclipse.cdt.make.core.stopOnError
58 | false
59 |
60 |
61 | org.eclipse.cdt.make.core.useDefaultBuildCmd
62 | true
63 |
64 |
65 |
66 |
67 |
68 | org.eclipse.cdt.core.cnature
69 | com.qnx.tools.ide.qde.core.qnxnature
70 |
71 |
72 |
--------------------------------------------------------------------------------
/gles-guideline/Makefile:
--------------------------------------------------------------------------------
1 | LIST=CPU
2 | ifndef QRECURSE
3 | QRECURSE=recurse.mk
4 | ifdef QCONFIG
5 | QRDIR=$(dir $(QCONFIG))
6 | endif
7 | endif
8 | include $(QRDIR)$(QRECURSE)
9 |
--------------------------------------------------------------------------------
/gles-guideline/README.md:
--------------------------------------------------------------------------------
1 | ## Draw a triangle
2 |
3 | 이 예제는 EGL surface위에 default primitive인 삼각형을 그리는 예제이다.
4 |
5 |
--------------------------------------------------------------------------------
/gles-guideline/common.mk:
--------------------------------------------------------------------------------
1 | # This is an automatically generated record.
2 | # The area between QNX Internal Start and QNX Internal End is controlled by
3 | # the QNX IDE properties.
4 |
5 | ifndef QCONFIG
6 | QCONFIG=qconfig.mk
7 | endif
8 | include $(QCONFIG)
9 |
10 | #===== USEFILE - the file containing the usage message for the application.
11 | USEFILE=
12 |
13 | #===== EXTRA_LIBVPATH - a space-separated list of directories to search for library files.
14 | EXTRA_LIBVPATH+=$(QNX_TARGET)/$(CPU)$(VARIANT)/usr/lib
15 |
16 | #===== LIBS - a space-separated list of library items to be included in the link.
17 | LIBS+=EGL GLESv2 screen m
18 |
19 | include $(MKFILES_ROOT)/qmacros.mk
20 | ifndef QNX_INTERNAL
21 | QNX_INTERNAL=$(PROJECT_ROOT)/.qnx_internal.mk
22 | endif
23 | include $(QNX_INTERNAL)
24 |
25 | include $(MKFILES_ROOT)/qtargets.mk
26 |
27 | OPTIMIZE_TYPE_g=none
28 | OPTIMIZE_TYPE=$(OPTIMIZE_TYPE_$(filter g, $(VARIANTS)))
29 |
30 |
--------------------------------------------------------------------------------
/gles-lighting/.cproject:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | make
23 |
24 | all
25 | false
26 | true
27 | true
28 |
29 |
30 | make
31 |
32 | clean
33 | false
34 | true
35 | true
36 |
37 |
38 | make
39 |
40 | clean all
41 | false
42 | true
43 | true
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/gles-lighting/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | gles-lighting
4 |
5 |
6 |
7 |
8 |
9 | com.qnx.tools.ide.qde.core.cbuilder
10 | clean,full,incremental,
11 |
12 |
13 | org.eclipse.cdt.core.errorOutputParser
14 | com.qnx.tools.ide.qde.core.IntelCErrorParser;com.qnx.tools.ide.qde.core.QdeExtraMakeErrorParser;org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.VCErrorParser;
15 |
16 |
17 | org.eclipse.cdt.make.core.build.command
18 | make
19 |
20 |
21 | org.eclipse.cdt.make.core.build.location
22 |
23 |
24 |
25 | org.eclipse.cdt.make.core.build.target.auto
26 | all
27 |
28 |
29 | org.eclipse.cdt.make.core.build.target.clean
30 | clean
31 |
32 |
33 | org.eclipse.cdt.make.core.build.target.full
34 | all
35 |
36 |
37 | org.eclipse.cdt.make.core.build.target.inc
38 | all
39 |
40 |
41 | org.eclipse.cdt.make.core.enableAutoBuild
42 | false
43 |
44 |
45 | org.eclipse.cdt.make.core.enableCleanBuild
46 | true
47 |
48 |
49 | org.eclipse.cdt.make.core.enableFullBuild
50 | true
51 |
52 |
53 | org.eclipse.cdt.make.core.enabledIncrementalBuild
54 | true
55 |
56 |
57 | org.eclipse.cdt.make.core.stopOnError
58 | false
59 |
60 |
61 | org.eclipse.cdt.make.core.useDefaultBuildCmd
62 | true
63 |
64 |
65 |
66 |
67 |
68 | org.eclipse.cdt.core.cnature
69 | com.qnx.tools.ide.qde.core.qnxnature
70 |
71 |
72 |
--------------------------------------------------------------------------------
/gles-lighting/Makefile:
--------------------------------------------------------------------------------
1 | LIST=CPU
2 | ifndef QRECURSE
3 | QRECURSE=recurse.mk
4 | ifdef QCONFIG
5 | QRDIR=$(dir $(QCONFIG))
6 | endif
7 | endif
8 | include $(QRDIR)$(QRECURSE)
9 |
--------------------------------------------------------------------------------
/gles-lighting/README.md:
--------------------------------------------------------------------------------
1 | ## Draw a triangle
2 |
3 | 이 예제는 EGL surface위에 default primitive인 삼각형을 그리는 예제이다.
4 |
5 |
--------------------------------------------------------------------------------
/gles-lighting/common.mk:
--------------------------------------------------------------------------------
1 | # This is an automatically generated record.
2 | # The area between QNX Internal Start and QNX Internal End is controlled by
3 | # the QNX IDE properties.
4 |
5 | ifndef QCONFIG
6 | QCONFIG=qconfig.mk
7 | endif
8 | include $(QCONFIG)
9 |
10 | #===== USEFILE - the file containing the usage message for the application.
11 | USEFILE=
12 |
13 | #===== EXTRA_LIBVPATH - a space-separated list of directories to search for library files.
14 | EXTRA_LIBVPATH+=$(QNX_TARGET)/$(CPU)$(VARIANT)/usr/lib
15 |
16 | #===== LIBS - a space-separated list of library items to be included in the link.
17 | LIBS+=EGL GLESv2 screen m
18 |
19 | include $(MKFILES_ROOT)/qmacros.mk
20 | ifndef QNX_INTERNAL
21 | QNX_INTERNAL=$(PROJECT_ROOT)/.qnx_internal.mk
22 | endif
23 | include $(QNX_INTERNAL)
24 |
25 | include $(MKFILES_ROOT)/qtargets.mk
26 |
27 | OPTIMIZE_TYPE_g=none
28 | OPTIMIZE_TYPE=$(OPTIMIZE_TYPE_$(filter g, $(VARIANTS)))
29 |
30 |
--------------------------------------------------------------------------------
/gles-lighting/glExtension.h:
--------------------------------------------------------------------------------
1 | /*
2 | * glExtension.h
3 | *
4 | * Created on: 2016. 1. 13.
5 | * Author: hunkyo.jung
6 | */
7 |
8 | #ifndef GLEXTENTION_H_
9 | #define GLEXTENTION_H_
10 |
11 | #include
12 | #include
13 |
14 | #define kPI180 0.017453 // Pre-calculated value of PI / 180.
15 | #define k180PI 57.295780 // Pre-calculated value of 180 / PI.
16 | #define degreesToRadians(x) (x * kPI180) // Converts degrees to radians.
17 | #define radiansToDegrees(x) (x * k180PI) // Converts radians to degrees.
18 |
19 | void glExtLoadIdentity(float matrix[16]);
20 | void glExtScale(float matrix[16], const float sx, const float sy, const float sz);
21 | void glExtFrustum(float result[16], const float left, const float right, const float bottom, const float top, const float near, const float far);
22 | void glExtPerspective(GLfloat matrix[16], GLfloat fovy, GLfloat aspect, GLfloat near, GLfloat far);
23 | void glExtRotateX(float degrees, float matrix[16]);
24 | void glExtRotateY(float degrees, float matrix[16]);
25 | void glExtRotateZ(float degrees, float matrix[16]);
26 | void glExtMultiply(float result[16], float m1[16], float m2[16]);
27 | void glExtTranslate(GLfloat result[16], GLfloat x, GLfloat y, GLfloat z);
28 | float glExtGetLength(const float x, const float y, const float z);
29 | void glExtLookat(float* result, const float eyex, const float eyey, const float eyez, const float centerx, const float centery, const float centerz, const float upx, const float upy, const float upz);
30 |
31 | #endif /* GLEXTENTION_H_ */
32 |
--------------------------------------------------------------------------------
/gles-mvp/.cproject:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | make
23 |
24 | all
25 | false
26 | true
27 | true
28 |
29 |
30 | make
31 |
32 | clean
33 | false
34 | true
35 | true
36 |
37 |
38 | make
39 |
40 | clean all
41 | false
42 | true
43 | true
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/gles-mvp/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | gles-mvp
4 |
5 |
6 |
7 |
8 |
9 | com.qnx.tools.ide.qde.core.cbuilder
10 | clean,full,incremental,
11 |
12 |
13 | org.eclipse.cdt.core.errorOutputParser
14 | com.qnx.tools.ide.qde.core.IntelCErrorParser;com.qnx.tools.ide.qde.core.QdeExtraMakeErrorParser;org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.VCErrorParser;
15 |
16 |
17 | org.eclipse.cdt.make.core.build.command
18 | make
19 |
20 |
21 | org.eclipse.cdt.make.core.build.location
22 |
23 |
24 |
25 | org.eclipse.cdt.make.core.build.target.auto
26 | all
27 |
28 |
29 | org.eclipse.cdt.make.core.build.target.clean
30 | clean
31 |
32 |
33 | org.eclipse.cdt.make.core.build.target.full
34 | all
35 |
36 |
37 | org.eclipse.cdt.make.core.build.target.inc
38 | all
39 |
40 |
41 | org.eclipse.cdt.make.core.enableAutoBuild
42 | false
43 |
44 |
45 | org.eclipse.cdt.make.core.enableCleanBuild
46 | true
47 |
48 |
49 | org.eclipse.cdt.make.core.enableFullBuild
50 | true
51 |
52 |
53 | org.eclipse.cdt.make.core.enabledIncrementalBuild
54 | true
55 |
56 |
57 | org.eclipse.cdt.make.core.stopOnError
58 | false
59 |
60 |
61 | org.eclipse.cdt.make.core.useDefaultBuildCmd
62 | true
63 |
64 |
65 |
66 |
67 |
68 | org.eclipse.cdt.core.cnature
69 | com.qnx.tools.ide.qde.core.qnxnature
70 |
71 |
72 |
--------------------------------------------------------------------------------
/gles-mvp/Makefile:
--------------------------------------------------------------------------------
1 | LIST=CPU
2 | ifndef QRECURSE
3 | QRECURSE=recurse.mk
4 | ifdef QCONFIG
5 | QRDIR=$(dir $(QCONFIG))
6 | endif
7 | endif
8 | include $(QRDIR)$(QRECURSE)
9 |
--------------------------------------------------------------------------------
/gles-mvp/README.md:
--------------------------------------------------------------------------------
1 | ## Draw a triangle
2 |
3 | 이 예제는 EGL surface위에 default primitive인 삼각형을 그리는 예제이다.
4 |
5 |
--------------------------------------------------------------------------------
/gles-mvp/common.mk:
--------------------------------------------------------------------------------
1 | # This is an automatically generated record.
2 | # The area between QNX Internal Start and QNX Internal End is controlled by
3 | # the QNX IDE properties.
4 |
5 | ifndef QCONFIG
6 | QCONFIG=qconfig.mk
7 | endif
8 | include $(QCONFIG)
9 |
10 | #===== USEFILE - the file containing the usage message for the application.
11 | USEFILE=
12 |
13 | #===== EXTRA_LIBVPATH - a space-separated list of directories to search for library files.
14 | EXTRA_LIBVPATH+=$(QNX_TARGET)/$(CPU)$(VARIANT)/usr/lib
15 |
16 | #===== LIBS - a space-separated list of library items to be included in the link.
17 | LIBS+=EGL GLESv2 screen m
18 |
19 | include $(MKFILES_ROOT)/qmacros.mk
20 | ifndef QNX_INTERNAL
21 | QNX_INTERNAL=$(PROJECT_ROOT)/.qnx_internal.mk
22 | endif
23 | include $(QNX_INTERNAL)
24 |
25 | include $(MKFILES_ROOT)/qtargets.mk
26 |
27 | OPTIMIZE_TYPE_g=none
28 | OPTIMIZE_TYPE=$(OPTIMIZE_TYPE_$(filter g, $(VARIANTS)))
29 |
30 |
--------------------------------------------------------------------------------
/gles-mvp/glExtension.h:
--------------------------------------------------------------------------------
1 | /*
2 | * glExtension.h
3 | *
4 | * Created on: 2016. 1. 13.
5 | * Author: hunkyo.jung
6 | */
7 |
8 | #ifndef GLEXTENTION_H_
9 | #define GLEXTENTION_H_
10 |
11 | #include
12 | #include
13 |
14 | #define kPI180 0.017453 // Pre-calculated value of PI / 180.
15 | #define k180PI 57.295780 // Pre-calculated value of 180 / PI.
16 | #define degreesToRadians(x) (x * kPI180) // Converts degrees to radians.
17 | #define radiansToDegrees(x) (x * k180PI) // Converts radians to degrees.
18 |
19 | void glExtLoadIdentity(float matrix[16]);
20 | void glExtScale(float matrix[16], const float sx, const float sy, const float sz);
21 | void glExtFrustum(float result[16], const float left, const float right, const float bottom, const float top, const float near, const float far);
22 | void glExtPerspective(GLfloat matrix[16], GLfloat fovy, GLfloat aspect, GLfloat near, GLfloat far);
23 | void glExtRotateX(float degrees, float matrix[16]);
24 | void glExtRotateY(float degrees, float matrix[16]);
25 | void glExtRotateZ(float degrees, float matrix[16]);
26 | void glExtMultiply(float result[16], float m1[16], float m2[16]);
27 | void glExtTranslate(GLfloat result[16], GLfloat x, GLfloat y, GLfloat z);
28 | float glExtGetLength(const float x, const float y, const float z);
29 | void glExtLookat(float* result, const float eyex, const float eyey, const float eyez, const float centerx, const float centery, const float centerz, const float upx, const float upy, const float upz);
30 |
31 | #endif /* GLEXTENTION_H_ */
32 |
--------------------------------------------------------------------------------
/gles-mvp/shader.frag:
--------------------------------------------------------------------------------
1 | uniform lowp vec4 u_color;
2 |
3 | void main()
4 | {
5 | gl_FragColor = u_color;
6 | }
7 |
8 |
--------------------------------------------------------------------------------
/gles-mvp/shader.vert:
--------------------------------------------------------------------------------
1 | precision mediump float;
2 | attribute vec4 a_position;
3 | uniform mat4 u_projection;
4 | uniform mat4 u_view;
5 | uniform mat4 u_model;
6 |
7 | void main()
8 | {
9 | gl_Position = u_projection * u_view * u_model * a_position;
10 | }
11 |
12 |
--------------------------------------------------------------------------------
/gles-sample-projection/.cproject:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | make
23 |
24 | all
25 | false
26 | true
27 | true
28 |
29 |
30 | make
31 |
32 | clean
33 | false
34 | true
35 | true
36 |
37 |
38 | make
39 |
40 | clean all
41 | false
42 | true
43 | true
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/gles-sample-projection/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | gles-sample-projection
4 |
5 |
6 |
7 |
8 |
9 | com.qnx.tools.ide.qde.core.cbuilder
10 | clean,full,incremental,
11 |
12 |
13 | org.eclipse.cdt.core.errorOutputParser
14 | com.qnx.tools.ide.qde.core.IntelCErrorParser;com.qnx.tools.ide.qde.core.QdeExtraMakeErrorParser;org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.VCErrorParser;
15 |
16 |
17 | org.eclipse.cdt.make.core.build.command
18 | make
19 |
20 |
21 | org.eclipse.cdt.make.core.build.location
22 |
23 |
24 |
25 | org.eclipse.cdt.make.core.build.target.auto
26 | all
27 |
28 |
29 | org.eclipse.cdt.make.core.build.target.clean
30 | clean
31 |
32 |
33 | org.eclipse.cdt.make.core.build.target.full
34 | all
35 |
36 |
37 | org.eclipse.cdt.make.core.build.target.inc
38 | all
39 |
40 |
41 | org.eclipse.cdt.make.core.enableAutoBuild
42 | false
43 |
44 |
45 | org.eclipse.cdt.make.core.enableCleanBuild
46 | true
47 |
48 |
49 | org.eclipse.cdt.make.core.enableFullBuild
50 | true
51 |
52 |
53 | org.eclipse.cdt.make.core.enabledIncrementalBuild
54 | true
55 |
56 |
57 | org.eclipse.cdt.make.core.stopOnError
58 | false
59 |
60 |
61 | org.eclipse.cdt.make.core.useDefaultBuildCmd
62 | true
63 |
64 |
65 |
66 |
67 |
68 | org.eclipse.cdt.core.cnature
69 | com.qnx.tools.ide.qde.core.qnxnature
70 |
71 |
72 |
--------------------------------------------------------------------------------
/gles-sample-projection/Makefile:
--------------------------------------------------------------------------------
1 | LIST=CPU
2 | ifndef QRECURSE
3 | QRECURSE=recurse.mk
4 | ifdef QCONFIG
5 | QRDIR=$(dir $(QCONFIG))
6 | endif
7 | endif
8 | include $(QRDIR)$(QRECURSE)
9 |
--------------------------------------------------------------------------------
/gles-sample-projection/README.md:
--------------------------------------------------------------------------------
1 | ## Draw a triangle
2 |
3 | 이 예제는 EGL surface위에 default primitive인 삼각형을 그리는 예제이다.
4 |
5 |
--------------------------------------------------------------------------------
/gles-sample-projection/common.mk:
--------------------------------------------------------------------------------
1 | # This is an automatically generated record.
2 | # The area between QNX Internal Start and QNX Internal End is controlled by
3 | # the QNX IDE properties.
4 |
5 | ifndef QCONFIG
6 | QCONFIG=qconfig.mk
7 | endif
8 | include $(QCONFIG)
9 |
10 | #===== USEFILE - the file containing the usage message for the application.
11 | USEFILE=
12 |
13 | #===== EXTRA_LIBVPATH - a space-separated list of directories to search for library files.
14 | EXTRA_LIBVPATH+=$(QNX_TARGET)/$(CPU)$(VARIANT)/usr/lib
15 |
16 | #===== LIBS - a space-separated list of library items to be included in the link.
17 | LIBS+=EGL GLESv2 screen
18 |
19 | include $(MKFILES_ROOT)/qmacros.mk
20 | ifndef QNX_INTERNAL
21 | QNX_INTERNAL=$(PROJECT_ROOT)/.qnx_internal.mk
22 | endif
23 | include $(QNX_INTERNAL)
24 |
25 | include $(MKFILES_ROOT)/qtargets.mk
26 |
27 | OPTIMIZE_TYPE_g=none
28 | OPTIMIZE_TYPE=$(OPTIMIZE_TYPE_$(filter g, $(VARIANTS)))
29 |
30 |
--------------------------------------------------------------------------------
/gles-simple-texture/.cproject:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | make
23 |
24 | all
25 | false
26 | true
27 | true
28 |
29 |
30 | make
31 |
32 | clean
33 | false
34 | true
35 | true
36 |
37 |
38 | make
39 |
40 | clean all
41 | false
42 | true
43 | true
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/gles-simple-texture/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | gles-simple-texture
4 |
5 |
6 |
7 |
8 |
9 | com.qnx.tools.ide.qde.core.cbuilder
10 | clean,full,incremental,
11 |
12 |
13 | org.eclipse.cdt.core.errorOutputParser
14 | com.qnx.tools.ide.qde.core.IntelCErrorParser;com.qnx.tools.ide.qde.core.QdeExtraMakeErrorParser;org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.VCErrorParser;
15 |
16 |
17 | org.eclipse.cdt.make.core.build.command
18 | make
19 |
20 |
21 | org.eclipse.cdt.make.core.build.location
22 |
23 |
24 |
25 | org.eclipse.cdt.make.core.build.target.auto
26 | all
27 |
28 |
29 | org.eclipse.cdt.make.core.build.target.clean
30 | clean
31 |
32 |
33 | org.eclipse.cdt.make.core.build.target.full
34 | all
35 |
36 |
37 | org.eclipse.cdt.make.core.build.target.inc
38 | all
39 |
40 |
41 | org.eclipse.cdt.make.core.enableAutoBuild
42 | false
43 |
44 |
45 | org.eclipse.cdt.make.core.enableCleanBuild
46 | true
47 |
48 |
49 | org.eclipse.cdt.make.core.enableFullBuild
50 | true
51 |
52 |
53 | org.eclipse.cdt.make.core.enabledIncrementalBuild
54 | true
55 |
56 |
57 | org.eclipse.cdt.make.core.stopOnError
58 | false
59 |
60 |
61 | org.eclipse.cdt.make.core.useDefaultBuildCmd
62 | true
63 |
64 |
65 |
66 |
67 |
68 | org.eclipse.cdt.core.cnature
69 | com.qnx.tools.ide.qde.core.qnxnature
70 |
71 |
72 |
--------------------------------------------------------------------------------
/gles-simple-texture/Makefile:
--------------------------------------------------------------------------------
1 | LIST=CPU
2 | ifndef QRECURSE
3 | QRECURSE=recurse.mk
4 | ifdef QCONFIG
5 | QRDIR=$(dir $(QCONFIG))
6 | endif
7 | endif
8 | include $(QRDIR)$(QRECURSE)
9 |
--------------------------------------------------------------------------------
/gles-simple-texture/README.md:
--------------------------------------------------------------------------------
1 | ## Draw a triangle
2 |
3 | 이 예제는 EGL surface위에 default primitive인 삼각형을 그리는 예제이다.
4 |
5 |
--------------------------------------------------------------------------------
/gles-simple-texture/common.mk:
--------------------------------------------------------------------------------
1 | # This is an automatically generated record.
2 | # The area between QNX Internal Start and QNX Internal End is controlled by
3 | # the QNX IDE properties.
4 |
5 | ifndef QCONFIG
6 | QCONFIG=qconfig.mk
7 | endif
8 | include $(QCONFIG)
9 |
10 | #===== USEFILE - the file containing the usage message for the application.
11 | USEFILE=
12 |
13 | #===== EXTRA_LIBVPATH - a space-separated list of directories to search for library files.
14 | EXTRA_LIBVPATH+=$(QNX_TARGET)/$(CPU)$(VARIANT)/usr/lib
15 |
16 | #===== LIBS - a space-separated list of library items to be included in the link.
17 | LIBS+=EGL GLESv2 screen
18 |
19 | include $(MKFILES_ROOT)/qmacros.mk
20 | ifndef QNX_INTERNAL
21 | QNX_INTERNAL=$(PROJECT_ROOT)/.qnx_internal.mk
22 | endif
23 | include $(QNX_INTERNAL)
24 |
25 | include $(MKFILES_ROOT)/qtargets.mk
26 |
27 | OPTIMIZE_TYPE_g=none
28 | OPTIMIZE_TYPE=$(OPTIMIZE_TYPE_$(filter g, $(VARIANTS)))
29 |
30 |
--------------------------------------------------------------------------------
/gles-square/.cproject:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | make
23 |
24 | all
25 | false
26 | true
27 | true
28 |
29 |
30 | make
31 |
32 | clean
33 | false
34 | true
35 | true
36 |
37 |
38 | make
39 |
40 | clean all
41 | false
42 | true
43 | true
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/gles-square/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | gles-square
4 |
5 |
6 |
7 |
8 |
9 | com.qnx.tools.ide.qde.core.cbuilder
10 | clean,full,incremental,
11 |
12 |
13 | org.eclipse.cdt.core.errorOutputParser
14 | com.qnx.tools.ide.qde.core.IntelCErrorParser;com.qnx.tools.ide.qde.core.QdeExtraMakeErrorParser;org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.VCErrorParser;
15 |
16 |
17 | org.eclipse.cdt.make.core.build.command
18 | make
19 |
20 |
21 | org.eclipse.cdt.make.core.build.location
22 |
23 |
24 |
25 | org.eclipse.cdt.make.core.build.target.auto
26 | all
27 |
28 |
29 | org.eclipse.cdt.make.core.build.target.clean
30 | clean
31 |
32 |
33 | org.eclipse.cdt.make.core.build.target.full
34 | all
35 |
36 |
37 | org.eclipse.cdt.make.core.build.target.inc
38 | all
39 |
40 |
41 | org.eclipse.cdt.make.core.enableAutoBuild
42 | false
43 |
44 |
45 | org.eclipse.cdt.make.core.enableCleanBuild
46 | true
47 |
48 |
49 | org.eclipse.cdt.make.core.enableFullBuild
50 | true
51 |
52 |
53 | org.eclipse.cdt.make.core.enabledIncrementalBuild
54 | true
55 |
56 |
57 | org.eclipse.cdt.make.core.stopOnError
58 | false
59 |
60 |
61 | org.eclipse.cdt.make.core.useDefaultBuildCmd
62 | true
63 |
64 |
65 |
66 |
67 |
68 | org.eclipse.cdt.core.cnature
69 | com.qnx.tools.ide.qde.core.qnxnature
70 |
71 |
72 |
--------------------------------------------------------------------------------
/gles-square/Makefile:
--------------------------------------------------------------------------------
1 | LIST=CPU
2 | ifndef QRECURSE
3 | QRECURSE=recurse.mk
4 | ifdef QCONFIG
5 | QRDIR=$(dir $(QCONFIG))
6 | endif
7 | endif
8 | include $(QRDIR)$(QRECURSE)
9 |
--------------------------------------------------------------------------------
/gles-square/README.md:
--------------------------------------------------------------------------------
1 | ## Draw a triangle
2 |
3 | 이 예제는 EGL surface위에 default primitive인 삼각형을 그리는 예제이다.
4 |
5 |
--------------------------------------------------------------------------------
/gles-square/common.mk:
--------------------------------------------------------------------------------
1 | # This is an automatically generated record.
2 | # The area between QNX Internal Start and QNX Internal End is controlled by
3 | # the QNX IDE properties.
4 |
5 | ifndef QCONFIG
6 | QCONFIG=qconfig.mk
7 | endif
8 | include $(QCONFIG)
9 |
10 | #===== USEFILE - the file containing the usage message for the application.
11 | USEFILE=
12 |
13 | #===== EXTRA_LIBVPATH - a space-separated list of directories to search for library files.
14 | EXTRA_LIBVPATH+=$(QNX_TARGET)/$(CPU)$(VARIANT)/usr/lib
15 |
16 | #===== LIBS - a space-separated list of library items to be included in the link.
17 | LIBS+=EGL GLESv2 screen
18 |
19 | include $(MKFILES_ROOT)/qmacros.mk
20 | ifndef QNX_INTERNAL
21 | QNX_INTERNAL=$(PROJECT_ROOT)/.qnx_internal.mk
22 | endif
23 | include $(QNX_INTERNAL)
24 |
25 | include $(MKFILES_ROOT)/qtargets.mk
26 |
27 | OPTIMIZE_TYPE_g=none
28 | OPTIMIZE_TYPE=$(OPTIMIZE_TYPE_$(filter g, $(VARIANTS)))
29 |
30 |
--------------------------------------------------------------------------------
/gles-triangle/.cproject:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | make
23 |
24 | all
25 | false
26 | true
27 | true
28 |
29 |
30 | make
31 |
32 | clean
33 | false
34 | true
35 | true
36 |
37 |
38 | make
39 |
40 | clean all
41 | false
42 | true
43 | true
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/gles-triangle/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | gles-triangle
4 |
5 |
6 |
7 |
8 |
9 | com.qnx.tools.ide.qde.core.cbuilder
10 | clean,full,incremental,
11 |
12 |
13 | org.eclipse.cdt.core.errorOutputParser
14 | com.qnx.tools.ide.qde.core.IntelCErrorParser;com.qnx.tools.ide.qde.core.QdeExtraMakeErrorParser;org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.VCErrorParser;
15 |
16 |
17 | org.eclipse.cdt.make.core.build.command
18 | make
19 |
20 |
21 | org.eclipse.cdt.make.core.build.location
22 |
23 |
24 |
25 | org.eclipse.cdt.make.core.build.target.auto
26 | all
27 |
28 |
29 | org.eclipse.cdt.make.core.build.target.clean
30 | clean
31 |
32 |
33 | org.eclipse.cdt.make.core.build.target.full
34 | all
35 |
36 |
37 | org.eclipse.cdt.make.core.build.target.inc
38 | all
39 |
40 |
41 | org.eclipse.cdt.make.core.enableAutoBuild
42 | false
43 |
44 |
45 | org.eclipse.cdt.make.core.enableCleanBuild
46 | true
47 |
48 |
49 | org.eclipse.cdt.make.core.enableFullBuild
50 | true
51 |
52 |
53 | org.eclipse.cdt.make.core.enabledIncrementalBuild
54 | true
55 |
56 |
57 | org.eclipse.cdt.make.core.stopOnError
58 | false
59 |
60 |
61 | org.eclipse.cdt.make.core.useDefaultBuildCmd
62 | true
63 |
64 |
65 |
66 |
67 |
68 | org.eclipse.cdt.core.cnature
69 | com.qnx.tools.ide.qde.core.qnxnature
70 |
71 |
72 |
--------------------------------------------------------------------------------
/gles-triangle/Makefile:
--------------------------------------------------------------------------------
1 | LIST=CPU
2 | ifndef QRECURSE
3 | QRECURSE=recurse.mk
4 | ifdef QCONFIG
5 | QRDIR=$(dir $(QCONFIG))
6 | endif
7 | endif
8 | include $(QRDIR)$(QRECURSE)
9 |
--------------------------------------------------------------------------------
/gles-triangle/common.mk:
--------------------------------------------------------------------------------
1 | # This is an automatically generated record.
2 | # The area between QNX Internal Start and QNX Internal End is controlled by
3 | # the QNX IDE properties.
4 |
5 | ifndef QCONFIG
6 | QCONFIG=qconfig.mk
7 | endif
8 | include $(QCONFIG)
9 |
10 | #===== USEFILE - the file containing the usage message for the application.
11 | USEFILE=
12 |
13 | #===== EXTRA_LIBVPATH - a space-separated list of directories to search for library files.
14 | EXTRA_LIBVPATH+=$(QNX_TARGET)/$(CPU)$(VARIANT)/usr/lib
15 |
16 | #===== LIBS - a space-separated list of library items to be included in the link.
17 | LIBS+=EGL GLESv2 screen c
18 |
19 | include $(MKFILES_ROOT)/qmacros.mk
20 | ifndef QNX_INTERNAL
21 | QNX_INTERNAL=$(PROJECT_ROOT)/.qnx_internal.mk
22 | endif
23 | include $(QNX_INTERNAL)
24 |
25 | include $(MKFILES_ROOT)/qtargets.mk
26 |
27 | OPTIMIZE_TYPE_g=none
28 | OPTIMIZE_TYPE=$(OPTIMIZE_TYPE_$(filter g, $(VARIANTS)))
29 |
30 |
--------------------------------------------------------------------------------