Skip to content
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

Follow-ups after JOML adoption #3832

Closed
Cervator opened this issue Feb 16, 2020 · 17 comments
Closed

Follow-ups after JOML adoption #3832

Cervator opened this issue Feb 16, 2020 · 17 comments
Labels
Category: Performance Requests, Issues and Changes targeting performance Status: Needs Investigation Requires to be debugged or checked for feasibility, etc. Topic: Architecture Requests, Issues and Changes related to software architecture, programming patterns, etc. Topic: Rendering Requests, Issues and Changes related to lighting, meshes, camera, etc. Type: Bug Issues reporting and PRs fixing problems

Comments

@Cervator
Copy link
Member

Cervator commented Feb 16, 2020

With #3811 we embark on the journey to adopt JOML instead of our aging TeraMath library. It won't be without bruises for such a major change, however! Creating this issue to capture some future todos to follow back up on, either when somebody is able to dig in or after the final engine PR finishes the journey (and likely rolls into module land). I'm just noting a few impressions here, @pollend would probably be better at detailing them over time 👍

Backlog

Drafts

Done

Details
@Cervator Cervator added Type: Bug Issues reporting and PRs fixing problems Topic: Architecture Requests, Issues and Changes related to software architecture, programming patterns, etc. Topic: Rendering Requests, Issues and Changes related to lighting, meshes, camera, etc. Category: Performance Requests, Issues and Changes targeting performance Status: Needs Investigation Requires to be debugged or checked for feasibility, etc. labels Feb 16, 2020
@Cervator Cervator mentioned this issue Feb 16, 2020
@pollend
Copy link
Member

pollend commented Mar 25, 2020

here is a port of the skeleton renderer #3865

@pollend
Copy link
Member

pollend commented Mar 25, 2020

here is a port for font vector2i #3866

@pollend
Copy link
Member

pollend commented Mar 25, 2020

ported over skysphere to JOML also submersible camera. #3867

@pollend
Copy link
Member

pollend commented Mar 27, 2020

here is another follow up PR that addresses serialization between JOML and termath. this should let prefabs have a mix of both termath and joml elements.: #3869

@PS-Soundwave
Copy link
Member

Status on issues observed with #3811 ?

@Cervator
Copy link
Member Author

Cervator commented Apr 6, 2020

@PS-Soundwave the weird shadow/lighting quirk? I merged #3869 locally yesterday (then didn't get around to pushing it) and bumped to latest JOML. Issue still persisted - but then I'm not sure how recent it is. I checked an old workspace from December 2018 and didn't see it there.

@pollend
Copy link
Member

pollend commented Apr 6, 2020

I've found problems by just running git bisect and finding the exact commit where it breaks. it could be a joml issue or something else. it should let you find the root cause of the problem.

@Cervator
Copy link
Member Author

Cervator commented Apr 7, 2020

Submitted #3881 with a detailed report on the lighting weirdness, it is related to the head bobbing effect and not present right before the big initial JOML PR.

@pollend
Copy link
Member

pollend commented Apr 18, 2020

here is another PR but this one focuses on bullet. #3894

@pollend
Copy link
Member

pollend commented Apr 20, 2020

here is a PR that adds some joml swap in methods for some of the major systems in Terasology. Mainly focused on worldprovider. #3898

@jdrueckert
Copy link
Member

Complete JOML

@pollend
Copy link
Member

pollend commented Sep 26, 2020

A pretty good portion of the codebase has been converted to JOML. This is a full conversion from @kBlaszczyk for reference #3900. JomlUtil is a bridge utility between joml and termath and at the end of this process should be removed along with any partial migrations.

https://forum.terasology.org/threads/joml-migration.2313/#post-16595

In Progress:

Here are the Relevant PR's that have been completed:

@jdrueckert
Copy link
Member

Merged #4130

@pollend
Copy link
Member

pollend commented Oct 2, 2020

there seems to be some problems with rails related to PR: #4069 two of the test cases fail.

https://github.com/Terasology/Rails

@skaldarnar
Copy link
Member

Sorted the todo list into Backlog and Done (and hide the done items in a <details>... tag).

skaldarnar added a commit that referenced this issue Jan 9, 2021
Contributes to #3832

This is seemingly a stand-alone system in the engine. I could not find any usages of the components anywhere else, Omega still compiles just fine...
skaldarnar added a commit to Terasology/CoreWorlds that referenced this issue Jan 29, 2021
skaldarnar added a commit that referenced this issue Jan 30, 2021
* feat(block/family): add default forwarding to JOML API on MultiConnectFamily
* feat(block/family): add default forwarding to JOML API on UpdatesWithNeighboursFamily

Contributes to #3832
skaldarnar added a commit that referenced this issue Jan 30, 2021
The removes the deprecated method `BlockFamily#getBlockForPlacement` taking individual arguments in favor of fully migrating to `BlockPlacementData`.
This allows for all BlockFamilies to become JOML-free.

Contributes to #3832
skaldarnar added a commit that referenced this issue Jan 30, 2021
* feat(JOML): migrate `LocationComponent#getWorldPosition?
* feat(JOML): migrate `LocationComponent` constructor

Contributes to #3832
skaldarnar added a commit that referenced this issue Feb 6, 2021
skaldarnar added a commit to Terasology/CoreWorlds that referenced this issue Feb 6, 2021
skaldarnar added a commit that referenced this issue Feb 7, 2021
@skaldarnar
Copy link
Member

🥳 🎊 🍾

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Category: Performance Requests, Issues and Changes targeting performance Status: Needs Investigation Requires to be debugged or checked for feasibility, etc. Topic: Architecture Requests, Issues and Changes related to software architecture, programming patterns, etc. Topic: Rendering Requests, Issues and Changes related to lighting, meshes, camera, etc. Type: Bug Issues reporting and PRs fixing problems
Projects
None yet
Development

No branches or pull requests

5 participants