Giter Site home page Giter Site logo

benjaminyde / arcticenginelinux Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 334 KB

Vulkan Game Engine Using Linux Dev Container

Dockerfile 7.39% CMake 6.36% C++ 85.53% GLSL 0.50% C 0.21%
game sdk vulkan vulkan-api glw 3d container docker graphics linux rendering vscode cmake cplusplus cpp dockerfile clang devcontainer sdl

arcticenginelinux's Introduction

ArcticEngine

Development Environment:

  • Linux
  • Clang
  • CMake
  • VS Code using Dev Containers (Docker)

Libraries used:

  • Vulkan SDK
  • SDL2
  • GLM
  • FMT

CMake Graph Visualizer

Use graphviz to visualize the dependency graph:

  1. Navigate to your build directory
  2. Run CMake with the --graphviz option
    • This will generate a graph.dot file in your build directory
  3. Use dot (included in graphviz) to generate an image from the .dot file:
    • This will generate a graph.png image file in your build directory.
cd /path/to/your/build
cmake --graphviz=graph.dot .
dot -Tpng graph.dot -o graph.png

Vulkan Test

To verify that vulkan works correctly, run the following command:

vulkaninfo

and

vkvia

Renderdoc

  1. Open the terminal
  2. Enter the following command to open renderdoc:
    qrenderdoc
  3. Inside the app, a warning should tell you that vulkan needs to be configured for renderdoc Click on that warning, that enables you to generate the config. Make sure to generate in the user and not root.

Build Shaders

glslc is a command-line tool that is part of the Shaderc project. It's essentially a compiler that transforms GLSL (OpenGL Shading Language) source code into SPIR-V binary format.

To use glsc, execute the following command format:

glslc <path_to_shader> -o <path_of_build>

For example:

glslc shader.vert -o vert.spv
glslc.exe shader.frag -o frag.spv

In these examples, shader.vert is the vertex shader and shader.frag is the fragment shader. The -o option specifies the output file, which will be in SPIR-V format.

Afterward, you can load these .spv files in your Vulkan application and create shader modules from them, which can then be used in the graphics pipeline.

arcticenginelinux's People

Contributors

benjaminyde avatar

Watchers

 avatar

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.