Skip to content

Conversation

IAmNotHanni
Copy link
Member

@IAmNotHanni IAmNotHanni commented Dec 7, 2020

Closes #256
Closes #268
Closes #429

Let there be glTF2 models

Work in progress!

gltf

I am adapting the glTF2 loader from Sascha Willem's sample repository. This work will not include model animations, physically based rendering or other components of glTF2 we're not supporting yet.

TODO

  • Write a glTF2 loader class using tinygltf
  • Modify descriptor pattern so it allows for multiple images to be passed in
  • Fix all clang-tidy warnings!
  • Add automatic tests (inexor-vulkan-renderer-tests)
  • Add benchmarks (inexor-vulkan-renderer-benchmarks)
  • Squash before opening pull request

Sorting this massive PR

I will have to make smaller pull requests out of this one, otherwise it's too big.
Here is a list of things I changed:

  • Added ktx dependency
  • Added ShaderLoader wrapper and don't load shaders through TOML file
  • Added glTF2 data structure files...
  • Added Cubemaps
  • Added glTF2 loader
  • Refactored rendering: separate data loading from rendering.
  • Refactored rendering: Render octree in new rendergraph style
  • Refactor rendergraph setup function
  • Added new methods to rendergraph and other small refactorings (builder pattern)
  • Added wrapper for loading glTF2 files (based on tinygltf)
  • Added wrapper for glTF2 model data parsing
  • Added glTF2 pbr renderer
  • Added new shaders for skybox
  • Added new shaders for pbr, including BRDFLUT and cubemaps
  • Refactored ImGui to use ShaderLoader
  • Added BRDF lookup table generator
  • Fixed a bug in descriptor builder pattern (binding index!)
  • Added DescriptorPool wrapper
  • Refactored GpuTexture a little
  • Added OffscreenFramebuffer (required for cubemaps)
  • Fixed a bug in rendergraph
  • Added new representations (object type to string_view)
  • ...

@IAmNotHanni IAmNotHanni added the cat:enhancement enhancement/requested feature/update of existing features label Dec 7, 2020
@IAmNotHanni IAmNotHanni self-assigned this Dec 7, 2020
@IAmNotHanni IAmNotHanni changed the title [gltf] Added basic glTF2 loader wrapper, work in progress! [gltf] Added basic glTF2 loader wrapper Dec 17, 2020
@IAmNotHanni IAmNotHanni changed the title [gltf] Added basic glTF2 loader wrapper Basic glTF2 loader (no textures, animations or pbr yet) Jan 4, 2021
@IAmNotHanni IAmNotHanni added the org:on hold on hold, until ... label Apr 27, 2021
@IAmNotHanni IAmNotHanni changed the title Basic glTF2 loader (no textures, animations or pbr yet) Basic glTF2 loader May 10, 2021
@IAmNotHanni IAmNotHanni force-pushed the hanni/gltf_support branch from 5e6da6b to 3295544 Compare May 10, 2021 13:36
@IAmNotHanni IAmNotHanni reopened this May 10, 2021
@IAmNotHanni IAmNotHanni removed the org:on hold on hold, until ... label May 10, 2021
@IAmNotHanni IAmNotHanni changed the title Basic glTF2 loader [glTF2] Add basic glTF2 loader May 15, 2021
@IAmNotHanni IAmNotHanni force-pushed the hanni/gltf_support branch from 8ee8ffc to 746425f Compare May 23, 2021 10:46
@IAmNotHanni
Copy link
Member Author

  • Rebase onto master

@IAmNotHanni
Copy link
Member Author

  • Add nolints for pointer arithmetics

@IAmNotHanni
Copy link
Member Author

yeetari: just taking a look at the gltf PR - we preferably want to avoid the std::vectors and such completely when loading the textures

@IAmNotHanni
Copy link
Member Author

IAmNotHanni commented Jul 23, 2021

  • Rebase onto master

@IAmNotHanni IAmNotHanni changed the title [glTF2] Add basic glTF2 loader [gltf] Add basic glTF2 loader Jul 24, 2021
@IAmNotHanni
Copy link
Member Author

  • Rebase onto master

@IAmNotHanni
Copy link
Member Author

  • Rebase onto master

@IAmNotHanni IAmNotHanni changed the title [gltf] Add basic glTF2 loader [gltf] Add basic glTF2 loader and renderer Aug 7, 2021
@IAmNotHanni IAmNotHanni added org:on hold on hold, until ... and removed prio:high This has high priority. labels May 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cat:enhancement enhancement/requested feature/update of existing features org:on hold on hold, until ...
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Render a skybox Separate glTF2 model loading from uploading it's vertex data to GPU Implement glTF 2 model support
2 participants