Thanks to visit codestin.com
Credit goes to github.com

Skip to content

htl309/Graffiti

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Graffiti Engine

badge Gitee

Graffiti

API and Platforms

  • OpenGL API
  • Vulkan API
  • Windows OS
  • Android OS

Graphics Algorithms

  • Triangle
  • WireframeMode
  • Camera
  • Blinn-Phong Lighting
  • Geometry Shader
  • Texture
  • Materials and PBR
  • Shadows
  • Deferred Rendering
  • Mesh Shader
  • PCB Hybrid Pipeline

Environment

  • GLAD 4.6 (OpenGL API)
  • Vulkan 1.3 (Vulkan API)
  • GLFW (Windows)
  • glm (Math、Math、Math)
  • ImGui (UI interaction)
  • spdlog (Logging System)
  • stb (Texture Loading)
  • tinygltf (Model Loading)
  • meshoptimizer (Mesh Grouping)

Build

  1. Use CMake on Windows to build the project. Everything needed should already be included, so you can build and run the project directly.
  2. Note that you must build the CMake build folder created in the root directory, because some paths in my CMake files are hardcoded to build.
  3. Of course, the Graffiti engine core itself does not require the second step’s build folder setup — you can compile it directly to get Graffiti.lib, which can be used by other programs.

Notes

  • Some algorithms use architectures not supported on Android; we will address that later.

  • Code line count: In the project root directory terminal on Windows, run the following command to see the code line count. Currently, it should be around 7,000 lines.

    Get-ChildItem "Graffiti" -Recurse -File -Include *.cpp,*.h,*.hpp | Get-Content | Measure-Object -Line

Preview

00_Hello_Triangle

image-20250702111725925

01_Bunny

image-20250702111725925

02_GeometryShader

image-20250702112341003

03_Texture

image-20250702111751034

04_PBR

image-20250714152102126

05_MeshShader

image-20250722232904935

t4

About

A lightweight cross-API Rendering Engine.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages