#include "GLenv/include/glad/glad.h" #include "GLenv/include/GLFW/glfw3.h" #include "StgSharpGraphic.h" #include "SSGinternal.h" #include #include STGSHARPGRAPHIC_API float* InitBigM128Map(int floatCount) { float* BigMapBeginPtr = malloc(floatCount*sizeof(float)); return BigMapBeginPtr; } STGSHARPGRAPHIC_API void DeinitBigM128Map(float* mapPtr) { free(mapPtr); } STGSHARPGRAPHIC_API __m128 VecAddVec(__m128 vec1, __m128 vec2) { return _mm_add_ps(vec1, vec2); } STGSHARPGRAPHIC_API __m128 VecSubVec(__m128 vec1, __m128 vec2) { return _mm_sub_ps(vec1, vec2); } STGSHARPGRAPHIC_API float VecMulVec(__m128 vec1, __m128 vec2) { __m128 cache = _mm_mul_ps(vec1, vec2); float ret = cache.m128_f32[0] + cache.m128_f32[1] + cache.m128_f32[2] + cache.m128_f32[3]; return ret; }