Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
e0e2e4f
good bye
vsaint1 Nov 24, 2025
9bb6022
cooking v14
vsaint1 Nov 24, 2025
b9c6645
ai generated shader ref
vsaint1 Nov 24, 2025
dcc2130
feat: default shader 2d
vsaint1 Nov 24, 2025
b6bc152
feat: shader pre-processor ai cooked
vsaint1 Nov 24, 2025
12c0fdd
tests: custom shaders
vsaint1 Nov 24, 2025
1c75645
removing old stuff
vsaint1 Nov 24, 2025
6274177
cooking
vsaint1 Nov 24, 2025
d5ecb89
old stuff
vsaint1 Nov 24, 2025
90d5be4
path refactoring
vsaint1 Nov 24, 2025
b815c84
removed namespace
vsaint1 Nov 24, 2025
4a7167c
fix: pushing shader constants
vsaint1 Nov 25, 2025
88c5349
fix: pushing shader constants
vsaint1 Nov 25, 2025
5bc66b0
chore: define and enum modifications
vsaint1 Nov 25, 2025
6d55a11
chore: enum and pso addded
vsaint1 Nov 25, 2025
6ac6b7e
fix: glsl shader header pre-processor
vsaint1 Nov 26, 2025
fef9a38
feat: querying texture size
vsaint1 Nov 26, 2025
ddbefae
color aliases
vsaint1 Nov 26, 2025
30494a0
feat: shader header, push uniforms and twemoji font fix
vsaint1 Nov 26, 2025
3ff2803
vscode launch cmake
vsaint1 Nov 26, 2025
65d4cdc
clangd workaround intellisense
vsaint1 Nov 26, 2025
3d1324a
tab w and remove folders
vsaint1 Nov 26, 2025
ef0f534
all_build and clangd includes
vsaint1 Nov 26, 2025
c9b9650
removed namespace source and comp. commands
vsaint1 Nov 26, 2025
ecc42e3
cooking v1
vsaint1 Nov 26, 2025
e096561
gstl basic implemenation
vsaint1 Nov 27, 2025
79f2c4c
using the not advanced stl
vsaint1 Nov 27, 2025
beec05f
feat: implementing shader based material
vsaint1 Nov 29, 2025
1cae7e2
feat: drawing texture with custom shader/material
vsaint1 Nov 29, 2025
c95e6c4
feat: drawing texture with custom shader/material
vsaint1 Nov 29, 2025
a83c9f3
feat: drawing primitives circle outlined and arc
vsaint1 Nov 29, 2025
fcf92de
feat: math mat3/basis
vsaint1 Nov 29, 2025
4442efc
feat: math helpers
vsaint1 Nov 29, 2025
8130818
feat: math mat4
vsaint1 Nov 29, 2025
69393ab
feat: math quat
vsaint1 Nov 29, 2025
20bc6a1
feat: math vectors<2,3,4>
vsaint1 Nov 29, 2025
8922dcd
feat: improved `drawing` texture with custom shaders pipeline
vsaint1 Nov 29, 2025
2aa251d
runtime simplified
vsaint1 Nov 30, 2025
ddafca0
feat: small changes on gstl and math defines (glm)
vsaint1 Nov 30, 2025
05a7059
feat: new test preset
vsaint1 Nov 30, 2025
aa6b035
removed glm definition
vsaint1 Nov 30, 2025
52efe76
tests: math and string (gtests)
vsaint1 Nov 30, 2025
0a0a343
tests: README docs
vsaint1 Nov 30, 2025
fca8d52
feat: init gl context on renderer
vsaint1 Dec 1, 2025
1031089
feat: init gl context on renderer
vsaint1 Dec 1, 2025
1e4bd3c
cross-platform vscode launcher task
vsaint1 Dec 2, 2025
9129564
fix: cmake build runtime
vsaint1 Dec 2, 2025
85216c3
disabling some libraries (later impl)
vsaint1 Dec 2, 2025
fefd274
refactored the rendering abstraction and gles3
vsaint1 Dec 3, 2025
ec4f081
changing function names
vsaint1 Dec 4, 2025
9d5872c
feat: vendor flecs lib and added /bigobj windows compile flag
vsaint1 Dec 5, 2025
21dee73
flecs lib
vsaint1 Dec 5, 2025
80bd95d
feat: draw_text with default font
vsaint1 Dec 10, 2025
1d326c1
feat: changed runtime to sandbox
vsaint1 Dec 10, 2025
e4c5c1c
removed pop/push camera matrix
vsaint1 Dec 10, 2025
407e545
chore: removed nuklear (gui)
vsaint1 Dec 10, 2025
b1a9ec3
feat: force glm simd
vsaint1 Dec 10, 2025
c591ef4
feat: font struct wrapper (sdl_ttf)
vsaint1 Dec 10, 2025
469b0f7
fix: shader_type and pre-processor
vsaint1 Dec 11, 2025
00bba98
feat: set_shader_param union
vsaint1 Dec 11, 2025
707b4cc
fix: set gl version before context
vsaint1 Dec 11, 2025
15176c8
chore: default shader naming
vsaint1 Dec 11, 2025
bc0d514
feat: gl renderer swap_buffer
vsaint1 Dec 14, 2025
cde83a1
feat: implementing SDL_GPU (vk,dx12,metal)
vsaint1 Dec 14, 2025
111bf7f
feat: default 2d shaders (forward+)
vsaint1 Dec 14, 2025
4a05005
feat: new driver api vulkan|directx12|metal (forward+)
vsaint1 Dec 14, 2025
a1eb613
feat: gles3 default shader
vsaint1 Dec 14, 2025
648d89b
feat: compatibility/forward+ renderer
vsaint1 Dec 14, 2025
b80eb2d
feat: now drawing text and some fixes (storage)
vsaint1 Dec 14, 2025
c5a3c9e
feat: resizing canvas viewport
vsaint1 Dec 14, 2025
90c3b13
docs: renderer
vsaint1 Dec 14, 2025
29340f4
feat: sandbox example
vsaint1 Dec 14, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -310,7 +310,7 @@ StatementMacros:
- _FMT_P2286_END
- _EXTERN_C_UNLESS_PURE
- _END_EXTERN_C_UNLESS_PURE
# TabWidth: 8
TabWidth: 4
UseTab: Never
# VerilogBreakBetweenInstancePorts: true
# WhitespaceSensitiveMacros:
Expand Down
11 changes: 6 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ build/

