1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-27 03:35:27 +00:00

29184 Commits

Author SHA1 Message Date
florent.teppe
43b0ae1ce7 all debug renders now use the same shader and it works
remove debug draw shader, now that debug and debugdraw serve the same function

remove debug draw code from actors to clean

replaced int uniforms with bool for better readability

clang format

cleanup, remove unused func, and mistake whitespace

fix namespace

added more colors

fixed missing whitespace
2022-09-11 17:54:01 +02:00
florent.teppe
21971c08ba debug draw shader uses the generic functions
renamed files

roundabout way to change case with windows noticing

fixed type

fix filename in cmakelist.txt

ported shader and c++ code so glsl 120 can be used instead of 330

new debug shader and old one are almost unified

for some reason, even though I get no compilation issue, old debug draws don't work, only the new one implemented by this MR

remove useless const cast
2022-09-11 17:53:59 +02:00
florent.teppe
bd1bbc0ab8 removes mutex, and uses double buffering to avoid writing on a resource that will be read by the draw thread
changes when the buffers are reset -> at the end of the draw, because that's when we are certain the data isn't needed anymore

removed useless variable
fixed typo
include osg::vec3 instead of osg vec3f

compile linux

compile ?

applied clang format to the new files
2022-09-11 17:53:56 +02:00
florent.teppe
2a980ecb50 cleaned some code and fixed some naming issues
Moved debug draw to components, fixed some whitespace issues, added include guard

fixed uniform name, removed old files

Fixes some more whitespace weirdness
2022-09-11 17:53:53 +02:00
florent.teppe
12b3424dd7 initial work to get lines in
lines need the same synchronisation system as the other primitives

This two points are there because if I resize to 0 it crashes, si I need a pice of line at 0.,0.,0. so there is no crash.Not ideal

Lines are colored

didn't commit updated shader file
2022-09-11 17:53:51 +02:00
florent.teppe
80c97e48bf made code more consistent between cube, cylinder and wirecube, should also fix a clang compilation error
remove include to non existing file

Actors code displays different ways to use debug draw

oups, forgot to remove parameter in function

fix include case sensitivity

Jopefully fixes all linux issues

moves some code pieces, and the debug draw now has a group node to have different types of objects to draw
2022-09-11 17:53:49 +02:00
florent.teppe
76008e1ff8 Multiple shapes to draw
adds wireCube primitive

scale of the command taken into account

shading light is more vertical
2022-09-11 17:53:47 +02:00
florent.teppe
93af569a68 can place a cube at 0,0,0 Useless for now
Arbitrarly draw cubes at certain position with a certain color

Adds exemple of how it looks in the actor update code.

draws a green cube if alive, red else
2022-09-11 17:53:41 +02:00
psi29a
1f5277349c Merge branch 'span' into 'master'
Replace Misc::Span by std::span

See merge request OpenMW/openmw!2324
2022-08-22 17:34:51 +00:00
psi29a
9c24d6b390 Merge branch 'ci_starts_with' into 'master'
Replace ciCompareLen with ciStartsWith where possible

See merge request OpenMW/openmw!2325
2022-08-22 17:34:03 +00:00
psi29a
f1e95ad615 Merge branch 'scroll_indices' into 'master'
Properly transform item ID to enchantment ID

Closes #6959

See merge request OpenMW/openmw!2328
2022-08-22 17:18:15 +00:00
psi29a
e4c1748ee8 Merge branch 'enchanting_inventory_view' into 'master'
Use more string_view and const string&

See merge request OpenMW/openmw!2327
2022-08-22 17:17:23 +00:00
Evil Eye
2b9d475e50 Fix #6959 2022-08-22 17:44:49 +02:00
Evil Eye
150d1840d6 Use more string_view and const string& 2022-08-22 16:55:53 +02:00
elsid
5dc612aa54
Replace ciCompareLen with ciStartsWith where possible
`ciCompareLen(a, b, b.size()) == 0` expression is an equivalent of checking for
equality of `a` prefix with size `b.size()` with `b`.

`ciCompareLen(a, b, a.size()) == 0` is also the same thing but `a` is a prefix
`b` should start with.
2022-08-22 09:32:22 +02:00
elsid
e4a254deb7
Replace Misc::Span by std::span 2022-08-21 23:53:27 +02:00
psi29a
bf0865d03d Merge branch 'cherry-pick-0dacbaf31a5e0703c49eead6d6a977a28ec299f3' into 'master'
ActionManager::toggleMainMenu() should close PostProcessor HUD

