Coder Social home page Coder Social logo

gan74 / yave Goto Github PK

View Code? Open in Web Editor NEW
465.0 23.0 19.0 18.79 MB

Yet Another Vulkan Engine

License: MIT License

C++ 95.23% GLSL 3.52% CMake 0.50% C 0.14% Python 0.61%
vulkan-engine engine rendering vulkan vulkan-api deferred real-time pbr shaders 3d-graphics

yave's Introduction

Yave

Yet another C++20 Vulkan engine.

Disclaimer

This is a pet/learning project, it's not meant to be a serious engine and should not be used for anything beside playing with Vulkan.

Currently only supports Windows

  • With GCC 12+ through MSYS2
  • With MSVC 19.28+

Serialization format is compiler dependent!

Status

Currently a mess, should smooth out as I am learning Vulkan.

The project is in its early stages.

Current status Older UI

Project structure

  • y: Core library with a bunch of utility functions and classes
  • yave: The engine itself It links only to y and spirv-cross
  • editor: A scene editor build on top of yave
  • shaders: All the shaders for both the engine and the editor
  • external: Third party libraries

Building

You need:

  • CMake (3.24)
  • A C++17 compiler
  • Vulkan SDK
    • With Volk

Implemented features:

  • Buffers
  • Images
    • Arrays
    • Cubemaps
      • IBL probes
  • Descriptor sets
  • Basic pipelines
  • Compute shaders
  • Swapchain
  • Framebuffers
  • Resources lifetime management
  • Framegraph
  • Rendering pipeline
    • Tiled deferred shader
      • Physically based lighting
      • IBL
    • Basic scenes
  • Meshes

Licence:

MIT

yave's People

Contributors

gan74 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

yave's Issues

Lua Error?

I'm still not giving up on this engine, but now, there is a new error. 'Cause the Tracy error fixed itself"?".
So now, there is the Lua error, and because I dont know Lua at all, I can't fix it.

[error] Unable to open settings file.
[error] Unable to open folder index
[sol2] An error occurred and has been passed to an error handler: sol: runtime error: [string "ffi = require('ffi')"]:1: module 'ffi' not found:
        no field package.preload['ffi']
        no file '.\ffi.lua'
        no file 'path\to\folder\Desktop\Yave\build\Debug\lua\ffi.lua'
        no file 'path\to\folder\Desktop\Yave\build\Debug\lua\ffi\init.lua'
        no file 'path\to\folder\Desktop\Yave\build\Debug\ffi.lua'
        no file 'path\to\folder\Desktop\Yave\build\Debug\ffi\init.lua'
        no file '.\ffi.dll'
        no file '.\ffi51.dll'
        no file 'path\to\folder\Desktop\Yave\build\Debug\ffi.dll'
        no file 'path\to\folder\Desktop\Yave\build\Debug\ffi51.dll'
        no file 'path\to\folder\Desktop\Yave\build\Debug\clibs\ffi.dll'
        no file 'path\to\folder\Desktop\Yave\build\Debug\clibs\ffi51.dll'
        no file 'path\to\folder\Desktop\Yave\build\Debug\loadall.dll'
        no file 'path\to\folder\Desktop\Yave\build\Debug\clibs\loadall.dll'
stack traceback:
        [C]: in function 'require'
        [string "ffi = require('ffi')"]:1: in main chunk

Maybe you know a solution?

VK_ERROR_OUT_OF_POOL_MEMORY error

I get this error when I run app: [error] VK_ERROR_OUT_OF_POOL_MEMORY in file "D:\Yave-master\Yave\yave/graphics/vk/vk.h" at line 315 on thread "Main thread"

Build Error

I wanted to try the engine. I use cmake .. -G "MinGW Makefiles" and then make on Windows. But it give me this error:

error: 'EVENT_FILTER_EVENT_ID' was not declared in this scope; did you mean 'EVENT_FILTER_HEADER'?
  303 |  EVENT_FILTER_EVENT_ID fe = {};
      |     ^~~~~~~~~~~~~~~~~~~~~
      |     EVENT_FILTER_HEADER

error: 'fe' was not declared in this scope
  304 |     fe.FilterIn = TRUE;
      |    

 error: 'EVENT_FILTER_TYPE_EVENT_ID' was not declared in this scope; did you mean 'EVENT_FILTER_TYPE_SCHEMATIZED'?
  311 |     desc.Type = EVENT_FILTER_TYPE_EVENT_ID;
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |                 EVENT_FILTER_TYPE_SCHEMATIZED

error: 'EVENT_ENABLE_PROPERTY_IGNORE_KEYWORD_0' was not declared in this scope
  315 |     params.EnableProperty = EVENT_ENABLE_PROPERTY_IGNORE_KEYWORD_0;
      |                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [CMakeFiles\tracy.dir\build.make:76: CMakeFiles/tracy.dir/external/tracy/TracyClient.cpp.obj] Error 1
make[1]: *** [CMakeFiles\Makefile2:140: CMakeFiles/tracy.dir/all] Error 2
make: *** [Makefile:135: all] Error 2

Would love a solution, because I want to try the engine, I always look forward to such projects with potential. ๐Ÿ˜Š

.

.

Cmake Build Error?

I get that error when building in cmake
errorfil

CMake Error at CMakeLists.txt:92 (add_subdirectory):
  The source directory

    C:/Users/dddd/Desktop/Yave/external/spirv_cross

  does not contain a CMakeLists.txt file.

Compiling errors when using the command

HI dear author,
It's truly a honor to write a letter to you, I'm build your project nowadays and found the error when building as following, I wonder if there is a chance that you know the reason? :)

image

thank you
best regards to you
William

Execution error

sorry but i have another problem
When run it, the screen comes out black

errorfil

errorfil2

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.