GithubHelp home page GithubHelp logo

citrustoolbox's People

Contributors

kenziemac130 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

sondro

citrustoolbox's Issues

Investigate modules/engine core pointer usage

It might be better to move the modules and engine to variables of the engine/application. This way the engine could be allocated entirely on the BSS if the application is on the BSS. This would cut down on pointer indirection. The application indirection from the engine would still need to be a pointer back to the owning object (or possibly a reference if that isn't annoying).

Validation Layer Error in Presentation Blit

[ERROR] VK Validation Layer: [Validation] Code 0 : Validation Error: [ VUID-vkCmdPipelineBarrier-dependencyFlags-01186 ] Object 0: handle = 0x17ca8557e20, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0x97273504 | vkCmdPipelineBarrier(): .dependencyFlags VK_DEPENDENCY_VIEW_LOCAL_BIT must not be set outside of a render pass instance The Vulkan spec states: If fname:vkCmdPipelineBarrier is called outside of a render pass instance, VK_DEPENDENCY_VIEW_LOCAL_BIT must not be included in the dependency flags (https://vulkan.lunarg.com/doc/view/1.2.176.1/windows/1.2-extensions/vkspec.html#VUID-vkCmdPipelineBarrier-dependencyFlags-01186)

Initial Building Pain Points

Hello,

as arranged on twitter I took the liberty to test out a fresh build of the project.

Some initial points I encountered:

  • At first .\tools\CMakeLists.txt contains an add_subdirectory(gltf2citrus) statement, only that the directory doesn't exist. Removing this line from the file fixes this.
  • The next problem was, that the tracy git submodule needed to be cloned manually (resp. git submodule init; git submodule update). This could probably have been documented in the guide, by stating "Clone the project [...] using git clone --recurse-submodules <target>".
  • Then I got a compiler error, here:
    vkAllocCallback.pfnAllocation = vAllocFunction;
    vkAllocCallback.pfnReallocation = vReallocFunction;
    vkAllocCallback.pfnFree = vFreeFunction;
    The message was basically that the signature of vAllocFunction (and the next two assignments) cannot be converted to PFN_vkAllocationFunction. I was able to fix this by explicitly casting the function to that typedef, i.e. vkAllocCallback.pfnAllocation = (PFN_vkAllocationFunction) vkAllocFunction. (I can give you details of my setup, if you can guide me through what you would need.
  • Afterwards the compilation requested SDL, which was available but only for x64 but required for x86 which was completely missing.

As these are several smaller/trivially fixable issues, I refrained from posting this in the general feedback issue. Additionally, if you need me to re-formulate a point and/or provide details, let me know.

:)

General Feedback Here

Here is where you can leave general feedback not related to any particular bug or issue.

Weird ImGUI Assertion

On ctrl/shift/alt this happens. Assertion failed: (key_mod_flags == 0 || g.IO.KeyMods == key_mod_flags) && "Mismatching io.KeyCtrl/io.KeyShift/io.KeyAlt/io.KeySuper vs io.KeyMods", file C:\Users\Kenzie\Documents\GitHub\CitrusToolbox\thirdparty\imgui\imgui.cpp, line 7165

Remove Engine Pointer from Modules

The following need attention

  • AssetManager:
    • FileSystem
  • HotReload:
    • Settings
    • FileSystem
  • JobSystem:
    • Settings
  • Logging:
    • Settings
    • FileSystem
    • WindowManager
  • OSEvents:
    (reverse the "exit()" to os events)
  • WindowManager:
    • Settings
    • App Name
  • Interact:
    • OS Events
    • Deltatime
  • SDLGamepad:
    • OS Events
  • SDLKeyboardMouse:
    • OS Events
    • Deltatime
  • Im3dIntegration:
    • SceneEngine
    • WindowManager
  • ImguiIntegration:
    • WindowManager
    • OSEvents
    • Preferences Path
  • PhysXIntegration:
    • Settings
  • VkBackend:
    • FileSystem
    • WindowManager
    • App Name
    • App Version
  • VkKeyLimeCore:
    • Settings
    • FileSystem
    • WindowManager
    • App Name
    • App Version
    • ImGuiIntegration
    • Im3dIntegration
    • HotReload
  • HoneybellScene:
    • Settings
    • FileSystem
    • Pass DeltaTime
    • HotReload
    • JobSystem
    • Interact
  • Scene:
    • PhysXIntegration
    • AssetManager

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.