See merge request OpenMW/openmw!2305
2022-08-21 20:16:36 +00:00
psi29a
36fbef1048 Merge branch 'apple-silicon-arm-build' into 'master'
Get build working on Apple Silicon

See merge request OpenMW/openmw!2286
2022-08-21 20:15:01 +00:00
psi29a
0889635dc7 Merge branch 'cherry-pick-31f0ef45d2bb53e0969962f23eb29350465993dd' into 'master'
Show a message if player attempts to access postprocessor hud when postprocessing is disabled.

See merge request OpenMW/openmw!2306
2022-08-21 20:13:13 +00:00
psi29a
5aa1ab2c62 Merge branch 'clean_includes' into 'master'
Cleanup includes

See merge request OpenMW/openmw!2307
2022-08-21 20:12:41 +00:00
psi29a
2a2268ea8b Merge branch 'optimize_navigator_update' into 'master'
Optimize navigator per frame update

See merge request OpenMW/openmw!2308
2022-08-21 20:12:30 +00:00
psi29a
f36e13444e Merge branch 'font_loading' into 'master'
Cleanup fonts loading

See merge request OpenMW/openmw!2309
2022-08-21 20:11:02 +00:00
psi29a
857dca058b Merge branch 'fix_memory_leak' into 'master'
Fix memory leak on cell loading

See merge request OpenMW/openmw!2318
2022-08-21 20:07:23 +00:00
psi29a
7c899364af Merge branch 'consistently_hostile' into 'master'
Clear the magic queue when unloading actors

Closes #6954

See merge request OpenMW/openmw!2317
2022-08-21 20:05:46 +00:00
psi29a
aa8eba239a Merge branch 'animation_view' into 'master'
Use string_view in animation code

See merge request OpenMW/openmw!2321
2022-08-21 20:05:00 +00:00
psi29a
a99c78c85f Merge branch 'animation_osg_ref_ptr' into 'master'
Avoid using owning raw pointer

See merge request OpenMW/openmw!2322
2022-08-21 20:04:38 +00:00
psi29a
f888d85429 Merge branch 'dialog_unique_ptr' into 'master'
Use std::unique_ptr to manage dialogs lifetime

See merge request OpenMW/openmw!2323
2022-08-21 20:04:12 +00:00
elsid
1e739ec741
Use std::unique_ptr to manage dialogs lifetime 2022-08-21 21:04:21 +02:00
elsid
838d75a2e2
Avoid using owning raw pointer 2022-08-21 21:00:29 +02:00
elsid
84944a7530
Store RefData::mBaseNode as osg::ref_ptr
Direct leak of 16197408 byte(s) in 56241 object(s) allocated from:
    #0 0x5572356d4d42 in operator new(unsigned long) (/home/elsid/dev/openmw/build/clang/asan/openmw+0xae0d42)
    #1 0x557236938196 in (anonymous namespace)::addObject(MWWorld::Ptr const&, MWWorld::World const&, std::__1::vector<ESM::RefNum, std::__1::allocator<ESM::RefNum> > const&, MWPhysics::PhysicsSystem&, MWRender::RenderingManager&) /home/elsid/dev/openmw/apps/openmw/mwworld/scene.cpp:119:42
    #2 0x55723692e51b in MWWorld::Scene::insertCell(MWWorld::CellStore&, Loading::Listener*)::$_7::operator()(MWWorld::Ptr const&) const /home/elsid/dev/openmw/apps/openmw/mwworld/scene.cpp:913:62
    #3 0x55723692e51b in void (anonymous namespace)::InsertVisitor::insert<MWWorld::Scene::insertCell(MWWorld::CellStore&, Loading::Listener*)::$_7>(MWWorld::Scene::insertCell(MWWorld::CellStore&, Loading::Listener*)::$_7&&) /home/elsid/dev/openmw/apps/openmw/mwworld/scene.cpp:230:21
    #4 0x55723692e51b in MWWorld::Scene::insertCell(MWWorld::CellStore&, Loading::Listener*) /home/elsid/dev/openmw/apps/openmw/mwworld/scene.cpp:913:23
    #5 0x55723692d451 in MWWorld::Scene::loadCell(MWWorld::CellStore*, Loading::Listener*, bool, osg::Vec3f const&) /home/elsid/dev/openmw/apps/openmw/mwworld/scene.cpp:449:9
    #6 0x5572369299f5 in MWWorld::Scene::changeCellGrid(osg::Vec3f const&, int, int, bool) /home/elsid/dev/openmw/apps/openmw/mwworld/scene.cpp:612:17
    #7 0x557236928521 in MWWorld::Scene::update(float) /home/elsid/dev/openmw/apps/openmw/mwworld/scene.cpp:315:13
    #8 0x5572368d4c98 in MWWorld::World::update(float, bool) /home/elsid/dev/openmw/apps/openmw/mwworld/worldimp.cpp:1833:22
    #9 0x557236ebbb72 in OMW::Engine::frame(float) /home/elsid/dev/openmw/apps/openmw/engine.cpp:418:25
    #10 0x557236ed250a in OMW::Engine::go() /home/elsid/dev/openmw/apps/openmw/engine.cpp:1102:14
    #11 0x557236eb621a in runApplication(int, char**) /home/elsid/dev/openmw/apps/openmw/main.cpp:228:17
    #12 0x55723774d622 in wrapApplication(int (*)(int, char**), int, char**, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) /home/elsid/dev/openmw/components/debug/debugging.cpp:328:19
    #13 0x557236eb651f in main /home/elsid/dev/openmw/apps/openmw/main.cpp:240:12
    #14 0x7fbf58a3f2cf  (/usr/lib/libc.so.6+0x232cf) (BuildId: e637217a46491314667a7a37b2155cb07afc1a40)

