Added Clustering
This commit is contained in:
parent
797e2aaf73
commit
5432f2e6f1
10
imgui.ini
10
imgui.ini
@ -14,14 +14,14 @@ Size=1920,1158
|
|||||||
Collapsed=0
|
Collapsed=0
|
||||||
|
|
||||||
[Window][Inspector]
|
[Window][Inspector]
|
||||||
Pos=0,358
|
Pos=0,644
|
||||||
Size=385,819
|
Size=385,533
|
||||||
Collapsed=0
|
Collapsed=0
|
||||||
DockId=0x0000000A,0
|
DockId=0x0000000A,0
|
||||||
|
|
||||||
[Window][Scene Tree]
|
[Window][Scene Tree]
|
||||||
Pos=0,19
|
Pos=0,19
|
||||||
Size=385,337
|
Size=385,623
|
||||||
Collapsed=0
|
Collapsed=0
|
||||||
DockId=0x00000009,0
|
DockId=0x00000009,0
|
||||||
|
|
||||||
@ -86,8 +86,8 @@ DockId=0x00000004,0
|
|||||||
[Docking][Data]
|
[Docking][Data]
|
||||||
DockSpace ID=0x11111111 Window=0x1BBC0F80 Pos=0,19 Size=1920,1158 Split=X
|
DockSpace ID=0x11111111 Window=0x1BBC0F80 Pos=0,19 Size=1920,1158 Split=X
|
||||||
DockNode ID=0x00000001 Parent=0x11111111 SizeRef=385,701 Split=Y Selected=0x12EF0F59
|
DockNode ID=0x00000001 Parent=0x11111111 SizeRef=385,701 Split=Y Selected=0x12EF0F59
|
||||||
DockNode ID=0x00000009 Parent=0x00000001 SizeRef=385,337 HiddenTabBar=1 Selected=0x12EF0F59
|
DockNode ID=0x00000009 Parent=0x00000001 SizeRef=385,623 HiddenTabBar=1 Selected=0x12EF0F59
|
||||||
DockNode ID=0x0000000A Parent=0x00000001 SizeRef=385,819 HiddenTabBar=1 Selected=0x36DC96AB
|
DockNode ID=0x0000000A Parent=0x00000001 SizeRef=385,533 HiddenTabBar=1 Selected=0x36DC96AB
|
||||||
DockNode ID=0x00000002 Parent=0x11111111 SizeRef=1533,701 Split=Y Selected=0xC450F867
|
DockNode ID=0x00000002 Parent=0x11111111 SizeRef=1533,701 Split=Y Selected=0xC450F867
|
||||||
DockNode ID=0x00000007 Parent=0x00000002 SizeRef=606,675 CentralNode=1 HiddenTabBar=1 Selected=0xC450F867
|
DockNode ID=0x00000007 Parent=0x00000002 SizeRef=606,675 CentralNode=1 HiddenTabBar=1 Selected=0xC450F867
|
||||||
DockNode ID=0x00000008 Parent=0x00000002 SizeRef=606,481 Split=X Selected=0x9B5D3198
|
DockNode ID=0x00000008 Parent=0x00000002 SizeRef=606,481 Split=X Selected=0x9B5D3198
|
||||||
|
@ -1,97 +1,2 @@
|
|||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\include\lua\lctype.c -o src\build\lctype.o
|
[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\src\Engine.cpp -o src\build\Engine.o
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\include\lua\lcorolib.c -o src\build\lcorolib.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\include\lua\lbaselib.c -o src\build\lbaselib.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\include\lua\lauxlib.c -o src\build\lauxlib.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\include\lua\lapi.c -o src\build\lapi.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\include\lua\ldblib.c -o src\build\ldblib.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\include\lua\lcode.c -o src\build\lcode.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\include\lua\ldump.c -o src\build\ldump.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\include\lua\ldebug.c -o src\build\ldebug.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\include\lua\lfunc.c -o src\build\lfunc.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\include\lua\ldo.c -o src\build\ldo.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\include\lua\linit.c -o src\build\linit.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\include\lua\lgc.c -o src\build\lgc.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\include\lua\lmem.c -o src\build\lmem.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\include\lua\liolib.c -o src\build\liolib.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\include\lua\llex.c -o src\build\llex.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\include\lua\lmathlib.c -o src\build\lmathlib.o
|
|
||||||
[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\src\main.cpp -o src\build\main.o
|
|
||||||
[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\src\utils\ExceptionHandler.cpp -o src\build\utils\ExceptionHandler.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\include\lua\lopcodes.c -o src\build\lopcodes.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\include\lua\lobject.c -o src\build\lobject.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\include\lua\loslib.c -o src\build\loslib.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\include\lua\lstate.c -o src\build\lstate.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\include\lua\lstring.c -o src\build\lstring.o
|
|
||||||
[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\src\utils\UID.cpp -o src\build\utils\UID.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\include\lua\lparser.c -o src\build\lparser.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\include\lua\ltable.c -o src\build\ltable.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\include\lua\ltablib.c -o src\build\ltablib.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\include\lua\lstrlib.c -o src\build\lstrlib.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\include\lua\lzio.c -o src\build\lzio.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\include\lua\ltm.c -o src\build\ltm.o
|
|
||||||
tf8lib.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\include\lua\luac.c -o src\build\luac.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\include\lua\lundump.c -o src\build\lundump.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\include\lua\lvm.c -o src\build\lvm.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\include\lua\loadlib.c -o src\build\loadlib.o
|
|
||||||
[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\src\utils\GameObjectsList.cpp -o src\build\utils\GameObjectsList.o
|
|
||||||
[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\src\utils\Shader.cpp -o src\build\utils\Shader.o
|
|
||||||
[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\src\Components\TextComonent.cpp -o src\build\Components\TextComonent.o
|
|
||||||
[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\src\Components\PhysicsComponent.cpp -o src\build\Components\PhysicsComponent.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\box2d\arena_allocator.c -o src\build\arena_allocator.o
|
|
||||||
[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\src\utils\Profiler.cpp -o src\build\utils\Profiler.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\include\lua\lua.c -o src\build\lua.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\box2d\aabb.c -o src\build\aabb.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\box2d\array.c -o src\build\array.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\box2d\bitset.c -o src\build\bitset.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\box2d\body.c -o src\build\body.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\box2d\broad_phase.c -o src\build\broad_phase.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\box2d\contact.c -o src\build\contact.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\box2d\constraint_graph.c -o src\build\constraint_graph.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\box2d\core.c -o src\build\core.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\box2d\distance_joint.c -o src\build\distance_joint.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\box2d\geometry.c -o src\build\geometry.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\box2d\id_pool.c -o src\build\id_pool.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\box2d\contact_solver.c -o src\build\contact_solver.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\box2d\hull.c -o src\build\hull.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\box2d\distance.c -o src\build\distance.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\box2d\dynamic_tree.c -o src\build\dynamic_tree.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\box2d\math_functions.c -o src\build\math_functions.o
|
|
||||||
[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\src\Components\TilemapComponent.cpp -o src\build\Components\TilemapComponent.o
|
|
||||||
[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\src\utils\FileDialog.cpp -o src\build\utils\FileDialog.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\box2d\motor_joint.c -o src\build\motor_joint.o
|
|
||||||
[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\src\Renderer.cpp -o src\build\Renderer.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\box2d\island.c -o src\build\island.o
|
|
||||||
[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\imgui\imgui_impl_opengl3.cpp -o src\build\imgui_impl_opengl3.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\box2d\mover.c -o src\build\mover.o
|
|
||||||
[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\imgui\imgui_impl_glfw.cpp -o src\build\imgui_impl_glfw.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\box2d\mouse_joint.c -o src\build\mouse_joint.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\box2d\joint.c -o src\build\joint.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\box2d\manifold.c -o src\build\manifold.o
|
|
||||||
[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\src\Components\CameraComponent.cpp -o src\build\Components\CameraComponent.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\box2d\sensor.c -o src\build\sensor.o
|
|
||||||
[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\src\Components\LightComponent.cpp -o src\build\Components\LightComponent.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\box2d\prismatic_joint.c -o src\build\prismatic_joint.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\box2d\revolute_joint.c -o src\build\revolute_joint.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\box2d\types.c -o src\build\types.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\box2d\timer.c -o src\build\timer.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\box2d\table.c -o src\build\table.o
|
|
||||||
[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\src\utils\Logging.cpp -o src\build\utils\Logging.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\box2d\wheel_joint.c -o src\build\wheel_joint.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\box2d\weld_joint.c -o src\build\weld_joint.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\box2d\solver_set.c -o src\build\solver_set.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\box2d\shape.c -o src\build\shape.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\box2d\solver.c -o src\build\solver.o
|
|
||||||
[COMPILE] gcc -std=c99 -Wall -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\box2d\world.c -o src\build\world.o
|
|
||||||
[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\src\utils\utils.cpp -o src\build\utils\utils.o
|
|
||||||
[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\src\Components\ScriptComponent.cpp -o src\build\Components\ScriptComponent.o
|
|
||||||
[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\imgui\imgui_tables.cpp -o src\build\imgui_tables.o
|
|
||||||
[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\imgui\imgui_demo.cpp -o src\build\imgui_demo.o
|
|
||||||
[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\imgui\imgui_draw.cpp -o src\build\imgui_draw.o
|
|
||||||
[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\src\Components\SpriteComponent.cpp -o src\build\Components\SpriteComponent.o
|
|
||||||
[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\src\Entitys\Object.cpp -o src\build\Entitys\Object.o
|
|
||||||
[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\src\utils\EngineConfig.cpp -o src\build\utils\EngineConfig.o
|
|
||||||
[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\imgui\imgui_widgets.cpp -o src\build\imgui_widgets.o
|
|
||||||
[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\src\Engine.cpp -o src\build\Engine.o
|
|
||||||
[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\vendor\imgui\imgui.cpp -o src\build\imgui.o
|
|
||||||
[LINK] g++ src\build\Engine.o src\build\main.o src\build\Renderer.o src\build\Components\CameraComponent.o src\build\Components\LightComponent.o src\build\Components\PhysicsComponent.o src\build\Components\ScriptComponent.o src\build\Components\SpriteComponent.o src\build\Components\TextComonent.o src\build\Components\TilemapComponent.o src\build\Entitys\Object.o src\build\utils\EngineConfig.o src\build\utils\ExceptionHandler.o src\build\utils\FileDialog.o src\build\utils\GameObjectsList.o src\build\utils\Logging.o src\build\utils\Profiler.o src\build\utils\Shader.o src\build\utils\UID.o src\build\utils\utils.o src\build\lapi.o src\build\lauxlib.o src\build\lbaselib.o src\build\lcode.o src\build\lcorolib.o src\build\lctype.o src\build\ldblib.o src\build\ldebug.o src\build\ldo.o src\build\ldump.o src\build\lfunc.o src\build\lgc.o src\build\linit.o src\build\liolib.o src\build\llex.o src\build\lmathlib.o src\build\lmem.o src\build\loadlib.o src\build\lobject.o src\build\lopcodes.o src\build\loslib.o src\build\lparser.o src\build\lstate.o src\build\lstring.o src\build\lstrlib.o src\build\ltable.o src\build\ltablib.o src\build\ltm.o src\build\lua.o src\build\luac.o src\build\lundump.o src\build\lutf8lib.o src\build\lvm.o src\build\lzio.o src\build\imgui.o src\build\imgui_demo.o src\build\imgui_draw.o src\build\imgui_impl_glfw.o src\build\imgui_impl_opengl3.o src\build\imgui_tables.o src\build\imgui_widgets.o src\build\aabb.o src\build\arena_allocator.o src\build\array.o src\build\bitset.o src\build\body.o src\build\broad_phase.o src\build\constraint_graph.o src\build\contact.o src\build\contact_solver.o src\build\core.o src\build\distance.o src\build\distance_joint.o src\build\dynamic_tree.o src\build\geometry.o src\build\hull.o src\build\id_pool.o src\build\island.o src\build\joint.o src\build\manifold.o src\build\math_functions.o src\build\motor_joint.o src\build\mouse_joint.o src\build\mover.o src\build\prismatic_joint.o src\build\revolute_joint.o src\build\sensor.o src\build\shape.o src\build\solver.o src\build\solver_set.o src\build\table.o src\build\timer.o src\build\types.o src\build\weld_joint.o src\build\wheel_joint.o src\build\world.o -o src\build\app.exe -LC:\msys64\mingw64\lib -lglfw3 -lglew32 -lopengl32 -lgdi32 -lyaml-cpp -lcomdlg32 -lssl -lcrypto
|
[LINK] g++ src\build\Engine.o src\build\main.o src\build\Renderer.o src\build\Components\CameraComponent.o src\build\Components\LightComponent.o src\build\Components\PhysicsComponent.o src\build\Components\ScriptComponent.o src\build\Components\SpriteComponent.o src\build\Components\TextComonent.o src\build\Components\TilemapComponent.o src\build\Entitys\Object.o src\build\utils\EngineConfig.o src\build\utils\ExceptionHandler.o src\build\utils\FileDialog.o src\build\utils\GameObjectsList.o src\build\utils\Logging.o src\build\utils\Profiler.o src\build\utils\Shader.o src\build\utils\UID.o src\build\utils\utils.o src\build\lapi.o src\build\lauxlib.o src\build\lbaselib.o src\build\lcode.o src\build\lcorolib.o src\build\lctype.o src\build\ldblib.o src\build\ldebug.o src\build\ldo.o src\build\ldump.o src\build\lfunc.o src\build\lgc.o src\build\linit.o src\build\liolib.o src\build\llex.o src\build\lmathlib.o src\build\lmem.o src\build\loadlib.o src\build\lobject.o src\build\lopcodes.o src\build\loslib.o src\build\lparser.o src\build\lstate.o src\build\lstring.o src\build\lstrlib.o src\build\ltable.o src\build\ltablib.o src\build\ltm.o src\build\lua.o src\build\luac.o src\build\lundump.o src\build\lutf8lib.o src\build\lvm.o src\build\lzio.o src\build\imgui.o src\build\imgui_demo.o src\build\imgui_draw.o src\build\imgui_impl_glfw.o src\build\imgui_impl_opengl3.o src\build\imgui_tables.o src\build\imgui_widgets.o src\build\aabb.o src\build\arena_allocator.o src\build\array.o src\build\bitset.o src\build\body.o src\build\broad_phase.o src\build\constraint_graph.o src\build\contact.o src\build\contact_solver.o src\build\core.o src\build\distance.o src\build\distance_joint.o src\build\dynamic_tree.o src\build\geometry.o src\build\hull.o src\build\id_pool.o src\build\island.o src\build\joint.o src\build\manifold.o src\build\math_functions.o src\build\motor_joint.o src\build\mouse_joint.o src\build\mover.o src\build\prismatic_joint.o src\build\revolute_joint.o src\build\sensor.o src\build\shape.o src\build\solver.o src\build\solver_set.o src\build\table.o src\build\timer.o src\build\types.o src\build\weld_joint.o src\build\wheel_joint.o src\build\world.o -o src\build\app.exe -LC:\msys64\mingw64\lib -lglfw3 -lglew32 -lopengl32 -lgdi32 -lyaml-cpp -lcomdlg32 -lssl -lcrypto
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#version 330 core
|
#version 430 core
|
||||||
|
|
||||||
in vec2 vUV;
|
in vec2 vUV;
|
||||||
in vec2 vFragScreenPos;
|
in vec2 vFragScreenPos;
|
||||||
@ -6,25 +6,31 @@ out vec4 FragColor;
|
|||||||
|
|
||||||
uniform sampler2D uTex;
|
uniform sampler2D uTex;
|
||||||
uniform sampler2D uNormalMap;
|
uniform sampler2D uNormalMap;
|
||||||
uniform float uRotation;
|
|
||||||
|
|
||||||
|
uniform float uRotation;
|
||||||
uniform float uBrightness;
|
uniform float uBrightness;
|
||||||
uniform float uSaturation;
|
uniform float uSaturation;
|
||||||
uniform float uGamma;
|
uniform float uGamma;
|
||||||
|
|
||||||
#define MAX_LIGHTS 512
|
uniform int uLightCount;
|
||||||
|
uniform int uClusterWidth;
|
||||||
|
uniform int uClusterHeight;
|
||||||
|
uniform int uClusterCols;
|
||||||
|
uniform int uMaxLightsPerCluster;
|
||||||
|
|
||||||
uniform int uLightCount;
|
#define MAX_LIGHTS 512
|
||||||
uniform vec2 uLightPos[MAX_LIGHTS];
|
uniform vec2 uLightPos[MAX_LIGHTS];
|
||||||
uniform vec3 uLightColor[MAX_LIGHTS];
|
uniform vec3 uLightColor[MAX_LIGHTS];
|
||||||
uniform float uLightIntensity[MAX_LIGHTS];
|
uniform float uLightIntensity[MAX_LIGHTS];
|
||||||
uniform float uLightRadius[MAX_LIGHTS];
|
uniform float uLightRadius[MAX_LIGHTS];
|
||||||
|
|
||||||
|
layout(std430, binding = 1) readonly buffer ClusterLightBuffer {
|
||||||
|
int clusterLightIndices[];
|
||||||
|
};
|
||||||
|
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
// Rotate UV 90° clockwise
|
|
||||||
vec2 rotatedUV = vec2(vUV.y, 1.0 - vUV.x);
|
vec2 rotatedUV = vec2(vUV.y, 1.0 - vUV.x);
|
||||||
|
|
||||||
vec4 texColor = texture(uTex, rotatedUV);
|
vec4 texColor = texture(uTex, rotatedUV);
|
||||||
if (texColor.a < 0.1)
|
if (texColor.a < 0.1)
|
||||||
discard;
|
discard;
|
||||||
@ -40,18 +46,23 @@ void main()
|
|||||||
vec3 normal = normalize(n);
|
vec3 normal = normalize(n);
|
||||||
vec3 finalLight = vec3(0.0);
|
vec3 finalLight = vec3(0.0);
|
||||||
|
|
||||||
for (int i = 0; i < uLightCount; ++i)
|
int cx = int(vFragScreenPos.x) / uClusterWidth;
|
||||||
{
|
int cy = int(vFragScreenPos.y) / uClusterHeight;
|
||||||
vec2 lightVec = uLightPos[i] - vFragScreenPos;
|
int clusterIndex = cy * uClusterCols + cx;
|
||||||
float dist = length(lightVec);
|
|
||||||
|
|
||||||
if (dist < uLightRadius[i])
|
for (int i = 0; i < uMaxLightsPerCluster; ++i) {
|
||||||
{
|
int lightIndex = clusterLightIndices[clusterIndex * uMaxLightsPerCluster + i];
|
||||||
|
if (lightIndex < 0 || lightIndex >= uLightCount)
|
||||||
|
break;
|
||||||
|
|
||||||
|
vec2 lightVec = uLightPos[lightIndex] - vFragScreenPos;
|
||||||
|
float dist = length(lightVec);
|
||||||
|
if (dist < uLightRadius[lightIndex]) {
|
||||||
vec2 lightDir2D = normalize(lightVec);
|
vec2 lightDir2D = normalize(lightVec);
|
||||||
vec3 lightDir = normalize(vec3(lightDir2D, 1.0));
|
vec3 lightDir = normalize(vec3(lightDir2D, 1.0));
|
||||||
float attenuation = smoothstep(uLightRadius[i], 0.0, dist);
|
float attenuation = smoothstep(uLightRadius[lightIndex], 0.0, dist);
|
||||||
float diff = max(dot(normal, lightDir), 0.0);
|
float diff = max(dot(normal, lightDir), 0.0);
|
||||||
vec3 light = uLightColor[i] * diff * attenuation * uLightIntensity[i];
|
vec3 light = uLightColor[lightIndex] * diff * attenuation * uLightIntensity[lightIndex];
|
||||||
finalLight += light;
|
finalLight += light;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -64,8 +75,5 @@ void main()
|
|||||||
result = mix(vec3(gray), result, uSaturation);
|
result = mix(vec3(gray), result, uSaturation);
|
||||||
|
|
||||||
result = pow(result, vec3(1.0 / uGamma));
|
result = pow(result, vec3(1.0 / uGamma));
|
||||||
|
FragColor = vec4(clamp(result, 0.0, 1.0), texColor.a);
|
||||||
result = clamp(result, 0.0, 1.0);
|
|
||||||
|
|
||||||
FragColor = vec4(result, texColor.a);
|
|
||||||
}
|
}
|
||||||
|
@ -30,6 +30,7 @@
|
|||||||
#include <cmath>
|
#include <cmath>
|
||||||
#include <cstdio>
|
#include <cstdio>
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
#include <random>
|
||||||
#include <format>
|
#include <format>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <filesystem>
|
#include <filesystem>
|
||||||
@ -96,7 +97,7 @@ void DrawProfilerTimelineBars(const ProfileNode &node,
|
|||||||
// draw the bar
|
// draw the bar
|
||||||
size_t hash = std::hash<std::string>{}(node.name);
|
size_t hash = std::hash<std::string>{}(node.name);
|
||||||
ImU32 color = ImColor::HSV(((hash ^ SEED) % 1000) / 1000.0f, 0.6f, 0.85f);
|
ImU32 color = ImColor::HSV(((hash ^ SEED) % 1000) / 1000.0f, 0.6f, 0.85f);
|
||||||
|
|
||||||
ImDrawList *draw = ImGui::GetWindowDrawList();
|
ImDrawList *draw = ImGui::GetWindowDrawList();
|
||||||
draw->AddRectFilled(barMin, barMax, color, 3.0f);
|
draw->AddRectFilled(barMin, barMax, color, 3.0f);
|
||||||
draw->AddRect(barMin, barMax, IM_COL32_BLACK, 3.0f);
|
draw->AddRect(barMin, barMax, IM_COL32_BLACK, 3.0f);
|
||||||
@ -352,10 +353,57 @@ void Engine::Init()
|
|||||||
|
|
||||||
Renderer::Init();
|
Renderer::Init();
|
||||||
|
|
||||||
auto obj = std::make_shared<Object>("Hello, Create");
|
// auto obj = std::make_shared<Object>("Hello, Create");
|
||||||
|
//
|
||||||
|
// objects.push_back(obj);
|
||||||
|
// selected = obj;
|
||||||
|
|
||||||
|
{
|
||||||
|
std::random_device rd;
|
||||||
|
std::mt19937 rng(rd());
|
||||||
|
std::uniform_real_distribution<float> lightRadius(1000.0f, 2000.0f);
|
||||||
|
std::uniform_real_distribution<float> lightIntensity(1.0f, 3.0f);
|
||||||
|
std::uniform_real_distribution<float> hueDist(0.0f, 1.0f);
|
||||||
|
|
||||||
|
const float tileSize = 1024.0f; // approximate texture size
|
||||||
|
const int gridSize = 10;
|
||||||
|
|
||||||
|
// 10x10 grid of pebble sprites
|
||||||
|
for (int y = 0; y < gridSize; ++y)
|
||||||
|
{
|
||||||
|
for (int x = 0; x < gridSize; ++x)
|
||||||
|
{
|
||||||
|
int index = y * gridSize + x;
|
||||||
|
auto obj = std::make_shared<Object>("Pebble_" + std::to_string(index));
|
||||||
|
obj->SetLocalPosition(glm::vec2(x * tileSize, y * tileSize));
|
||||||
|
|
||||||
|
auto sprite = obj->AddComponent<SpriteComponent>();
|
||||||
|
sprite->SetTexture("C:/Users/spenc/OneDrive/Pictures/textures/ganges_river_pebbles_diff_1k.png");
|
||||||
|
sprite->SetNormalMap("C:/Users/spenc/OneDrive/Pictures/textures/ganges_river_pebbles_nor_gl_1k.png");
|
||||||
|
sprite->SetRenderType(SpriteComponent::RenderType::Lit);
|
||||||
|
|
||||||
|
objects.push_back(obj);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 100 random lights
|
||||||
|
std::uniform_real_distribution<float> posDist(0.0f, tileSize * gridSize);
|
||||||
|
|
||||||
|
for (int i = 0; i < 100; ++i)
|
||||||
|
{
|
||||||
|
auto obj = std::make_shared<Object>("Light_" + std::to_string(i));
|
||||||
|
obj->SetLocalPosition(glm::vec2(posDist(rng), posDist(rng)));
|
||||||
|
|
||||||
|
auto light = obj->AddComponent<LightComponent>();
|
||||||
|
light->SetRadius(lightRadius(rng));
|
||||||
|
light->SetIntensity(lightIntensity(rng));
|
||||||
|
light->SetColor(HSVtoRGB(hueDist(rng), 0.8f, 1.0f));
|
||||||
|
|
||||||
|
objects.push_back(obj);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
objects.push_back(obj);
|
|
||||||
selected = obj;
|
|
||||||
Logger::LogVerbose("Resverving Objects");
|
Logger::LogVerbose("Resverving Objects");
|
||||||
|
|
||||||
m_toDraw.reserve(1024);
|
m_toDraw.reserve(1024);
|
||||||
@ -618,6 +666,8 @@ void Engine::collectObjects(bool playing, const glm::vec2 &camPos, float camZoom
|
|||||||
m_activeCamera = nullptr;
|
m_activeCamera = nullptr;
|
||||||
m_physicsUpdates.clear();
|
m_physicsUpdates.clear();
|
||||||
|
|
||||||
|
const glm::vec2 screenSize = glm::vec2(Renderer::GetSize());
|
||||||
|
|
||||||
for (auto &root : objects)
|
for (auto &root : objects)
|
||||||
if (!root->GetParent())
|
if (!root->GetParent())
|
||||||
m_collectStack.push_back(root);
|
m_collectStack.push_back(root);
|
||||||
@ -635,7 +685,7 @@ void Engine::collectObjects(bool playing, const glm::vec2 &camPos, float camZoom
|
|||||||
if (auto light = obj->GetComponent<LightComponent>())
|
if (auto light = obj->GetComponent<LightComponent>())
|
||||||
{
|
{
|
||||||
glm::vec2 world = obj->GetWorldPosition();
|
glm::vec2 world = obj->GetWorldPosition();
|
||||||
glm::vec2 screen = (world - camPos) * camZoom + glm::vec2(Renderer::GetSize()) * 0.5f;
|
glm::vec2 screen = (world - camPos) * camZoom + screenSize * 0.5f;
|
||||||
Renderer::AddLight(screen, light->GetColor(), light->GetIntensity(), light->GetRadius() * camZoom);
|
Renderer::AddLight(screen, light->GetColor(), light->GetIntensity(), light->GetRadius() * camZoom);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -647,7 +697,6 @@ void Engine::collectObjects(bool playing, const glm::vec2 &camPos, float camZoom
|
|||||||
m_activeCamera = camera;
|
m_activeCamera = camera;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (playing)
|
if (playing)
|
||||||
{
|
{
|
||||||
@ -663,7 +712,6 @@ void Engine::collectObjects(bool playing, const glm::vec2 &camPos, float camZoom
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void Engine::Run()
|
void Engine::Run()
|
||||||
{
|
{
|
||||||
while (!glfwWindowShouldClose(window))
|
while (!glfwWindowShouldClose(window))
|
||||||
@ -777,7 +825,6 @@ void Engine::Run()
|
|||||||
{
|
{
|
||||||
ImGui::Checkbox("Profile Engine", &g_engineConfig.settings.profile_editor);
|
ImGui::Checkbox("Profile Engine", &g_engineConfig.settings.profile_editor);
|
||||||
ImGui::Checkbox("Deep Profileing", &g_engineConfig.settings.profile_deep);
|
ImGui::Checkbox("Deep Profileing", &g_engineConfig.settings.profile_deep);
|
||||||
|
|
||||||
}
|
}
|
||||||
ImGui::EndMenu();
|
ImGui::EndMenu();
|
||||||
}
|
}
|
||||||
@ -952,6 +999,11 @@ void Engine::Run()
|
|||||||
collectObjects(playing, cameraPos, cameraZoom);
|
collectObjects(playing, cameraPos, cameraZoom);
|
||||||
profiler.EndEngineSection();
|
profiler.EndEngineSection();
|
||||||
|
|
||||||
|
profiler.BeginEngineSection("Renderer::UpdateClusterLights");
|
||||||
|
|
||||||
|
Renderer::UpdateClusterLights();
|
||||||
|
profiler.EndEngineSection();
|
||||||
|
|
||||||
// Sort Objects
|
// Sort Objects
|
||||||
profiler.BeginEngineSection("Sort Objects");
|
profiler.BeginEngineSection("Sort Objects");
|
||||||
if (m_toDraw.size() > 1)
|
if (m_toDraw.size() > 1)
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
#include <GL/glew.h>
|
#include <GL/glew.h>
|
||||||
#include <glm/glm.hpp>
|
#include <glm/glm.hpp>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
#include <algorithm>
|
||||||
#include <map>
|
#include <map>
|
||||||
|
|
||||||
static Shader spriteShader;
|
static Shader spriteShader;
|
||||||
@ -31,6 +32,11 @@ std::unique_ptr<ColorCorrection> Renderer::s_ColorCorrection = nullptr;
|
|||||||
|
|
||||||
std::vector<Light> Renderer::s_Lights;
|
std::vector<Light> Renderer::s_Lights;
|
||||||
|
|
||||||
|
std::vector<Renderer::Cluster> Renderer::s_Clusters;
|
||||||
|
GLuint Renderer::s_ClusterSSBO = 0;
|
||||||
|
int Renderer::s_ClusterCols = 0;
|
||||||
|
int Renderer::s_ClusterRows = 0;
|
||||||
|
|
||||||
static Shader tilemapShader;
|
static Shader tilemapShader;
|
||||||
|
|
||||||
void Renderer::InitQuad()
|
void Renderer::InitQuad()
|
||||||
@ -89,6 +95,8 @@ void Renderer::Init()
|
|||||||
|
|
||||||
SetColorCorrection(std::make_unique<ColorCorrection>());
|
SetColorCorrection(std::make_unique<ColorCorrection>());
|
||||||
|
|
||||||
|
glGenBuffers(1, &s_ClusterSSBO);
|
||||||
|
|
||||||
// Create a 1x1 flat normal map (RGB: 128,128,255)
|
// Create a 1x1 flat normal map (RGB: 128,128,255)
|
||||||
unsigned char flatNormal[3] = {128, 128, 255};
|
unsigned char flatNormal[3] = {128, 128, 255};
|
||||||
glGenTextures(1, &defaultNormalMap);
|
glGenTextures(1, &defaultNormalMap);
|
||||||
@ -100,6 +108,51 @@ void Renderer::Init()
|
|||||||
s_DrawCalls = 0;
|
s_DrawCalls = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Renderer::UpdateClusterLights()
|
||||||
|
{
|
||||||
|
PROFILE_ENGINE_SCOPE("Renderer::UpdateClusterLights");
|
||||||
|
|
||||||
|
s_ClusterCols = (width + CLUSTER_SIZE - 1) / CLUSTER_SIZE;
|
||||||
|
s_ClusterRows = (height + CLUSTER_SIZE - 1) / CLUSTER_SIZE;
|
||||||
|
int totalClusters = s_ClusterCols * s_ClusterRows;
|
||||||
|
|
||||||
|
s_Clusters.resize(totalClusters);
|
||||||
|
for (auto &c : s_Clusters)
|
||||||
|
c.lightIndices.clear();
|
||||||
|
|
||||||
|
for (int i = 0; i < s_Lights.size(); ++i)
|
||||||
|
{
|
||||||
|
const Light &light = s_Lights[i];
|
||||||
|
glm::vec2 min = light.screenPos - glm::vec2(light.radius);
|
||||||
|
glm::vec2 max = light.screenPos + glm::vec2(light.radius);
|
||||||
|
|
||||||
|
int minX = glm::clamp(int(min.x) / CLUSTER_SIZE, 0, s_ClusterCols - 1);
|
||||||
|
int maxX = glm::clamp(int(max.x) / CLUSTER_SIZE, 0, s_ClusterCols - 1);
|
||||||
|
int minY = glm::clamp(int(min.y) / CLUSTER_SIZE, 0, s_ClusterRows - 1);
|
||||||
|
int maxY = glm::clamp(int(max.y) / CLUSTER_SIZE, 0, s_ClusterRows - 1);
|
||||||
|
|
||||||
|
for (int y = minY; y <= maxY; ++y)
|
||||||
|
for (int x = minX; x <= maxX; ++x)
|
||||||
|
{
|
||||||
|
Cluster &cluster = s_Clusters[y * s_ClusterCols + x];
|
||||||
|
if (cluster.lightIndices.size() < MAX_LIGHTS_PER_CLUSTER)
|
||||||
|
cluster.lightIndices.push_back(i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<int> packed;
|
||||||
|
packed.resize(totalClusters * MAX_LIGHTS_PER_CLUSTER, -1);
|
||||||
|
for (int i = 0; i < totalClusters; ++i)
|
||||||
|
{
|
||||||
|
for (int j = 0; j < s_Clusters[i].lightIndices.size(); ++j)
|
||||||
|
packed[i * MAX_LIGHTS_PER_CLUSTER + j] = s_Clusters[i].lightIndices[j];
|
||||||
|
}
|
||||||
|
|
||||||
|
glBindBuffer(GL_SHADER_STORAGE_BUFFER, s_ClusterSSBO);
|
||||||
|
glBufferData(GL_SHADER_STORAGE_BUFFER, packed.size() * sizeof(int), packed.data(), GL_DYNAMIC_DRAW);
|
||||||
|
glBindBufferBase(GL_SHADER_STORAGE_BUFFER, 1, s_ClusterSSBO);
|
||||||
|
}
|
||||||
|
|
||||||
void Renderer::Resize(int w, int h)
|
void Renderer::Resize(int w, int h)
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -213,10 +266,6 @@ void Renderer::DrawTilemap(TilemapComponent *tilemap, const glm::vec2 &worldPos,
|
|||||||
glBindVertexArray(0);
|
glBindVertexArray(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void Renderer::DrawSprite(SpriteComponent *sprite, const glm::vec2 &pos, float zoom, glm::vec2 &CameraPos)
|
void Renderer::DrawSprite(SpriteComponent *sprite, const glm::vec2 &pos, float zoom, glm::vec2 &CameraPos)
|
||||||
{
|
{
|
||||||
PROFILE_DEEP_SCOPE("DrawSprite");
|
PROFILE_DEEP_SCOPE("DrawSprite");
|
||||||
@ -286,6 +335,10 @@ void Renderer::DrawSprite(SpriteComponent *sprite, const glm::vec2 &pos, float z
|
|||||||
}
|
}
|
||||||
|
|
||||||
shader->SetInt("uLightCount", static_cast<int>(s_Lights.size()));
|
shader->SetInt("uLightCount", static_cast<int>(s_Lights.size()));
|
||||||
|
shader->SetInt("uClusterWidth", CLUSTER_SIZE);
|
||||||
|
shader->SetInt("uClusterHeight", CLUSTER_SIZE);
|
||||||
|
shader->SetInt("uClusterCols", s_ClusterCols);
|
||||||
|
shader->SetInt("uMaxLightsPerCluster", MAX_LIGHTS_PER_CLUSTER);
|
||||||
|
|
||||||
for (size_t i = 0; i < s_Lights.size(); ++i)
|
for (size_t i = 0; i < s_Lights.size(); ++i)
|
||||||
{
|
{
|
||||||
@ -303,6 +356,8 @@ void Renderer::DrawSprite(SpriteComponent *sprite, const glm::vec2 &pos, float z
|
|||||||
glActiveTexture(GL_TEXTURE1);
|
glActiveTexture(GL_TEXTURE1);
|
||||||
glBindTexture(GL_TEXTURE_2D, sprite->GetNormalMapID() ? sprite->GetNormalMapID() : defaultNormalMap);
|
glBindTexture(GL_TEXTURE_2D, sprite->GetNormalMapID() ? sprite->GetNormalMapID() : defaultNormalMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
glBindBufferBase(GL_SHADER_STORAGE_BUFFER, 1, s_ClusterSSBO);
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
#include <GL/glew.h>
|
#include <GL/glew.h>
|
||||||
#include <glm/glm.hpp>
|
#include <glm/glm.hpp>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
#include <memory>
|
||||||
|
|
||||||
#include "Components/TilemapComponent.h"
|
#include "Components/TilemapComponent.h"
|
||||||
#include "Components/SpriteComponent.h"
|
#include "Components/SpriteComponent.h"
|
||||||
@ -9,12 +10,10 @@
|
|||||||
#include "utils/Shader.h"
|
#include "utils/Shader.h"
|
||||||
#include "utils/Profiler.h"
|
#include "utils/Profiler.h"
|
||||||
|
|
||||||
|
|
||||||
struct ColorCorrection {
|
struct ColorCorrection {
|
||||||
float brightness = 1.0f;
|
float brightness = 1.0f;
|
||||||
float saturation = 1.0f;
|
float saturation = 1.0f;
|
||||||
float gamma = 1.0f;
|
float gamma = 1.0f;
|
||||||
|
|
||||||
|
|
||||||
void Upload(Shader& shader) const {
|
void Upload(Shader& shader) const {
|
||||||
shader.SetFloat("uBrightness", brightness);
|
shader.SetFloat("uBrightness", brightness);
|
||||||
@ -23,17 +22,14 @@ struct ColorCorrection {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct Light {
|
||||||
struct Light
|
|
||||||
{
|
|
||||||
glm::vec2 screenPos;
|
glm::vec2 screenPos;
|
||||||
glm::vec3 color;
|
glm::vec3 color;
|
||||||
float intensity;
|
float intensity;
|
||||||
float radius;
|
float radius;
|
||||||
};
|
};
|
||||||
|
|
||||||
class Renderer
|
class Renderer {
|
||||||
{
|
|
||||||
public:
|
public:
|
||||||
static void Init();
|
static void Init();
|
||||||
static void Resize(int w, int h);
|
static void Resize(int w, int h);
|
||||||
@ -47,7 +43,6 @@ public:
|
|||||||
static void ClearLights();
|
static void ClearLights();
|
||||||
|
|
||||||
static void DrawEditorGrid(const glm::vec2 &cameraPos, float zoom);
|
static void DrawEditorGrid(const glm::vec2 &cameraPos, float zoom);
|
||||||
|
|
||||||
static void DrawGizmoLine(const glm::vec2 &worldStart, const glm::vec2 &worldEnd, const glm::vec3 &color, const glm::vec2 &cameraPos, float zoom);
|
static void DrawGizmoLine(const glm::vec2 &worldStart, const glm::vec2 &worldEnd, const glm::vec3 &color, const glm::vec2 &cameraPos, float zoom);
|
||||||
static void DrawGizmoRect(const glm::vec2 &worldPos, const glm::vec2 &size, const glm::vec3 &color, const glm::vec2 &cameraPos, float zoom);
|
static void DrawGizmoRect(const glm::vec2 &worldPos, const glm::vec2 &size, const glm::vec3 &color, const glm::vec2 &cameraPos, float zoom);
|
||||||
static void DrawGizmoCircle(const glm::vec2 &worldCenter, float radius, int segments, const glm::vec3 &color, const glm::vec2 &cameraPos, float zoom);
|
static void DrawGizmoCircle(const glm::vec2 &worldCenter, float radius, int segments, const glm::vec3 &color, const glm::vec2 &cameraPos, float zoom);
|
||||||
@ -58,11 +53,14 @@ public:
|
|||||||
static int GetLightsCount();
|
static int GetLightsCount();
|
||||||
|
|
||||||
static void SetColorCorrection(std::unique_ptr<ColorCorrection> correction);
|
static void SetColorCorrection(std::unique_ptr<ColorCorrection> correction);
|
||||||
|
|
||||||
static ColorCorrection *GetColorCorrection();
|
static ColorCorrection *GetColorCorrection();
|
||||||
|
|
||||||
|
// Clustered lighting
|
||||||
|
static void UpdateClusterLights(); // Call once per frame after all lights added
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static std::vector<Light> s_Lights;
|
static std::vector<Light> s_Lights;
|
||||||
|
|
||||||
static GLuint fbo, textureColorBuffer, rbo;
|
static GLuint fbo, textureColorBuffer, rbo;
|
||||||
static GLuint defaultNormalMap;
|
static GLuint defaultNormalMap;
|
||||||
static int width, height;
|
static int width, height;
|
||||||
@ -74,4 +72,19 @@ private:
|
|||||||
static GLuint LoadShader(const char *vertexSrc, const char *fragmentSrc);
|
static GLuint LoadShader(const char *vertexSrc, const char *fragmentSrc);
|
||||||
|
|
||||||
static std::unique_ptr<ColorCorrection> s_ColorCorrection;
|
static std::unique_ptr<ColorCorrection> s_ColorCorrection;
|
||||||
|
|
||||||
|
// --- Clustered Lighting ---
|
||||||
|
static constexpr int CLUSTER_SIZE = 16;
|
||||||
|
static constexpr int MAX_LIGHTS_PER_CLUSTER = 32;
|
||||||
|
|
||||||
|
struct Cluster {
|
||||||
|
std::vector<int> lightIndices;
|
||||||
|
};
|
||||||
|
|
||||||
|
static std::vector<Cluster> s_Clusters;
|
||||||
|
static GLuint s_ClusterSSBO;
|
||||||
|
static int s_ClusterCols;
|
||||||
|
static int s_ClusterRows;
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <GL/glew.h>
|
#include <GL/glew.h>
|
||||||
|
#include <glm/glm.hpp>
|
||||||
|
|
||||||
// Returns filename from a full path (e.g., "C:/foo/bar.png" → "bar.png")
|
// Returns filename from a full path (e.g., "C:/foo/bar.png" → "bar.png")
|
||||||
std::string GetFilenameFromPath(const std::string& path);
|
std::string GetFilenameFromPath(const std::string& path);
|
||||||
@ -10,3 +11,28 @@ std::string GetFilenameFromPath(const std::string& path);
|
|||||||
GLuint LoadTextureIfNeeded(const std::string& path);
|
GLuint LoadTextureIfNeeded(const std::string& path);
|
||||||
|
|
||||||
bool DeleteLatestLogFile();
|
bool DeleteLatestLogFile();
|
||||||
|
|
||||||
|
|
||||||
|
// HSV → RGB helper
|
||||||
|
inline glm::vec3 HSVtoRGB(float h, float s, float v)
|
||||||
|
{
|
||||||
|
float r, g, b;
|
||||||
|
|
||||||
|
int i = int(h * 6);
|
||||||
|
float f = h * 6 - i;
|
||||||
|
float p = v * (1 - s);
|
||||||
|
float q = v * (1 - f * s);
|
||||||
|
float t = v * (1 - (1 - f) * s);
|
||||||
|
|
||||||
|
switch (i % 6)
|
||||||
|
{
|
||||||
|
case 0: r = v; g = t; b = p; break;
|
||||||
|
case 1: r = q; g = v; b = p; break;
|
||||||
|
case 2: r = p; g = v; b = t; break;
|
||||||
|
case 3: r = p; g = q; b = v; break;
|
||||||
|
case 4: r = t; g = p; b = v; break;
|
||||||
|
case 5: r = v; g = p; b = q; break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return glm::vec3(r, g, b);
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user