-
Notifications
You must be signed in to change notification settings - Fork 186
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
Primitive storage and static model improvements #171
Closed
Closed
Changes from all commits
Commits
Show all changes
46 commits
Select commit
Hold shift + click to select a range
d28f882
Replaced the SoA storage of world and instanced primitives with unifi…
apanteleev 0d6d22b
Fixed the tangents upload code.
apanteleev 2b19383
Switched to writing the primitive data in bsp_mesh directly. Massive …
apanteleev 9d1e47c
Switched the data formats for frame-based and IQM models to the same …
apanteleev 318e641
Removed the sky and dynamic flags from ray payload, added buffer index.
apanteleev 02e2a56
Replaced the single instanceCustomIndex field storing a dynamic flag …
apanteleev 9b652f9
Break up long line (no functional changes).
apanteleev 6b358e6
Build static BLAS for models without animations.
apanteleev d6bf89a
Replaced the macro-driven declaration of instance buffer structure co…
apanteleev 0eaa588
Fixed the flickering lights on bsp models.
apanteleev 87fc76f
Use static BLAS of eligible models instead of passing them through in…
apanteleev cc60f1d
Unified the BSP models and regular models into the same representatio…
apanteleev 38ec7ed
Added support for multiple meshes/geometries in static models.
apanteleev d2b944c
Switched from a statically sized world primitive buffer to a dynamic …
apanteleev 73bf198
Place the world BLAS into the same vertex buffer, create BLAS for BSP…
apanteleev 82d9ac2
Removed the MAX_MODEL_MESHES limit.
apanteleev b814ed6
Added calculation of model tangents on load.
apanteleev a41502f
Removed a stale comment.
apanteleev bba1bb5
Implemented shadow map rendering for instanced static meshes - both b…
apanteleev 1ded7f7
Refactoring the fill_model_instance function.
apanteleev c2ada48
That was unnecessary.
apanteleev 66e75a1
Disabled culling on transparent materials.
apanteleev a5e136c
Removed the unnecessary use_prim_offset parameter.
apanteleev 5f0cab4
Increased the max instance count.
apanteleev 29b16eb
Track primitives, not vertices.
apanteleev 4b25324
Replaced MAX_PRIM_INSTANCED with a dynamically sized buffer.
apanteleev 01b314d
Added the missing VERTEX_BUFFER bit to the model VBOs.
apanteleev 58bad6d
Clang compat and cleanup.
apanteleev e3bcb45
Fixed the masked materials on static models.
apanteleev 25b232d
Re-create the static model VBOs when their materials change.
apanteleev 6404801
Renamed the motion fields in VboPrimitive for clarity.
apanteleev 835de32
Expanded the V-buffer to have enough bits for many instances with mil…
apanteleev 4746ce7
Merge branch 'master' into vbo
apanteleev 21c7277
Addressing PR feedback.
apanteleev 74c3c60
Replaced the uses of mat3 for positions of a triangle with prim_posit…
apanteleev 762d608
Rollback the TRIANGLE_FACING_CULL_DISABLE_BIT change on transparent g…
apanteleev 5944201
Merge branch 'master' into vbo
apanteleev a34e8c9
Merge branch 'master' into vbo
apanteleev 03972d6
Fixed the model resource leaks on map change.
apanteleev 0ae6d78
Fixed the BSP resource leak on map change.
apanteleev 57e2a49
Added debug names to model and world objects.
apanteleev ed2ad93
Fixed the excessive destruction of model VBOs on map or material chan…
apanteleev cb04989
Fixed the memory leak in the static environment maps on map changes.
apanteleev a161674
Fixed the primitive indexing for explosions.
apanteleev e1b2a22
Added support for generic translucent geometry specified using the SU…
apanteleev 53a5af3
Fixed the player setup screen rendering.
apanteleev 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 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 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 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 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 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 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.
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.
this just reminded me, on my local branch I changed jointNames to be an array of
char[MAX_QPATH]
so that I can easily index the joint names at runtime. Currently, you need to loop over the string via strlen which is pretty inefficient.. not that it totally matters I guess since you shouldn't be looping through joint names every frame at runtime, but just a random note that I think a single long string of "name data" is a bit harder to parse through than just fixed-length string indices.