Direct leak of 396288 byte(s) in 1376 object(s) allocated from:
    #0 0x5572356d4d42 in operator new(unsigned long) (/home/elsid/dev/openmw/build/clang/asan/openmw+0xae0d42)
    #1 0x557236938196 in (anonymous namespace)::addObject(MWWorld::Ptr const&, MWWorld::World const&, std::__1::vector<ESM::RefNum, std::__1::allocator<ESM::RefNum> > const&, MWPhysics::PhysicsSystem&, MWRender::RenderingManager&) /home/elsid/dev/openmw/apps/openmw/mwworld/scene.cpp:119:42
    #2 0x55723692e51b in MWWorld::Scene::insertCell(MWWorld::CellStore&, Loading::Listener*)::$_7::operator()(MWWorld::Ptr const&) const /home/elsid/dev/openmw/apps/openmw/mwworld/scene.cpp:913:62
    #3 0x55723692e51b in void (anonymous namespace)::InsertVisitor::insert<MWWorld::Scene::insertCell(MWWorld::CellStore&, Loading::Listener*)::$_7>(MWWorld::Scene::insertCell(MWWorld::CellStore&, Loading::Listener*)::$_7&&) /home/elsid/dev/openmw/apps/openmw/mwworld/scene.cpp:230:21
    #4 0x55723692e51b in MWWorld::Scene::insertCell(MWWorld::CellStore&, Loading::Listener*) /home/elsid/dev/openmw/apps/openmw/mwworld/scene.cpp:913:23
    #5 0x55723692d451 in MWWorld::Scene::loadCell(MWWorld::CellStore*, Loading::Listener*, bool, osg::Vec3f const&) /home/elsid/dev/openmw/apps/openmw/mwworld/scene.cpp:449:9
    #6 0x5572369299f5 in MWWorld::Scene::changeCellGrid(osg::Vec3f const&, int, int, bool) /home/elsid/dev/openmw/apps/openmw/mwworld/scene.cpp:612:17
    #7 0x557236936eb2 in MWWorld::Scene::changeToExteriorCell(ESM::Position const&, bool, bool) /home/elsid/dev/openmw/apps/openmw/mwworld/scene.cpp:888:9
    #8 0x55723689a5ac in MWWorld::World::changeToExteriorCell(ESM::Position const&, bool, bool) /home/elsid/dev/openmw/apps/openmw/mwworld/worldimp.cpp:1003:22
    #9 0x5572368c249d in MWWorld::World::changeToCell(ESM::CellId const&, ESM::Position const&, bool, bool) /home/elsid/dev/openmw/apps/openmw/mwworld/worldimp.cpp:1014:13
    #10 0x557236e9bbce in MWState::StateManager::loadGame(MWState::Character const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) /home/elsid/dev/openmw/apps/openmw/mwstate/statemanagerimp.cpp:545:52
    #11 0x557236e998db in MWState::StateManager::loadGame(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) /home/elsid/dev/openmw/apps/openmw/mwstate/statemanagerimp.cpp:377:17
    #12 0x557236ed18fb in OMW::Engine::go() /home/elsid/dev/openmw/apps/openmw/engine.cpp:1066:24
    #13 0x557236eb621a in runApplication(int, char**) /home/elsid/dev/openmw/apps/openmw/main.cpp:228:17
    #14 0x55723774d622 in wrapApplication(int (*)(int, char**), int, char**, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) /home/elsid/dev/openmw/components/debug/debugging.cpp:328:19
    #15 0x557236eb651f in main /home/elsid/dev/openmw/apps/openmw/main.cpp:240:12
    #16 0x7fbf58a3f2cf  (/usr/lib/libc.so.6+0x232cf) (BuildId: e637217a46491314667a7a37b2155cb07afc1a40)
