-
Notifications
You must be signed in to change notification settings - Fork 1
Mesh Nodes Support #80
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
CubeBerry
wants to merge
21
commits into
main
Choose a base branch
from
WorkGraphsCulling
base: main
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.
Open
Conversation
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
- Divided Sprite into DynamicSprite, StaticSprite. DynamicSprite is for sprite that can be allocated/deallocated dynamically. StaticSprite is for sprite that won't be allocated/deallocated for entire state (ex. terrain, building).
- Strictly separated descriptor heap partition.
- Changed SpriteManager to pointer variable in Engine.hpp. - Still working on work graphs frustum culling.
- DynamicSprite and StaticSprite is now separated. - StaticSprite needs unified buffer structure so that many of variables should be fixed. - Going to start on dividing BufferWrapper into StaticBufferWrapper, DynamicBufferWrapper, MeshShaderBufferWrapper.
- Optimized BufferWrapper to support instance rendering and bindless rendering easily. Also to support dynamic, static purpose mesh. - Still need to figure out a way to indicate SubMesh is DYNAMIC/STATIC when RenderManager's CreateMesh function is called.
- When CreateMesh3D is called, regardless of SpriteType(DYNAMIC, STATIC), it creates data and buffer of DynamicSprite3DMesh struct. - SpriteManager handles StaticSprite. When RegisterStaticSprite() is called, it gathers whole data of DynamicSprite3DMesh (but created as StaticSprite) and initializes buffers.
- Need to figure out a way to utilize index for bindless buffers. - Only debug environment of DXIL compile is supported due to preview functionality of mesh nodes.
- StaticSprite3D contains bindless uniform data. - Pixel shader should be modified to support bindless rendering. - Need to edit register key to enable mesh nodes functionality on Radeon RX 9070 XT GPU.
- Couldn't find a way to enable mesh nodes functionality on Radeon GPU. - Need to initialize DXWorkGraphsStateObject using constructor for Mesh Nodes.
- Revert back DirectX 12 Agility SDK version to 1.615.0-preview. - Need to figure out which render target format and depth format should be used for DXWorkGraphsStateObject.
- SetGraphics should be used instead of SetCompute because Work Graphs Mesh Nodes is considered as graphics pipeline.
- Can choose between stable and preview version of Agility SDK by turning ON/OFF of option(USE_PREVIEW_SDK "Enable DirectX 12 Agility SDK Preview Version (715)" OFF) in root directory CMakeLists.txt. - Also, this can be toggled by adding command line -D USE_PREVIEW_SDK=ON
- Disabled the code because this is not supported yet. - This code have been tested with Work Graphs Frustum Culling.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Uh oh!
There was an error while loading. Please reload this page.