.DS_Store

.vscode/

*.pak

Expand All @@ -14,14 +13,16 @@ build/

cmake-build-debug


.xmake/

jniLibs/

res/sounds
logs/

res/sprites
#res/sounds
#res/sprites
#res/shaders/test
res/test

res/scripts/test.lua
res/scripts/test_2d.lua
res/scripts/test_2d.lua
32 changes: 32 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "(Cross-platform) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${command:cmake.launchTargetPath}",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"linux": {
"MIMode": "gdb",
},
"osx": {
"MIMode": "lldb",
},
"windows": {
"MIMode": "gdb",
},
"setupCommands": [
{
"description": "Enable pretty-printing",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
28 changes: 28 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
"clangd.arguments": [
"--compile-commands-dir=${workspaceFolder}",
"--background-index",
"--clang-tidy",
"--header-insertion=iwyu",
"--completion-style=detailed",
"--function-arg-placeholders",
"--fallback-style=llvm",
"--query-driver=**"
],
"clangd.fallbackFlags": [
"-std=c++20",
"-I${workspaceFolder}/engine/public",
"-I${workspaceFolder}/vendor/lua",
"-I${workspaceFolder}/vendor/mini_audio/include",
"-I${workspaceFolder}/vendor/glm",
"-I${workspaceFolder}/vendor/SDL/include",
"-I${workspaceFolder}/vendor/SDL_ttf/include",
"-I${workspaceFolder}/vendor/glad/include",
"-I${workspaceFolder}/vendor/stb_image/include",
"-I${workspaceFolder}/vendor/tinyxml/include",
"-I${workspaceFolder}/vendor/json",
"-I${workspaceFolder}/vendor/spdlog/include",
"-I${workspaceFolder}/vendor/assimp/include",
"-I${workspaceFolder}/vendor/sol2",
]
}
33 changes: 9 additions & 24 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
cmake_minimum_required(VERSION 3.22)

set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
project(golias_engine)

set(CMAKE_CXX_STANDARD 20)
Expand All @@ -13,9 +14,7 @@ set(CMAKE_DEBUG_POSTFIX "")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/$<CONFIGURATION>")
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/$<CONFIGURATION>")

set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

set(ENGINE_VERSION "0.0.5")
set(ENGINE_VERSION "0.0.1")

string(TIMESTAMP BUILD_TS "%Y-%m-%d %H:%M")
message("Golias Engine - Building in 2D/3D mode | (OPENGL/VULKAN/METAL/DIRECTX12) | Version ${ENGINE_VERSION} | Date: ${BUILD_TS}")
Expand All @@ -24,15 +23,11 @@ message("Golias Engine - Building in 2D/3D mode | (OPENGL/VULKAN/METAL/DIRECTX12
# ENGINE CONFIGURATION
# TODO: build client shared and server static
# =========================================================
option(WITH_EDITOR "Build the engine with editor support" OFF)
option(BUILD_SERVER "Build server binaries" OFF)
option(BUILD_RUNTIME "Build runtime binaries" ON)
option(BUILD_SANDBOX "Build Sandbox (engine development)" ON)
option(BUILD_GOLIAS_TESTS "Build tests" OFF)

message(STATUS "Build configuration:")
message(STATUS " WITH_EDITOR: ${WITH_EDITOR}")
message(STATUS " BUILD RUNTIME (CLIENT): ${BUILD_RUNTIME}")
message(STATUS " BUILD RUNTIME (SERVER): ${BUILD_SERVER}")
message(STATUS " BUILD SANDBOX (ENGINE DEVELOPMENT): ${BUILD_SANDBOX}")
message(STATUS " BUILD TESTS: ${BUILD_GOLIAS_TESTS}")
message(STATUS " Platform: ${CMAKE_SYSTEM_NAME}")

Expand All @@ -58,7 +53,6 @@ endif ()
# =========================================================
# VENDOR LIBRARIES AND CONFIGURATION
# =========================================================

add_subdirectory(vendor)

# =========================================================
Expand All @@ -70,22 +64,13 @@ add_subdirectory(engine)
# =========================================================
# TESTS
# =========================================================
if (BUILD_Golias_TESTS)
if (BUILD_GOLIAS_TESTS)
enable_testing()
endif ()

if (BUILD_Golias_TESTS)
add_subdirectory(tests)
endif ()

if (BUILD_SERVER)
message(STATUS "Adding server build")
add_compile_definitions(BUILD_SERVER)
add_subdirectory(server)
endif ()

if (BUILD_RUNTIME)
message(STATUS "Adding runtime build")
add_compile_definitions(BUILD_RUNTIME)
add_subdirectory(runtime)
if (BUILD_SANDBOX)
message(STATUS "Adding sandbox build")
add_compile_definitions(BUILD_SANDBOX)
add_subdirectory(sandbox)
endif ()
56 changes: 45 additions & 11 deletions CMakePresets.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,16 @@
"patch": 1
},
"configurePresets": [
{
"name": "tests",
"displayName": "Tests Configuration",
"binaryDir": "${sourceDir}/build/default",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"BUILD_GOLIAS_TESTS": "ON",
"BUILD_SANDBOX": "OFF"
}
},
{
"name": "linux-debug",
"displayName": "Linux Debug [gcc/clang]",
Expand Down Expand Up @@ -91,7 +101,7 @@
"CMAKE_SYSTEM_NAME": "Emscripten",
"CMAKE_BUILD_TYPE": "Debug",
"WITH_EDITOR": "ON",
"CURL_DISABLE_INSTALL":"ON"
"CURL_DISABLE_INSTALL": "ON"
}
},
{
Expand All @@ -101,8 +111,7 @@
"toolchainFile": "$env{EMSDK}/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake",
"cacheVariables": {
"CMAKE_SYSTEM_NAME": "Emscripten",
"CMAKE_BUILD_TYPE": "Release",
"CURL_DISABLE_INSTALL":"ON"
"CMAKE_BUILD_TYPE": "Release"
}
},
{
Expand All @@ -128,60 +137,85 @@
}
],
"buildPresets": [
{
"name": "tests-build",
"displayName": "Tests Build",
"configurePreset": "tests",
"targets": [
"golias_tests"
],
"verbose": true
},
{
"name": "mac-debug-build",
"displayName": "macOS Debug Build",
"configurePreset": "mac-debug",
"targets": [ "golias_engine" ],
"targets": [
"golias_sandbox"
],
"verbose": true
},
{
"name": "mac-release-build",
"displayName": "macOS Release Build",
"configurePreset": "mac-release",
"targets": [ "golias_engine" ],
"targets": [
"golias_sandbox"
],
"verbose": true
},
{
"name": "linux-debug-build",
"displayName": "Linux Debug Build",
"configurePreset": "linux-debug",
"targets": [ "golias_engine" ],
"targets": [
"golias_sandbox"
],
"verbose": true
},
{
"name": "linux-release-build",
"displayName": "Linux Release Build",
"configurePreset": "linux-release",
"targets": [ "golias_engine" ],
"targets": [
"golias_sandbox"
],
"verbose": true
},
{
"name": "windows-debug-build",
"displayName": "Windows Debug Build",
"configurePreset": "windows-debug",
"targets": [ "golias_engine" ],
"targets": [
"golias_sandbox"
],
"verbose": true
},
{
"name": "windows-release-build",
"displayName": "Windows Release Build",
"configurePreset": "windows-release",
"targets": [ "golias_engine" ],
"targets": [
"golias_sandbox"
],
"verbose": true
},
{
"name": "webgl-debug-build",
"displayName": "WebGL Debug Build",
"configurePreset": "web-debug",
"targets": [ "golias_engine" ],
"targets": [
"golias_sandbox"
],
"verbose": true
},
{
"name": "webgl-release-build",
"displayName": "WebGL Release Build",
"configurePreset": "web-release",
"targets": [ "golias_engine" ],
"targets": [
"golias_sandbox"
],
"verbose": true
}
]
Expand Down
Loading