Bonsoir
J'aimerai porter mon "moteur 3d" développé en c++ à l'aide de glew, glfw3, assimp, freetype et glm sur le web à l'aide de Emscripten.
J'arrive à porte de simples programmes utilisants glfw3 et glew mais dès que je veux utiliser une bibliothèque autre que celles qu'inclue directement emscripten je bloque
Mon approche est de précompiler les bibliothèques externes (glm, assimp, freetype) en fichiers .bc (bytecode) pour ensuite les lier a mon moteur durant la compilation.
Bien entendu cela ne fonctionne pas car je n'ai absolument AuCuNe idées de comment compiler ses bibliothèques !
Actuellement j'utilise la commande suivante pour essayer de compiler glm (commande ne fonctionnant pas bien sûr ):
Cette commande conscite à inclure TOUT les fichiers de la bibliothèque...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 emcc -I"common.hpp" "exponential.hpp" "ext.hpp" "fwd.hpp" "geometric.hpp" "glm.hpp" "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" "detail/compute_vector_relational.hpp" "detail/dummy.cpp" "detail/glm.cpp" "detail/qualifier.hpp" "detail/setup.hpp" "detail/type_float.hpp" "detail/type_gentype.hpp" "detail/type_half.hpp" "detail/type_int.hpp" "detail/type_mat.hpp" "detail/type_mat2x2.hpp" "detail/type_mat2x3.hpp" "detail/type_mat2x4.hpp" "detail/type_mat3x2.hpp" "detail/type_mat3x3.hpp" "detail/type_mat3x4.hpp" "detail/type_mat4x2.hpp" "detail/type_mat4x3.hpp" "detail/type_mat4x4.hpp" "detail/type_vec.hpp" "detail/type_vec1.hpp" "detail/type_vec2.hpp" "detail/type_vec3.hpp" "detail/type_vec4.hpp" "detail/_features.hpp" "detail/_fixes.hpp" "detail/_noise.hpp" "detail/_swizzle.hpp" "detail/_swizzle_func.hpp" "detail/_vectorize.hpp" "ext/vec1.hpp" "ext/vector_relational.hpp" "gtc/bitfield.hpp" "gtc/color_space.hpp" "gtc/constants.hpp" "gtc/epsilon.hpp" "gtc/integer.hpp" "gtc/matrix_access.hpp" "gtc/matrix_integer.hpp" "gtc/matrix_inverse.hpp" "gtc/matrix_transform.hpp" "gtc/noise.hpp" "gtc/packing.hpp" "gtc/quaternion.hpp" "gtc/random.hpp" "gtc/reciprocal.hpp" "gtc/round.hpp" "gtc/type_aligned.hpp" "gtc/type_precision.hpp" "gtc/type_ptr.hpp" "gtc/ulp.hpp" "gtc/vec1.hpp" "gtx/associated_min_max.hpp" "gtx/bit.hpp" "gtx/closest_point.hpp" "gtx/color_encoding.hpp" "gtx/color_space.hpp" "gtx/color_space_YCoCg.hpp" "gtx/common.hpp" "gtx/compatibility.hpp" "gtx/component_wise.hpp" "gtx/dual_quaternion.hpp" "gtx/euler_angles.hpp" "gtx/extend.hpp" "gtx/extended_min_max.hpp" "gtx/exterior_product.hpp" "gtx/fast_exponential.hpp" "gtx/fast_square_root.hpp" "gtx/fast_trigonometry.hpp" "gtx/functions.hpp" "gtx/gradient_paint.hpp" "gtx/handed_coordinate_space.hpp" "gtx/hash.hpp" "gtx/integer.hpp" "gtx/intersect.hpp" "gtx/io.hpp" "gtx/log_base.hpp" "gtx/matrix_cross_product.hpp" "gtx/matrix_decompose.hpp" "gtx/matrix_factorisation.hpp" "gtx/matrix_interpolation.hpp" "gtx/matrix_major_storage.hpp" "gtx/matrix_operation.hpp" "gtx/matrix_query.hpp" "gtx/matrix_transform_2d.hpp" "gtx/mixed_product.hpp" "gtx/norm.hpp" "gtx/normal.hpp" "gtx/normalize_dot.hpp" "gtx/number_precision.hpp" "gtx/optimum_pow.hpp" "gtx/orthonormalize.hpp" "gtx/perpendicular.hpp" "gtx/polar_coordinates.hpp" "gtx/projection.hpp" "gtx/quaternion.hpp" "gtx/range.hpp" "gtx/raw_data.hpp" "gtx/rotate_normalized_axis.hpp" "gtx/rotate_vector.hpp" "gtx/scalar_multiplication.hpp" "gtx/scalar_relational.hpp" "gtx/spline.hpp" "gtx/std_based_type.hpp" "gtx/string_cast.hpp" "gtx/texture.hpp" "gtx/transform.hpp" "gtx/transform2.hpp" "gtx/type_aligned.hpp" "gtx/type_trait.hpp" "gtx/vector_angle.hpp" "gtx/vector_query.hpp" "gtx/vec_swizzle.hpp" "gtx/wrap.hpp" "simd/common.h" "simd/exponential.h" "simd/geometric.h" "simd/integer.h" "simd/matrix.h" "simd/packing.h" "simd/platform.h" "simd/trigonometric.h" "simd/vector_relational.h" -v -o glm_compiled.bc
Merci d'avance pour votre aide
Martantoine
Partager