2022-08-21 20:58:37 +02:00
AnyOldName3
23e765954d Merge branch 'cherry-pick-abb14df943304a954f734b6289fb48f4951ae242' into 'master'
[Multiview][Postprocessor] omw_GetWorldPosFromUV() should use omw_GetDepth()

See merge request OpenMW/openmw!2320
2022-08-21 17:47:54 +00:00
unknown
206711876d Address feedback 2022-08-21 19:43:29 +02:00
elsid
3057fa6bee
Remove redundant components/esm/records.hpp include 2022-08-21 19:08:30 +02:00
unknown
827a2f0b77 Use string_view in animation code 2022-08-21 18:53:38 +02:00
Mads Buvik Sandvei
70e1efdd47 omw_GetWorldPosFromUV() should use omw_GetDepth() 2022-08-21 18:03:38 +02:00
psi29a
537c6e96ab Merge branch 'bloom_shader' into 'master'
Add wareya's linear bloom shader

See merge request OpenMW/openmw!2313
2022-08-21 12:53:46 +00:00
Evil Eye
443420ea60 CI compare cells 2022-08-21 14:46:13 +02:00
psi29a
5ed9764f3b Merge branch 'effect_indices' into 'master'
Preserve effect indices when applying AoE and targeted spells

Closes #6957

See merge request OpenMW/openmw!2315
2022-08-21 12:03:43 +00:00
psi29a
8ec8e733a1 Merge branch 'unique_summons' into 'master'
Mark summon effects as applied if they have spawned a creature

Closes #6955

See merge request OpenMW/openmw!2316
2022-08-21 12:02:38 +00:00
Evil Eye
afcbb3cb5e Clear the magic queue when unloading actors 2022-08-21 13:33:21 +02:00
Evil Eye
a547608289 Preserve effect indices when applying AoE and targeted spells 2022-08-21 12:44:07 +02:00
jvoisin
84c72b1c0a Add dots at the end, and add the .ru translation 2022-08-21 12:43:29 +02:00
Evil Eye
8b02c17ad4 Mark summon effects as applied if they have spawned a creature 2022-08-21 12:41:45 +02:00
Andrei Kortunov
9e1ab590f1 Cleanup fonts loading 2022-08-21 13:19:04 +04:00
psi29a
4078f19c74 Merge branch 'SHADER_HOT_RELOAD' into 'master'
Shaders: Hot reload, togglable by lua debug command

See merge request OpenMW/openmw!2238
2022-08-21 09:08:27 +00:00
florent.teppe
25c1f0ca16 Renamed variable to fix case issue 2022-08-21 09:18:08 +02:00
psi29a
510eac3fb4 Merge branch 'dont-look-back-in-anger-or-look-backwards-at-all-really' into 'master'
Validate near and far clip distances

See merge request OpenMW/openmw!2311
2022-08-20 18:33:50 +00:00
jvoisin
534f0377d5 Add wareya's linear bloom shader 2022-08-20 19:50:34 +02:00
elsid
aea4614240
Fix clang tidy warning 2022-08-20 19:17:45 +02:00
elsid
cca8faf422
Use dashed line stype to draw sum 2022-08-20 19:15:58 +02:00