summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt10
-rw-r--r--Project/Project.project458
-rw-r--r--Project/Renderer.h4
-rw-r--r--Project/Shader.cpp8
-rw-r--r--Project/VertexBufferLayout.h46
-rw-r--r--Project/Workspace.cpp2
-rw-r--r--Project/compile_flags.txt6
7 files changed, 507 insertions, 27 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2d622ca..f817335 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -38,6 +38,16 @@ file(GLOB PSP_SRC
"Project/fparser/fparser.cc"
"Project/fparser/fpoptimizer.cc"
"Project/wxMathPlot/*.cpp"
+ "Project/vendor/glm/*.hpp"
+ "Project/vendor/glm/detail/*.hpp"
+ "Project/vendor/glm/detail/*.inl"
+ "Project/vendor/glm/ext/*.hpp"
+ "Project/vendor/glm/ext/*.inl"
+ "Project/vendor/glm/gtc/*.hpp"
+ "Project/vendor/glm/gtc/*.inl"
+ "Project/vendor/glm/gtx/*.hpp"
+ "Project/vendor/glm/gtx/*.inl"
+ "Project/vendor/glm/simd/*.h"
)
add_executable(${PROJECT_NAME} WIN32 ${PSP_SRC})
diff --git a/Project/Project.project b/Project/Project.project
index c99a14b..b8871c2 100644
--- a/Project/Project.project
+++ b/Project/Project.project
@@ -137,7 +137,454 @@
<File Name="main.cpp"/>
</VirtualDirectory>
<VirtualDirectory Name="include">
+ <File Name="IndexBuffer.h"/>
+ <File Name="IndexBuffer.cpp"/>
+ <File Name="ProjectPropertiesForm.h"/>
+ <File Name="ProjectPropertiesForm.cpp"/>
+ <File Name="VertexBufferLayout.h"/>
+ <File Name="VertexBuffer.h"/>
+ <File Name="VertexBuffer.cpp"/>
+ <File Name="VertexArray.h"/>
+ <File Name="VertexArray.cpp"/>
+ <File Name="Renderer.h"/>
+ <File Name="Renderer.cpp"/>
+ <File Name="HMPlane.h"/>
+ <File Name="HMPlane.cpp"/>
+ <File Name="Shader.h"/>
+ <File Name="Shader.cpp"/>
<VirtualDirectory Name="model">
+ <VirtualDirectory Name="vendor">
+ <VirtualDirectory Name="glm">
+ <VirtualDirectory Name="simd">
+ <File Name="vendor/glm/simd/vector_relational.h"/>
+ <File Name="vendor/glm/simd/trigonometric.h"/>
+ <File Name="vendor/glm/simd/platform.h"/>
+ <File Name="vendor/glm/simd/packing.h"/>
+ <File Name="vendor/glm/simd/neon.h"/>
+ <File Name="vendor/glm/simd/matrix.h"/>
+ <File Name="vendor/glm/simd/integer.h"/>
+ <File Name="vendor/glm/simd/geometric.h"/>
+ <File Name="vendor/glm/simd/exponential.h"/>
+ <File Name="vendor/glm/simd/common.h"/>
+ </VirtualDirectory>
+ <VirtualDirectory Name="gtx">
+ <File Name="vendor/glm/gtx/wrap.inl"/>
+ <File Name="vendor/glm/gtx/wrap.hpp"/>
+ <File Name="vendor/glm/gtx/vector_query.inl"/>
+ <File Name="vendor/glm/gtx/vector_query.hpp"/>
+ <File Name="vendor/glm/gtx/vector_angle.inl"/>
+ <File Name="vendor/glm/gtx/vector_angle.hpp"/>
+ <File Name="vendor/glm/gtx/vec_swizzle.hpp"/>
+ <File Name="vendor/glm/gtx/type_trait.inl"/>
+ <File Name="vendor/glm/gtx/type_trait.hpp"/>
+ <File Name="vendor/glm/gtx/type_aligned.inl"/>
+ <File Name="vendor/glm/gtx/type_aligned.hpp"/>
+ <File Name="vendor/glm/gtx/transform2.inl"/>
+ <File Name="vendor/glm/gtx/transform2.hpp"/>
+ <File Name="vendor/glm/gtx/transform.inl"/>
+ <File Name="vendor/glm/gtx/transform.hpp"/>
+ <File Name="vendor/glm/gtx/texture.inl"/>
+ <File Name="vendor/glm/gtx/texture.hpp"/>
+ <File Name="vendor/glm/gtx/string_cast.inl"/>
+ <File Name="vendor/glm/gtx/string_cast.hpp"/>
+ <File Name="vendor/glm/gtx/std_based_type.inl"/>
+ <File Name="vendor/glm/gtx/std_based_type.hpp"/>
+ <File Name="vendor/glm/gtx/spline.inl"/>
+ <File Name="vendor/glm/gtx/spline.hpp"/>
+ <File Name="vendor/glm/gtx/scalar_relational.inl"/>
+ <File Name="vendor/glm/gtx/scalar_relational.hpp"/>
+ <File Name="vendor/glm/gtx/scalar_multiplication.hpp"/>
+ <File Name="vendor/glm/gtx/rotate_vector.inl"/>
+ <File Name="vendor/glm/gtx/rotate_vector.hpp"/>
+ <File Name="vendor/glm/gtx/rotate_normalized_axis.inl"/>
+ <File Name="vendor/glm/gtx/rotate_normalized_axis.hpp"/>
+ <File Name="vendor/glm/gtx/raw_data.inl"/>
+ <File Name="vendor/glm/gtx/raw_data.hpp"/>
+ <File Name="vendor/glm/gtx/range.hpp"/>
+ <File Name="vendor/glm/gtx/quaternion.inl"/>
+ <File Name="vendor/glm/gtx/quaternion.hpp"/>
+ <File Name="vendor/glm/gtx/projection.inl"/>
+ <File Name="vendor/glm/gtx/projection.hpp"/>
+ <File Name="vendor/glm/gtx/polar_coordinates.inl"/>
+ <File Name="vendor/glm/gtx/polar_coordinates.hpp"/>
+ <File Name="vendor/glm/gtx/perpendicular.inl"/>
+ <File Name="vendor/glm/gtx/perpendicular.hpp"/>
+ <File Name="vendor/glm/gtx/orthonormalize.inl"/>
+ <File Name="vendor/glm/gtx/orthonormalize.hpp"/>
+ <File Name="vendor/glm/gtx/optimum_pow.inl"/>
+ <File Name="vendor/glm/gtx/optimum_pow.hpp"/>
+ <File Name="vendor/glm/gtx/number_precision.inl"/>
+ <File Name="vendor/glm/gtx/number_precision.hpp"/>
+ <File Name="vendor/glm/gtx/normalize_dot.inl"/>
+ <File Name="vendor/glm/gtx/normalize_dot.hpp"/>
+ <File Name="vendor/glm/gtx/normal.inl"/>
+ <File Name="vendor/glm/gtx/normal.hpp"/>
+ <File Name="vendor/glm/gtx/norm.inl"/>
+ <File Name="vendor/glm/gtx/norm.hpp"/>
+ <File Name="vendor/glm/gtx/mixed_product.inl"/>
+ <File Name="vendor/glm/gtx/mixed_product.hpp"/>
+ <File Name="vendor/glm/gtx/matrix_transform_2d.inl"/>
+ <File Name="vendor/glm/gtx/matrix_transform_2d.hpp"/>
+ <File Name="vendor/glm/gtx/matrix_query.inl"/>
+ <File Name="vendor/glm/gtx/matrix_query.hpp"/>
+ <File Name="vendor/glm/gtx/matrix_operation.inl"/>
+ <File Name="vendor/glm/gtx/matrix_operation.hpp"/>
+ <File Name="vendor/glm/gtx/matrix_major_storage.inl"/>
+ <File Name="vendor/glm/gtx/matrix_major_storage.hpp"/>
+ <File Name="vendor/glm/gtx/matrix_interpolation.inl"/>
+ <File Name="vendor/glm/gtx/matrix_interpolation.hpp"/>
+ <File Name="vendor/glm/gtx/matrix_factorisation.inl"/>
+ <File Name="vendor/glm/gtx/matrix_factorisation.hpp"/>
+ <File Name="vendor/glm/gtx/matrix_decompose.inl"/>
+ <File Name="vendor/glm/gtx/matrix_decompose.hpp"/>
+ <File Name="vendor/glm/gtx/matrix_cross_product.inl"/>
+ <File Name="vendor/glm/gtx/matrix_cross_product.hpp"/>
+ <File Name="vendor/glm/gtx/log_base.inl"/>
+ <File Name="vendor/glm/gtx/log_base.hpp"/>
+ <File Name="vendor/glm/gtx/io.inl"/>
+ <File Name="vendor/glm/gtx/io.hpp"/>
+ <File Name="vendor/glm/gtx/intersect.inl"/>
+ <File Name="vendor/glm/gtx/intersect.hpp"/>
+ <File Name="vendor/glm/gtx/integer.inl"/>
+ <File Name="vendor/glm/gtx/integer.hpp"/>
+ <File Name="vendor/glm/gtx/hash.inl"/>
+ <File Name="vendor/glm/gtx/hash.hpp"/>
+ <File Name="vendor/glm/gtx/handed_coordinate_space.inl"/>
+ <File Name="vendor/glm/gtx/handed_coordinate_space.hpp"/>
+ <File Name="vendor/glm/gtx/gradient_paint.inl"/>
+ <File Name="vendor/glm/gtx/gradient_paint.hpp"/>
+ <File Name="vendor/glm/gtx/functions.inl"/>
+ <File Name="vendor/glm/gtx/functions.hpp"/>
+ <File Name="vendor/glm/gtx/float_notmalize.inl"/>
+ <File Name="vendor/glm/gtx/fast_trigonometry.inl"/>
+ <File Name="vendor/glm/gtx/fast_trigonometry.hpp"/>
+ <File Name="vendor/glm/gtx/fast_square_root.inl"/>
+ <File Name="vendor/glm/gtx/fast_square_root.hpp"/>
+ <File Name="vendor/glm/gtx/fast_exponential.inl"/>
+ <File Name="vendor/glm/gtx/fast_exponential.hpp"/>
+ <File Name="vendor/glm/gtx/exterior_product.inl"/>
+ <File Name="vendor/glm/gtx/exterior_product.hpp"/>
+ <File Name="vendor/glm/gtx/extended_min_max.inl"/>
+ <File Name="vendor/glm/gtx/extended_min_max.hpp"/>
+ <File Name="vendor/glm/gtx/extend.inl"/>
+ <File Name="vendor/glm/gtx/extend.hpp"/>
+ <File Name="vendor/glm/gtx/euler_angles.inl"/>
+ <File Name="vendor/glm/gtx/euler_angles.hpp"/>
+ <File Name="vendor/glm/gtx/easing.inl"/>
+ <File Name="vendor/glm/gtx/easing.hpp"/>
+ <File Name="vendor/glm/gtx/dual_quaternion.inl"/>
+ <File Name="vendor/glm/gtx/dual_quaternion.hpp"/>
+ <File Name="vendor/glm/gtx/component_wise.inl"/>
+ <File Name="vendor/glm/gtx/component_wise.hpp"/>
+ <File Name="vendor/glm/gtx/compatibility.inl"/>
+ <File Name="vendor/glm/gtx/compatibility.hpp"/>
+ <File Name="vendor/glm/gtx/common.inl"/>
+ <File Name="vendor/glm/gtx/common.hpp"/>
+ <File Name="vendor/glm/gtx/color_space_YCoCg.inl"/>
+ <File Name="vendor/glm/gtx/color_space_YCoCg.hpp"/>
+ <File Name="vendor/glm/gtx/color_space.inl"/>
+ <File Name="vendor/glm/gtx/color_space.hpp"/>
+ <File Name="vendor/glm/gtx/color_encoding.inl"/>
+ <File Name="vendor/glm/gtx/color_encoding.hpp"/>
+ <File Name="vendor/glm/gtx/closest_point.inl"/>
+ <File Name="vendor/glm/gtx/closest_point.hpp"/>
+ <File Name="vendor/glm/gtx/bit.inl"/>
+ <File Name="vendor/glm/gtx/bit.hpp"/>
+ <File Name="vendor/glm/gtx/associated_min_max.inl"/>
+ <File Name="vendor/glm/gtx/associated_min_max.hpp"/>
+ </VirtualDirectory>
+ <VirtualDirectory Name="gtc">
+ <File Name="vendor/glm/gtc/vec1.hpp"/>
+ <File Name="vendor/glm/gtc/ulp.inl"/>
+ <File Name="vendor/glm/gtc/ulp.hpp"/>
+ <File Name="vendor/glm/gtc/type_ptr.inl"/>
+ <File Name="vendor/glm/gtc/type_ptr.hpp"/>
+ <File Name="vendor/glm/gtc/type_precision.inl"/>
+ <File Name="vendor/glm/gtc/type_precision.hpp"/>
+ <File Name="vendor/glm/gtc/type_aligned.hpp"/>
+ <File Name="vendor/glm/gtc/round.inl"/>
+ <File Name="vendor/glm/gtc/round.hpp"/>
+ <File Name="vendor/glm/gtc/reciprocal.inl"/>
+ <File Name="vendor/glm/gtc/reciprocal.hpp"/>
+ <File Name="vendor/glm/gtc/random.inl"/>
+ <File Name="vendor/glm/gtc/random.hpp"/>
+ <File Name="vendor/glm/gtc/quaternion_simd.inl"/>
+ <File Name="vendor/glm/gtc/quaternion.inl"/>
+ <File Name="vendor/glm/gtc/quaternion.hpp"/>
+ <File Name="vendor/glm/gtc/packing.inl"/>
+ <File Name="vendor/glm/gtc/packing.hpp"/>
+ <File Name="vendor/glm/gtc/noise.inl"/>
+ <File Name="vendor/glm/gtc/noise.hpp"/>
+ <File Name="vendor/glm/gtc/matrix_transform.inl"/>
+ <File Name="vendor/glm/gtc/matrix_transform.hpp"/>
+ <File Name="vendor/glm/gtc/matrix_inverse.inl"/>
+ <File Name="vendor/glm/gtc/matrix_inverse.hpp"/>
+ <File Name="vendor/glm/gtc/matrix_integer.hpp"/>
+ <File Name="vendor/glm/gtc/matrix_access.inl"/>
+ <File Name="vendor/glm/gtc/matrix_access.hpp"/>
+ <File Name="vendor/glm/gtc/integer.inl"/>
+ <File Name="vendor/glm/gtc/integer.hpp"/>
+ <File Name="vendor/glm/gtc/epsilon.inl"/>
+ <File Name="vendor/glm/gtc/epsilon.hpp"/>
+ <File Name="vendor/glm/gtc/constants.inl"/>
+ <File Name="vendor/glm/gtc/constants.hpp"/>
+ <File Name="vendor/glm/gtc/color_space.inl"/>
+ <File Name="vendor/glm/gtc/color_space.hpp"/>
+ <File Name="vendor/glm/gtc/bitfield.inl"/>
+ <File Name="vendor/glm/gtc/bitfield.hpp"/>
+ </VirtualDirectory>
+ <VirtualDirectory Name="ext">
+ <File Name="vendor/glm/ext/vector_ulp.inl"/>
+ <File Name="vendor/glm/ext/vector_ulp.hpp"/>
+ <File Name="vendor/glm/ext/vector_uint4_sized.hpp"/>
+ <File Name="vendor/glm/ext/vector_uint4.hpp"/>
+ <File Name="vendor/glm/ext/vector_uint3_sized.hpp"/>
+ <File Name="vendor/glm/ext/vector_uint3.hpp"/>
+ <File Name="vendor/glm/ext/vector_uint2_sized.hpp"/>
+ <File Name="vendor/glm/ext/vector_uint2.hpp"/>
+ <File Name="vendor/glm/ext/vector_uint1_sized.hpp"/>
+ <File Name="vendor/glm/ext/vector_uint1.hpp"/>
+ <File Name="vendor/glm/ext/vector_relational.inl"/>
+ <File Name="vendor/glm/ext/vector_relational.hpp"/>
+ <File Name="vendor/glm/ext/vector_packing.inl"/>
+ <File Name="vendor/glm/ext/vector_packing.hpp"/>
+ <File Name="vendor/glm/ext/vector_integer.inl"/>
+ <File Name="vendor/glm/ext/vector_integer.hpp"/>
+ <File Name="vendor/glm/ext/vector_int4_sized.hpp"/>
+ <File Name="vendor/glm/ext/vector_int4.hpp"/>
+ <File Name="vendor/glm/ext/vector_int3_sized.hpp"/>
+ <File Name="vendor/glm/ext/vector_int3.hpp"/>
+ <File Name="vendor/glm/ext/vector_int2_sized.hpp"/>
+ <File Name="vendor/glm/ext/vector_int2.hpp"/>
+ <File Name="vendor/glm/ext/vector_int1_sized.hpp"/>
+ <File Name="vendor/glm/ext/vector_int1.hpp"/>
+ <File Name="vendor/glm/ext/vector_float4_precision.hpp"/>
+ <File Name="vendor/glm/ext/vector_float4.hpp"/>
+ <File Name="vendor/glm/ext/vector_float3_precision.hpp"/>
+ <File Name="vendor/glm/ext/vector_float3.hpp"/>
+ <File Name="vendor/glm/ext/vector_float2_precision.hpp"/>
+ <File Name="vendor/glm/ext/vector_float2.hpp"/>
+ <File Name="vendor/glm/ext/vector_float1_precision.hpp"/>
+ <File Name="vendor/glm/ext/vector_float1.hpp"/>
+ <File Name="vendor/glm/ext/vector_double4_precision.hpp"/>
+ <File Name="vendor/glm/ext/vector_double4.hpp"/>
+ <File Name="vendor/glm/ext/vector_double3_precision.hpp"/>
+ <File Name="vendor/glm/ext/vector_double3.hpp"/>
+ <File Name="vendor/glm/ext/vector_double2_precision.hpp"/>
+ <File Name="vendor/glm/ext/vector_double2.hpp"/>
+ <File Name="vendor/glm/ext/vector_double1_precision.hpp"/>
+ <File Name="vendor/glm/ext/vector_double1.hpp"/>
+ <File Name="vendor/glm/ext/vector_common.inl"/>
+ <File Name="vendor/glm/ext/vector_common.hpp"/>
+ <File Name="vendor/glm/ext/vector_bool4_precision.hpp"/>
+ <File Name="vendor/glm/ext/vector_bool4.hpp"/>
+ <File Name="vendor/glm/ext/vector_bool3_precision.hpp"/>
+ <File Name="vendor/glm/ext/vector_bool3.hpp"/>
+ <File Name="vendor/glm/ext/vector_bool2_precision.hpp"/>
+ <File Name="vendor/glm/ext/vector_bool2.hpp"/>
+ <File Name="vendor/glm/ext/vector_bool1_precision.hpp"/>
+ <File Name="vendor/glm/ext/vector_bool1.hpp"/>
+ <File Name="vendor/glm/ext/scalar_ulp.inl"/>
+ <File Name="vendor/glm/ext/scalar_ulp.hpp"/>
+ <File Name="vendor/glm/ext/scalar_uint_sized.hpp"/>
+ <File Name="vendor/glm/ext/scalar_relational.inl"/>
+ <File Name="vendor/glm/ext/scalar_relational.hpp"/>
+ <File Name="vendor/glm/ext/scalar_packing.inl"/>
+ <File Name="vendor/glm/ext/scalar_packing.hpp"/>
+ <File Name="vendor/glm/ext/scalar_integer.inl"/>
+ <File Name="vendor/glm/ext/scalar_integer.hpp"/>
+ <File Name="vendor/glm/ext/scalar_int_sized.hpp"/>
+ <File Name="vendor/glm/ext/scalar_constants.inl"/>
+ <File Name="vendor/glm/ext/scalar_constants.hpp"/>
+ <File Name="vendor/glm/ext/scalar_common.inl"/>
+ <File Name="vendor/glm/ext/scalar_common.hpp"/>
+ <File Name="vendor/glm/ext/quaternion_trigonometric.inl"/>
+ <File Name="vendor/glm/ext/quaternion_trigonometric.hpp"/>
+ <File Name="vendor/glm/ext/quaternion_transform.inl"/>
+ <File Name="vendor/glm/ext/quaternion_transform.hpp"/>
+ <File Name="vendor/glm/ext/quaternion_relational.inl"/>
+ <File Name="vendor/glm/ext/quaternion_relational.hpp"/>
+ <File Name="vendor/glm/ext/quaternion_geometric.inl"/>
+ <File Name="vendor/glm/ext/quaternion_geometric.hpp"/>
+ <File Name="vendor/glm/ext/quaternion_float_precision.hpp"/>
+ <File Name="vendor/glm/ext/quaternion_float.hpp"/>
+ <File Name="vendor/glm/ext/quaternion_exponential.inl"/>
+ <File Name="vendor/glm/ext/quaternion_exponential.hpp"/>
+ <File Name="vendor/glm/ext/quaternion_double_precision.hpp"/>
+ <File Name="vendor/glm/ext/quaternion_double.hpp"/>
+ <File Name="vendor/glm/ext/quaternion_common_simd.inl"/>
+ <File Name="vendor/glm/ext/quaternion_common.inl"/>
+ <File Name="vendor/glm/ext/quaternion_common.hpp"/>
+ <File Name="vendor/glm/ext/matrix_uint4x4_sized.hpp"/>
+ <File Name="vendor/glm/ext/matrix_uint4x4.hpp"/>
+ <File Name="vendor/glm/ext/matrix_uint4x3_sized.hpp"/>
+ <File Name="vendor/glm/ext/matrix_uint4x3.hpp"/>
+ <File Name="vendor/glm/ext/matrix_uint4x2_sized.hpp"/>
+ <File Name="vendor/glm/ext/matrix_uint4x2.hpp"/>
+ <File Name="vendor/glm/ext/matrix_uint3x4_sized.hpp"/>
+ <File Name="vendor/glm/ext/matrix_uint3x4.hpp"/>
+ <File Name="vendor/glm/ext/matrix_uint3x3_sized.hpp"/>
+ <File Name="vendor/glm/ext/matrix_uint3x3.hpp"/>
+ <File Name="vendor/glm/ext/matrix_uint3x2_sized.hpp"/>
+ <File Name="vendor/glm/ext/matrix_uint3x2.hpp"/>
+ <File Name="vendor/glm/ext/matrix_uint2x4_sized.hpp"/>
+ <File Name="vendor/glm/ext/matrix_uint2x4.hpp"/>
+ <File Name="vendor/glm/ext/matrix_uint2x3_sized.hpp"/>
+ <File Name="vendor/glm/ext/matrix_uint2x3.hpp"/>
+ <File Name="vendor/glm/ext/matrix_uint2x2_sized.hpp"/>
+ <File Name="vendor/glm/ext/matrix_uint2x2.hpp"/>
+ <File Name="vendor/glm/ext/matrix_transform.inl"/>
+ <File Name="vendor/glm/ext/matrix_transform.hpp"/>
+ <File Name="vendor/glm/ext/matrix_relational.inl"/>
+ <File Name="vendor/glm/ext/matrix_relational.hpp"/>
+ <File Name="vendor/glm/ext/matrix_projection.inl"/>
+ <File Name="vendor/glm/ext/matrix_projection.hpp"/>
+ <File Name="vendor/glm/ext/matrix_int4x4_sized.hpp"/>
+ <File Name="vendor/glm/ext/matrix_int4x4.hpp"/>
+ <File Name="vendor/glm/ext/matrix_int4x3_sized.hpp"/>
+ <File Name="vendor/glm/ext/matrix_int4x3.hpp"/>
+ <File Name="vendor/glm/ext/matrix_int4x2_sized.hpp"/>
+ <File Name="vendor/glm/ext/matrix_int4x2.hpp"/>
+ <File Name="vendor/glm/ext/matrix_int3x4_sized.hpp"/>
+ <File Name="vendor/glm/ext/matrix_int3x4.hpp"/>
+ <File Name="vendor/glm/ext/matrix_int3x3_sized.hpp"/>
+ <File Name="vendor/glm/ext/matrix_int3x3.hpp"/>
+ <File Name="vendor/glm/ext/matrix_int3x2_sized.hpp"/>
+ <File Name="vendor/glm/ext/matrix_int3x2.hpp"/>
+ <File Name="vendor/glm/ext/matrix_int2x4_sized.hpp"/>
+ <File Name="vendor/glm/ext/matrix_int2x4.hpp"/>
+ <File Name="vendor/glm/ext/matrix_int2x3_sized.hpp"/>
+ <File Name="vendor/glm/ext/matrix_int2x3.hpp"/>
+ <File Name="vendor/glm/ext/matrix_int2x2_sized.hpp"/>
+ <File Name="vendor/glm/ext/matrix_int2x2.hpp"/>
+ <File Name="vendor/glm/ext/matrix_float4x4_precision.hpp"/>
+ <File Name="vendor/glm/ext/matrix_float4x4.hpp"/>
+ <File Name="vendor/glm/ext/matrix_float4x3_precision.hpp"/>
+ <File Name="vendor/glm/ext/matrix_float4x3.hpp"/>
+ <File Name="vendor/glm/ext/matrix_float4x2_precision.hpp"/>
+ <File Name="vendor/glm/ext/matrix_float4x2.hpp"/>
+ <File Name="vendor/glm/ext/matrix_float3x4_precision.hpp"/>
+ <File Name="vendor/glm/ext/matrix_float3x4.hpp"/>
+ <File Name="vendor/glm/ext/matrix_float3x3_precision.hpp"/>
+ <File Name="vendor/glm/ext/matrix_float3x3.hpp"/>
+ <File Name="vendor/glm/ext/matrix_float3x2_precision.hpp"/>
+ <File Name="vendor/glm/ext/matrix_float3x2.hpp"/>
+ <File Name="vendor/glm/ext/matrix_float2x4_precision.hpp"/>
+ <File Name="vendor/glm/ext/matrix_float2x4.hpp"/>
+ <File Name="vendor/glm/ext/matrix_float2x3_precision.hpp"/>
+ <File Name="vendor/glm/ext/matrix_float2x3.hpp"/>
+ <File Name="vendor/glm/ext/matrix_float2x2_precision.hpp"/>
+ <File Name="vendor/glm/ext/matrix_float2x2.hpp"/>
+ <File Name="vendor/glm/ext/matrix_double4x4_precision.hpp"/>
+ <File Name="vendor/glm/ext/matrix_double4x4.hpp"/>
+ <File Name="vendor/glm/ext/matrix_double4x3_precision.hpp"/>
+ <File Name="vendor/glm/ext/matrix_double4x3.hpp"/>
+ <File Name="vendor/glm/ext/matrix_double4x2_precision.hpp"/>
+ <File Name="vendor/glm/ext/matrix_double4x2.hpp"/>
+ <File Name="vendor/glm/ext/matrix_double3x4_precision.hpp"/>
+ <File Name="vendor/glm/ext/matrix_double3x4.hpp"/>
+ <File Name="vendor/glm/ext/matrix_double3x3_precision.hpp"/>
+ <File Name="vendor/glm/ext/matrix_double3x3.hpp"/>
+ <File Name="vendor/glm/ext/matrix_double3x2_precision.hpp"/>
+ <File Name="vendor/glm/ext/matrix_double3x2.hpp"/>
+ <File Name="vendor/glm/ext/matrix_double2x4_precision.hpp"/>
+ <File Name="vendor/glm/ext/matrix_double2x4.hpp"/>
+ <File Name="vendor/glm/ext/matrix_double2x3_precision.hpp"/>
+ <File Name="vendor/glm/ext/matrix_double2x3.hpp"/>
+ <File Name="vendor/glm/ext/matrix_double2x2_precision.hpp"/>
+ <File Name="vendor/glm/ext/matrix_double2x2.hpp"/>
+ <File Name="vendor/glm/ext/matrix_common.inl"/>
+ <File Name="vendor/glm/ext/matrix_common.hpp"/>
+ <File Name="vendor/glm/ext/matrix_clip_space.inl"/>
+ <File Name="vendor/glm/ext/matrix_clip_space.hpp"/>
+ </VirtualDirectory>
+ <VirtualDirectory Name="detail">
+ <File Name="vendor/glm/detail/type_vec4_simd.inl"/>
+ <File Name="vendor/glm/detail/type_vec4.inl"/>
+ <File Name="vendor/glm/detail/type_vec4.hpp"/>
+ <File Name="vendor/glm/detail/type_vec3.inl"/>
+ <File Name="vendor/glm/detail/type_vec3.hpp"/>
+ <File Name="vendor/glm/detail/type_vec2.inl"/>
+ <File Name="vendor/glm/detail/type_vec2.hpp"/>
+ <File Name="vendor/glm/detail/type_vec1.inl"/>
+ <File Name="vendor/glm/detail/type_vec1.hpp"/>
+ <File Name="vendor/glm/detail/type_quat_simd.inl"/>
+ <File Name="vendor/glm/detail/type_quat.inl"/>
+ <File Name="vendor/glm/detail/type_quat.hpp"/>
+ <File Name="vendor/glm/detail/type_mat4x4_simd.inl"/>
+ <File Name="vendor/glm/detail/type_mat4x4.inl"/>
+ <File Name="vendor/glm/detail/type_mat4x4.hpp"/>
+ <File Name="vendor/glm/detail/type_mat4x3.inl"/>
+ <File Name="vendor/glm/detail/type_mat4x3.hpp"/>
+ <File Name="vendor/glm/detail/type_mat4x2.inl"/>
+ <File Name="vendor/glm/detail/type_mat4x2.hpp"/>
+ <File Name="vendor/glm/detail/type_mat3x4.inl"/>
+ <File Name="vendor/glm/detail/type_mat3x4.hpp"/>
+ <File Name="vendor/glm/detail/type_mat3x3.inl"/>
+ <File Name="vendor/glm/detail/type_mat3x3.hpp"/>
+ <File Name="vendor/glm/detail/type_mat3x2.inl"/>
+ <File Name="vendor/glm/detail/type_mat3x2.hpp"/>
+ <File Name="vendor/glm/detail/type_mat2x4.inl"/>
+ <File Name="vendor/glm/detail/type_mat2x4.hpp"/>
+ <File Name="vendor/glm/detail/type_mat2x3.inl"/>
+ <File Name="vendor/glm/detail/type_mat2x3.hpp"/>
+ <File Name="vendor/glm/detail/type_mat2x2.inl"/>
+ <File Name="vendor/glm/detail/type_mat2x2.hpp"/>
+ <File Name="vendor/glm/detail/type_half.inl"/>
+ <File Name="vendor/glm/detail/type_half.hpp"/>
+ <File Name="vendor/glm/detail/type_float.hpp"/>
+ <File Name="vendor/glm/detail/setup.hpp"/>
+ <File Name="vendor/glm/detail/qualifier.hpp"/>
+ <File Name="vendor/glm/detail/func_vector_relational_simd.inl"/>
+ <File Name="vendor/glm/detail/func_vector_relational.inl"/>
+ <File Name="vendor/glm/detail/func_trigonometric_simd.inl"/>
+ <File Name="vendor/glm/detail/func_trigonometric.inl"/>
+ <File Name="vendor/glm/detail/func_packing_simd.inl"/>
+ <File Name="vendor/glm/detail/func_packing.inl"/>
+ <File Name="vendor/glm/detail/func_matrix_simd.inl"/>
+ <File Name="vendor/glm/detail/func_matrix.inl"/>
+ <File Name="vendor/glm/detail/func_integer_simd.inl"/>
+ <File Name="vendor/glm/detail/func_integer.inl"/>
+ <File Name="vendor/glm/detail/func_geometric_simd.inl"/>
+ <File Name="vendor/glm/detail/func_geometric.inl"/>
+ <File Name="vendor/glm/detail/func_exponential_simd.inl"/>
+ <File Name="vendor/glm/detail/func_exponential.inl"/>
+ <File Name="vendor/glm/detail/func_common_simd.inl"/>
+ <File Name="vendor/glm/detail/func_common.inl"/>
+ <File Name="vendor/glm/detail/compute_vector_relational.hpp"/>
+ <File Name="vendor/glm/detail/compute_common.hpp"/>
+ <File Name="vendor/glm/detail/_vectorize.hpp"/>
+ <File Name="vendor/glm/detail/_swizzle_func.hpp"/>
+ <File Name="vendor/glm/detail/_swizzle.hpp"/>
+ <File Name="vendor/glm/detail/_noise.hpp"/>
+ <File Name="vendor/glm/detail/_fixes.hpp"/>
+ <File Name="vendor/glm/detail/_features.hpp"/>
+ </VirtualDirectory>
+ <File Name="vendor/glm/vector_relational.hpp"/>
+ <File Name="vendor/glm/vec4.hpp"/>
+ <File Name="vendor/glm/vec3.hpp"/>
+ <File Name="vendor/glm/vec2.hpp"/>
+ <File Name="vendor/glm/trigonometric.hpp"/>
+ <File Name="vendor/glm/packing.hpp"/>
+ <File Name="vendor/glm/matrix.hpp"/>
+ <File Name="vendor/glm/mat4x4.hpp"/>
+ <File Name="vendor/glm/mat4x3.hpp"/>
+ <File Name="vendor/glm/mat4x2.hpp"/>
+ <File Name="vendor/glm/mat3x4.hpp"/>
+ <File Name="vendor/glm/mat3x3.hpp"/>
+ <File Name="vendor/glm/mat3x2.hpp"/>
+ <File Name="vendor/glm/mat2x4.hpp"/>
+ <File Name="vendor/glm/mat2x3.hpp"/>
+ <File Name="vendor/glm/mat2x2.hpp"/>
+ <File Name="vendor/glm/integer.hpp"/>
+ <File Name="vendor/glm/glm.hpp"/>
+ <File Name="vendor/glm/geometric.hpp"/>
+ <File Name="vendor/glm/fwd.hpp"/>
+ <File Name="vendor/glm/ext.hpp"/>
+ <File Name="vendor/glm/exponential.hpp"/>
+ <File Name="vendor/glm/common.hpp"/>
+ </VirtualDirectory>
+ </VirtualDirectory>
<VirtualDirectory Name="simulation">
<File Name="PowerQuality.h"/>
<File Name="ElectricCalculation.h"/>
@@ -485,10 +932,19 @@
<Configuration Name="Release_Windows_x32" CompilerType="MinGW ( TDM-GCC-32 )" DebuggerType="GNU gdb debugger" Type="Executable" BuildCmpWithGlobalSettings="append" BuildLnkWithGlobalSettings="append" BuildResWithGlobalSettings="append">
<Compiler Options="-O2;-std=gnu++17;-Wall;$(shell wx-config --cflags)" C_Options="-O2;-Wall" Assembler="" Required="yes" PreCompiledHeader="" PCHInCommandLine="no" PCHFlags="" PCHFlagsPolicy="0">
<IncludePath Value="."/>
+ <IncludePath Value="vendor"/>
+ <IncludePath Value="..\ExtLibs\GLEW\include"/>
+ <IncludePath Value="..\ExtLibs\GLFW\include"/>
+ <Preprocessor Value="GLEW_STATIC"/>
<Preprocessor Value="NDEBUG"/>
<Preprocessor Value="UNICODE"/>
</Compiler>
- <Linker Options="-mwindows;$(shell wx-config --libs std,adv,ribbon,aui,propgrid,richtext,stc,gl);-static" Required="yes"/>
+ <Linker Options="-mwindows;$(shell wx-config --libs std,adv,ribbon,aui,propgrid,richtext,stc,gl);-static" Required="yes">
+ <LibraryPath Value="..\ExtLibs\GLEW\lib\Release\Win32"/>
+ <LibraryPath Value="..\ExtLibs\GLFW\lib-mingw"/>
+ <Library Value="glew32s.a"/>
+ <Library Value="libglfw3.a"/>
+ </Linker>
<ResourceCompiler Options="$(shell wx-config --rcflags)" Required="no"/>
<General OutputFile="$(IntermediateDirectory)/pspufu" IntermediateDirectory="./Release_Windows_x32" Command="./pspufu" CommandArguments="" UseSeparateDebugArgs="no" DebugArguments="" WorkingDirectory="$(IntermediateDirectory)" PauseExecWhenProcTerminates="no" IsGUIProgram="yes" IsEnabled="yes"/>
<BuildSystem Name="Default"/>
diff --git a/Project/Renderer.h b/Project/Renderer.h
index 29b5bf8..59b88ff 100644
--- a/Project/Renderer.h
+++ b/Project/Renderer.h
@@ -8,10 +8,12 @@
#include "IndexBuffer.h"
#include "Shader.h"
+#ifdef _MSC_VER
#define ASSERT(x) if (!(x)) __debugbreak();
+#endif //_MSC_VER
#define GLCall(x) GLClearError();\
x;\
- ASSERT(GLCheckError())
+ wxASSERT(GLCheckError())
void GLClearError();
bool GLCheckError();
diff --git a/Project/Shader.cpp b/Project/Shader.cpp
index 7835fec..10751e2 100644
--- a/Project/Shader.cpp
+++ b/Project/Shader.cpp
@@ -72,8 +72,12 @@ ShaderSource Shader::ParseShader(const wxString& filepath) const
ss[static_cast<int>(type)] << line + std::string("\n");
}
}
+
+ ShaderSource source;
+ source.vertexShader = ss[0].str();
+ source.fragmentShader = ss[1].str();
- return { ss[0].str(), ss[1].str() };
+ return source;
}
unsigned int Shader::CreateShader(std::string& vertexShader, std::string& fragmentShader) const
@@ -131,7 +135,7 @@ unsigned int Shader::GetUniformLocation(const std::string& name)
GLCall(int location = glGetUniformLocation(m_rendererID, name.c_str()));
if (location == -1) {
- wxMessageBox(wxString::Format("Atenção! uniform \"%s\" não encontrado", name));
+ wxMessageBox(wxString::Format("Atenção! uniform \"%s\" não encontrado", name));
}
m_uniformLocationCache[name] = location;
diff --git a/Project/VertexBufferLayout.h b/Project/VertexBufferLayout.h
index d50b19c..7d527d1 100644
--- a/Project/VertexBufferLayout.h
+++ b/Project/VertexBufferLayout.h
@@ -21,7 +21,9 @@ struct VertexBufferElement
case GL_UNSIGNED_BYTE: return 1;
default: break;
}
+#ifdef _MSC_VER
ASSERT(false);
+#endif
return(0);
}
};
@@ -37,28 +39,9 @@ public:
template<typename T>
void Push(unsigned int count)
{
+#ifdef _MSC_VER
static_assert(false);
- }
-
- template<>
- void Push<float>(unsigned int count)
- {
- m_elements.push_back({ GL_FLOAT, count, GL_FALSE });
- m_stride += count * VertexBufferElement::GetSizeOfType(GL_FLOAT);
- }
-
- template<>
- void Push<unsigned int>(unsigned int count)
- {
- m_elements.push_back({ GL_UNSIGNED_INT, count, GL_FALSE });
- m_stride += count * VertexBufferElement::GetSizeOfType(GL_UNSIGNED_INT);
- }
-
- template<>
- void Push<unsigned char>(unsigned int count)
- {
- m_elements.push_back({ GL_UNSIGNED_BYTE, count, GL_TRUE });
- m_stride += count * VertexBufferElement::GetSizeOfType(GL_UNSIGNED_BYTE);
+#endif
}
inline const std::vector<VertexBufferElement> GetElements() const& { return m_elements; }
@@ -69,4 +52,25 @@ private:
unsigned int m_stride;
};
+template<> inline
+void VertexBufferLayout::Push<float>(unsigned int count)
+{
+ m_elements.push_back({ GL_FLOAT, count, GL_FALSE });
+ m_stride += count * VertexBufferElement::GetSizeOfType(GL_FLOAT);
+}
+
+template<> inline
+void VertexBufferLayout::Push<unsigned int>(unsigned int count)
+{
+ m_elements.push_back({ GL_UNSIGNED_INT, count, GL_FALSE });
+ m_stride += count * VertexBufferElement::GetSizeOfType(GL_UNSIGNED_INT);
+}
+
+template<> inline
+void VertexBufferLayout::Push<unsigned char>(unsigned int count)
+{
+ m_elements.push_back({ GL_UNSIGNED_BYTE, count, GL_TRUE });
+ m_stride += count * VertexBufferElement::GetSizeOfType(GL_UNSIGNED_BYTE);
+}
+
#endif // VERTEXBUFFERLAYOUT_H
diff --git a/Project/Workspace.cpp b/Project/Workspace.cpp
index 17c8134..585ec82 100644
--- a/Project/Workspace.cpp
+++ b/Project/Workspace.cpp
@@ -1025,7 +1025,7 @@ void Workspace::UpdateHeatMap()
m_hmPlane->UpdateCoords();
- int iterations = std::lround(3.3 * std::powf(m_camera->GetScale(), 0.62));
+ int iterations = std::lround(3.3 * std::pow(m_camera->GetScale(), 0.62));
if (iterations < 1) iterations = 1;
m_hmPlane->SmoothPlane(iterations);
}
diff --git a/Project/compile_flags.txt b/Project/compile_flags.txt
index 84934dd..ebae363 100644
--- a/Project/compile_flags.txt
+++ b/Project/compile_flags.txt
@@ -5,13 +5,17 @@
-IC:\TDM-GCC-32\include
-IC:\TDM-GCC-32\lib\gcc\mingw32\9.2.0\include-fixed
-IC:\Users\thale\Documents\GitHub\PSP\Project
+-IC:\Users\thale\Documents\GitHub\PSP\Project\vendor
+-IC:\Users\thale\Documents\GitHub\PSP\ExtLibs\GLEW\include
+-IC:\Users\thale\Documents\GitHub\PSP\ExtLibs\GLFW\include
-IC:\wxWidgets313\lib\gcc_lib\mswu
-IC:\wxWidgets313\include
-D_UNICODE
-DHAVE_W32API_H
+-DUNICODE
+-DGLEW_STATIC
-D__WXMSW__
-DNDEBUG
--DUNICODE
-std=gnu++11
-target
i686-pc-windows-gnu