Skip to content

Remove Hybrid Renderer#316

Merged
freezy merged 14 commits into
masterfrom
refactor/no-hybrid
Jul 29, 2021
Merged

Remove Hybrid Renderer#316
freezy merged 14 commits into
masterfrom
refactor/no-hybrid

Conversation

@freezy
Copy link
Copy Markdown
Owner

@freezy freezy commented Jul 25, 2021

There are a few issues with Hybrid Renderer, apart from stability there are missing features like mesh skinning and DXR. As far as I understood, the advantage of the Hybrid Render is more efficient data handling in case of rendering hundreds of thousands of objects. So VPE should be fine with the GameObject approach.

vpe-no-hybrid.mp4

This PR removes the Hybrid Renderer dependency, keeps the GameObjects during DOTS conversion, and updates the DOTS systems to update GameObjects instead of the DOTS rendering components.

One of the bigger simplifications was the plunger animation, for which @Pandelii created a shader graph for lerp-animating vertices. Now we just use the skinned mesh renderer and set the blend shape weight.

I've posted about this at the Unity forums as well, and apparently it's a common approach. One thing we might consider in the future is to use DOTS Hybrid Components instead of Mode.ConvertAndInjectGameObject.

@codecov
Copy link
Copy Markdown

codecov Bot commented Jul 25, 2021

Codecov Report

Merging #316 (339df25) into master (acb0f56) will increase coverage by 1.76%.
The diff coverage is 100.00%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #316      +/-   ##
==========================================
+ Coverage   83.62%   85.39%   +1.76%     
==========================================
  Files         136      136              
  Lines        7444     7442       -2     
==========================================
+ Hits         6225     6355     +130     
+ Misses       1219     1087     -132     
Impacted Files Coverage Δ
...Pinball.Engine/VPT/Plunger/PlungerMeshGenerator.cs 88.15% <ø> (+29.85%) ⬆️
VisualPinball.Engine/VPT/PbrMaterial.cs 54.00% <100.00%> (+0.15%) ⬆️
VisualPinball.Engine/VPT/Plunger/PlungerCoord.cs 100.00% <0.00%> (+46.66%) ⬆️
VisualPinball.Engine/VPT/Plunger/PlungerDesc.cs 92.30% <0.00%> (+78.20%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 28464b6...339df25. Read the comment docs.

@freezy freezy self-assigned this Jul 25, 2021
@freezy freezy requested a review from Pandelii July 25, 2021 21:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant