-
Notifications
You must be signed in to change notification settings - Fork 69
Asset API updates, parallel blake3, inline AABB extender, IO policies, runtime tunning, mesh loaders & writers #1000
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
AnastaZIuk
wants to merge
123
commits into
master
Choose a base branch
from
loaders
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+9,200
−3,566
Open
Changes from 42 commits
Commits
Show all changes
123 commits
Select commit
Hold shift + click to select a range
a8c658f
Add OBJ writer in Nabla and update MeshLoaders example
AnastaZIuk 890ba02
Merge master into loaders
AnastaZIuk 100bc71
Update OBJ STL loaders for flag removal
AnastaZIuk 89a2d5f
Add file IO policy and optimize mesh loaders writers
AnastaZIuk 9510dac
Save loader writer optimization baseline
AnastaZIuk 4423ca6
Optimize mesh loader parse and IO paths
AnastaZIuk d1bd309
Integrate fast float and optimize mesh loader writer perf
AnastaZIuk c61bc8e
Improve OBJ and PLY parser hot paths
AnastaZIuk fafb616
Optimize mesh loader writer hot paths
AnastaZIuk e7c304a
Optimize OBJ writer formatting and STL wholefile read
AnastaZIuk 1f21b75
Optimize mesh loader and writer hot loops
AnastaZIuk 307f601
Optimize loader selection and mesh IO hot paths
AnastaZIuk 335a2cb
Optimize loader hot paths and hashing
AnastaZIuk f6d8ae6
Optimize mesh loader baseline and hash fallback
AnastaZIuk 9837d7d
Add optional loader hash compute flag and tune parser workers
AnastaZIuk ac82f69
Optimize loader hot paths
AnastaZIuk 7de3694
Tune STL and PLY worker heuristics
AnastaZIuk 58138ea
Optimize mesh loader hashing and hot paths
AnastaZIuk 765882f
Optimize PLY fast face validation path
AnastaZIuk 2289231
Pipeline PLY index hash and tune STL chunks
AnastaZIuk a3a0cb8
Use wait notify in PLY STL hash pipeline
AnastaZIuk 73d348d
Stabilize loader runtime tuning heuristics and hybrid mode
AnastaZIuk 4778068
Tune STL runtime worker limits
AnastaZIuk e8123bc
Refactor interchange IO and geometry hash helpers
AnastaZIuk 7604438
Optimize asset path handling and remove misleading loader timing logs
AnastaZIuk e452ab3
Update examples submodule for MeshLoaders cleanup
AnastaZIuk 83f15d0
Refine mesh interchange API and loader writer pipeline
AnastaZIuk 22b0d23
Improve mesh interchange paths and optimize PLY parsing
AnastaZIuk 9e858ae
Update examples_tests submodule for meshloaders updates
AnastaZIuk fbd5601
Unify generic AABB helpers and runtime tuning paths
AnastaZIuk caafb71
Move generic AABB helpers to utils and simplify STL record writes
AnastaZIuk 858adb7
Clarify geometry hash modes and normalize EOF formatting
AnastaZIuk 50046f6
Update examples_tests submodule for hash test toggle
AnastaZIuk 5575861
Fix converter hash fallback mutation and update examples_tests
AnastaZIuk 80763ec
Merge master into loaders
AnastaZIuk fbf300c
Update examples_tests submodule for local swapchain transfer-src setup
AnastaZIuk 92b7447
Document runtime policy fields and stabilize Win32 file mapping flags
AnastaZIuk 518ff44
Fix archive fallback and preflight checks for PLY loading
AnastaZIuk 356ab95
Fix OBJ fallback counters and archive path lookup
AnastaZIuk 0678981
Remove PLY file-backed buffer aliasing
AnastaZIuk 2b8a34d
Fix mesh loader normal handling and PLY scalar typing
AnastaZIuk 02d8913
Restore STL color feature using format conversion API
AnastaZIuk be6d48b
Address PR 1000 review comments
AnastaZIuk 949928d
Merge master into loaders
AnastaZIuk b32f566
Finalize loader tuning API cleanup
AnastaZIuk e2c4c4a
Merge master into loaders
AnastaZIuk 20f56c2
Unify geometry hash API and add hcp parity tool
AnastaZIuk b286a04
Clarify HCP README parity scope
AnastaZIuk 57a8772
Finalize loader and writer cleanup
AnastaZIuk 5b1cd7f
Address remaining review nits
AnastaZIuk f1a0721
Finish SIMD cleanup in loaders
AnastaZIuk 2ae072a
Loader updates
AnastaZIuk 47bcf00
Use std bit utilities
AnastaZIuk ec74bd7
Loader flag updates
AnastaZIuk a567d14
Cache flag updates
AnastaZIuk 41935c1
Unify face normal helpers
AnastaZIuk da8acca
Update OBJ geometry writing
AnastaZIuk 234afe1
Simplify identity transform checks
AnastaZIuk c30ac39
Consolidate AABB helpers
AnastaZIuk 16eb8ba
Update polygon geometry aux layouts
AnastaZIuk 79218cf
Deduplicate triangle index visitor
AnastaZIuk 976df29
Move IO helpers into structs
AnastaZIuk 91ecd79
Extract buffer adoption helpers
AnastaZIuk 7f01766
Refine writer and buffer adoption helpers
AnastaZIuk dc0c5b2
Refine geometry writer helpers
AnastaZIuk a872152
Refine interchange IO helpers
AnastaZIuk 4a6920e
Rename interchange IO helper
AnastaZIuk b9dd4fa
Refine loader runtime tuning
AnastaZIuk 1e50ae0
Document interchange helpers
AnastaZIuk 2fc1b1c
Fix AABB helper reuse and HLSL compile
AnastaZIuk da25e8d
Deduplicate AABB assignment paths
AnastaZIuk 6a7fde1
Inline geometry writer helpers
AnastaZIuk 31a6696
Hide vendor Blake3 from public API
AnastaZIuk 187836b
Clean up OBJ PLY STL code paths
AnastaZIuk 14b3c98
Generalize loader cleanup helpers
AnastaZIuk ef7c706
Reduce loader and writer duplication
AnastaZIuk 9bbc3d3
Refactor mesh interchange helpers
AnastaZIuk 68cb7e6
Refine mesh interchange cleanup
AnastaZIuk 690d799
Reduce mesh loader writer duplication
AnastaZIuk dc7282e
Reduce remaining loader duplication
AnastaZIuk 60e9b5c
Trim parser boilerplate
AnastaZIuk e5fc4ac
Reduce mesh writer parser boilerplate
AnastaZIuk 4eb9d16
Trim interchange helper boilerplate
AnastaZIuk bd6f96c
Reduce loader writer boilerplate
AnastaZIuk 0a4316b
Compact interchange whitespace
AnastaZIuk b1fe5fc
Tighten helper declarations
AnastaZIuk 503a951
Restore comments and trim boilerplate
AnastaZIuk 6c01eaf
Tighten shared interchange helpers
AnastaZIuk e319b75
Restore helper comments and spacing
AnastaZIuk e4278de
Improve interchange comment formatting
AnastaZIuk 943d4c4
Tighten added interchange file layout
AnastaZIuk 64560b4
Use relative fast_float submodule URL
AnastaZIuk a54d4af
Restore inherited comment layout
AnastaZIuk 00fa8bb
Restore mesh loader benchmark performance
AnastaZIuk 618681d
Share OBJ perf parsing helpers
AnastaZIuk dce1c4c
Refine geometry interchange helpers
AnastaZIuk bd84fe3
Commonize loader view helpers
AnastaZIuk 0b82655
Clarify STL writer color decoding
AnastaZIuk 833f144
Pipeline chunked interchange IO
AnastaZIuk 9bccfea
Tighten metadata access and document float fast path
AnastaZIuk 4225853
Clarify shared decimal fast path
AnastaZIuk c4733d0
Update examples tests pointer
AnastaZIuk e472dd2
Merge remote-tracking branch 'origin/master' into loaders
AnastaZIuk b83cfc5
Refine smooth normal accumulation
AnastaZIuk c4e9665
Document smooth normal accumulation
AnastaZIuk a32ff11
Load OBJ assets as scenes
AnastaZIuk f19123a
Trim OBJ scene loader docs
AnastaZIuk 46b9b0c
Update examples_tests loaders pointer
AnastaZIuk c0d42ef
Advance examples_tests loaders pointer
AnastaZIuk d8ad511
Advance examples_tests loaders pointer
AnastaZIuk 82905e7
Advance examples_tests loaders pointer
AnastaZIuk 93eddc4
Advance examples_tests loaders pointer
AnastaZIuk 8c1b8ae
Advance examples_tests loaders pointer
AnastaZIuk e9f19c8
Add growable memory file utility
AnastaZIuk ece07fa
Advance examples_tests loaders pointer
AnastaZIuk 0a1308b
Expose CPU system info
AnastaZIuk a2c2639
Track examples git metadata
AnastaZIuk 2fc8438
Move examples git tracking to examples project
AnastaZIuk ea6b9da
Update examples git tracking hooks
AnastaZIuk cc3952a
Adopt scoped git metadata targets
AnastaZIuk f2a9685
Enable long paths for perf reference updates
AnastaZIuk 3e5ac16
Support long path perf reference updates
AnastaZIuk 3a80686
Deduplicate Win32 long path helper
AnastaZIuk File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -37,4 +37,4 @@ tools/nsc/bin/* | |
| */__pycache__/* | ||
| __pycache__/* | ||
| *.pyc | ||
|
|
||
| tmp/* | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Submodule fast_float
added at
221a49
Submodule examples_tests
updated
14 files
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,31 @@ | ||
| // Copyright (C) 2018-2025 - DevSH Graphics Programming Sp. z O.O. | ||
| // This file is part of the "Nabla Engine". | ||
| // For conditions of distribution and use, see copyright notice in nabla.h | ||
| #ifndef _NBL_ASSET_OBJ_MESH_WRITER_H_INCLUDED_ | ||
| #define _NBL_ASSET_OBJ_MESH_WRITER_H_INCLUDED_ | ||
|
|
||
|
|
||
| #include "nbl/asset/interchange/IGeometryWriter.h" | ||
|
|
||
|
|
||
| namespace nbl::asset | ||
| { | ||
|
|
||
| //! class to write OBJ mesh files | ||
| class COBJMeshWriter : public IGeometryWriter | ||
| { | ||
| public: | ||
| COBJMeshWriter(); | ||
|
|
||
| const char** getAssociatedFileExtensions() const override; | ||
|
|
||
| uint32_t getSupportedFlags() override; | ||
|
|
||
| uint32_t getForcedFlags() override; | ||
|
|
||
| bool writeAsset(system::IFile* _file, const SAssetWriteParams& _params, IAssetWriterOverride* _override = nullptr) override; | ||
| }; | ||
|
|
||
| } // end namespace | ||
|
|
||
| #endif |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
make it into a lambda since I see the same code twice