glow

所属分类:3D图形编程
开发工具:C++
文件大小:0KB
下载次数:0
上传日期:2023-05-09 10:04:49
上 传 者sh-1993
说明:  3D图形引擎,为娱乐而开发。
(A 3D graphics engine, developed for fun.)

文件列表:
.clang-format (1856, 2023-08-06)
.clang-tidy (2586, 2023-08-06)
CMakeLists.txt (2065, 2023-08-06)
LICENSE (1072, 2023-08-06)
assets/ (0, 2023-08-06)
assets/fonts/ (0, 2023-08-06)
assets/fonts/fa/ (0, 2023-08-06)
assets/fonts/fa/LICENSE.txt (7427, 2023-08-06)
assets/fonts/fa/fa-solid-900.ttf (394832, 2023-08-06)
assets/fonts/roboto/ (0, 2023-08-06)
assets/fonts/roboto/LICENSE.txt (11358, 2023-08-06)
assets/fonts/roboto/Roboto-Regular.ttf (168260, 2023-08-06)
assets/shaders/ (0, 2023-08-06)
assets/shaders/gl/ (0, 2023-08-06)
assets/shaders/gl/environment.frag (1181, 2023-08-06)
assets/shaders/gl/environment.vert (265, 2023-08-06)
assets/shaders/gl/framebuffer.frag (430, 2023-08-06)
assets/shaders/gl/framebuffer.vert (196, 2023-08-06)
assets/shaders/gl/shading.frag (622, 2023-08-06)
assets/shaders/gl/shading.vert (640, 2023-08-06)
assets/shaders/vk/ (0, 2023-08-06)
assets/shaders/vk/compile.sh (105, 2023-08-06)
assets/shaders/vk/shading.frag (689, 2023-08-06)
assets/shaders/vk/shading.frag.spv (1252, 2023-08-06)
assets/shaders/vk/shading.vert (895, 2023-08-06)
assets/shaders/vk/shading.vert.spv (2116, 2023-08-06)
cmake/ (0, 2023-08-06)
cmake/glow.cmake (4452, 2023-08-06)
lib/ (0, 2023-08-06)
lib/IconsFontAwesome6.h (73969, 2023-08-06)
lib/ImGuizmo/ (0, 2023-08-06)
lib/imgui/ (0, 2023-08-06)
src/ (0, 2023-08-06)
... ...

# Glow [![CI](https://github.com/albin-johansson/glow/actions/workflows/ci.yml/badge.svg)](https://github.com/albin-johansson/glow/actions/workflows/ci.yml) A work in progress 3D graphics engine, developed for fun. ## Purpose This project is developed for recreational and educational purposes. The goal is to be able to render nice looking scenes using modern graphics APIs, with a performant and readable code base. ### What this project is not * A game engine * A 3D model editor ## Features * Written in C++23 * ECS architecture * Support for common 3D model file formats, such as `.dae`, `.fbx`, and `.obj`. * OpenGL 4.1.0 backend * Vulkan 1.2 backend ## Build This project uses [Vcpkg](https://github.com/microsoft/vcpkg) for dependency management. However, you will need to install the [Vulkan SDK](https://vulkan.lunarg.com/) to build the Vulkan backend. You can verify your Vulkan installation by checking the value of the `VULKAN_SDK` environment variable. Information on Vcpkg triplets can be found [here](https://github.com/microsoft/vcpkg/docs/users/triplets.md). ``` > export VCPKG_ROOT= > mkdir build && cd build > cmake .. -GNinja \ -DCMAKE_BUILD_TYPE= \ -DVCPKG_TARGET_TRIPLET= > ninja ``` ## Usage ``` Usage: glow [options] Options: --api, -a 'OpenGL' or 'Vulkan', defaults to 'OpenGL' (optional) --env, -e Path to an environment texture to load at startup (optional) --models, -m Space-separated list of model file paths to load at startup (optional) --log, -l Verbosity of log output, valid values are within [0, 6], defaults to 4 (optional) ``` Some examples are provided below. ```shell # Use default graphics API, and no initial environment texture or models > ./glow # Use a specific graphics API > ./glow --api Vulkan # Disable all logging output > ./glow --log 0 # Load an environment texture and several models > ./glow --env textures/env.hdr --models models/teapot.dae models/kettle.fbx ``` ## Dependencies See [vcpkg.json](vcpkg.json) for the full Vcpkg manifest file. * [argparse](https://github.com/p-ranav/argparse) * [assimp](https://github.com/assimp/assimp) * [Boost](https://www.boost.org/) * [entt](https://github.com/skypjack/entt) * [fmt](https://github.com/fmtlib/fmt) * [Font Awesome](https://github.com/FortAwesome/Font-Awesome) * [glad](https://github.com/Dav1dde/glad) * [glm](https://github.com/g-truc/glm) * [Dear ImGui](https://github.com/ocornut/imgui) (with modifications from [this](https://github.com/albin-johansson/imgui) fork) * [IconFontCppHeaders](https://github.com/juliettef/IconFontCppHeaders) * [ImGuizmo](https://github.com/CedricGuillemet/ImGuizmo) * [Magic Enum C++](https://github.com/Neargye/magic_enum) * [SDL2](https://github.com/libsdl-org/SDL) * [spdlog](https://github.com/gabime/spdlog) * [stb](https://github.com/nothings/stb) * [Vulkan Memory Allocator](https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator)

近期下载者

相关文件


收藏者