working for both neon32 and neon64
Update math_backend.cpp
further sse simd additions
avx2 float3 added
added normalize_magnitude
added divide fast to float3 may copy to float4
move static spheremesh to drawSphere (initialize on first use) so platform has a chance to load the math backend
all float3 and float4 functions and isas
completed all options of float3 and float4 functions in isas and math_c
neon still to be done but that will be on mac.
Update math_backend.cpp
mac isa neon update
added float3
restructured the classes to look more like the final version of the x86 classes
linux required changes
Update build-macos-clang.yml
Update build-macos-clang.yml
Revert "Update build-macos-clang.yml"
This reverts commit 29dfc567f4.
Revert "Update build-macos-clang.yml"
This reverts commit 2abad2b4ca.
Update CMakeLists.txt
fix macs stupid build
remove god awful rolling average from frame time tracker....
use intrinsic headers instead
each isa implementation now uses a header for that isa's intrinsic functions these are then used in the impl files. This will make it easier for matrix functions when those are implemented.
fixed comment saying 256 when it should be 512 for avx512
consolidated initializers for function tables
Update neon_intrinsics.h
fixes for some neon intrinsics no idea if this is the best way to do these but they work at least
v_cross is especially messy at the moment we basically just do it as a c math function need to look into getting this done correctly
added fix for font cache (stb required size to be read switch back to libpng knocks the stream off)
Added extra control over the rendering of guibtimaps
If guibitmaps are a child of buttons the profile colors now affect how to the button is rendered.
the conversion functions were making assumptions that were wrong based on mant being 0 and the out being 0 completely on small numbers also if the sign was flipped it rounded to 0. Also simplified
while it still remains a good idea to port as many NULL compares and assignments over to nullPtr as feasable, we do still need to sort out how to better support scripted empty, false, and zero assigns for things like objectIDs.
this means we'll need to both fully convert the backend of the parser to support that kind of thing, but also alter most if not all exisiting NULLs. up to and including things like SAFE_DELETE. while that's certainly feasable, given there's aproximatel 400 nullptr assigns/checks prior to this commit, and roughly 1800 of the prior, if it terminates in a script call and not an aip one direct, we'll be dialing that back until such time as fork fully fopcused on converting and resolving any lingering mismatches is completed.
GBitmap Changes:
Added all other formats to gbitmap that we support
gbitmap now supports cubemaps
added converters for all these other formats
added stb_image_resize for extrudemips so we can extrude mipmaps for all other formats
GFXTextureManager
Can now directly make cubemaps and texture arrays based on the GFXTextureProfile
API implementations for all functions that cubemaps and arrays needed
asset brower previews were asserting due to a cornercase rt assignment
also ditch mipgen for rts targetting a texture profile that's marked as nomip, and adjust hdr uopsampling shader to compensate for overdarks
Added chunkytrimesh - this class splits up the geometry the navmesh is interested in into kdtree for fast traversal, makes the actual navmesh generation work with smaller chunks.
Now only 1 RecastPolylist per navmesh this can be saved out in a future commit.
This is a history commit, all functionality works same as it did before but it matches recasts recommended setup more closely. Future additions may break backwards compatibility.
Should render fallback for namedTarget if namedTarget fails
Add safety around namedtarget getTexture to stop assert
Missing assets should revert to fallback image and print a warning to console
Remove REFACTOR tag from all macros.
adds ability to get image metadata without loading the texture
since we are using the getOwned parameter correctly now new assets must have the full path to the image file when being created
when the asset becomes owned again the image file path will be updated.
fixed more merge conflicts (afxZodiac and MaterialDefinition)
Updated cubemapdata to use refactor asset
added new part to image_asset macro to create a private asset if the file exists.
updated reflectionProbe errors to actual function name where the error occurs.