1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-02-11 06:40:34 +00:00

944 Commits

Author SHA1 Message Date
psi29a
e37860c1dc Cherry pick 'openmw-48-stereo-fixes' into 'master'
Openmw 48 stereo fixes

See merge request OpenMW/openmw!2815
2023-03-12 22:20:23 +01:00
Petr Mikheev
e007dc9d6b Log reserving texture units 2023-03-04 00:55:34 +01:00
Alexei Dobrohotov
6aef366fd3 Attach shaders to geometry that lacks a stateset if necessary 2023-02-28 20:13:16 +03:00
Cody Glassman
924ba11826 Default shader at root
Assign a default shader to the scene root, otherwise objects without an assigned shader will use the FFP. An example of this is a trishape with no material, resulting in an empty stateset on the drawable level.
2023-02-26 09:32:25 -08:00
Cody Glassman
ac4787aeec shade refactor 2023-02-25 11:03:39 -08:00
elsid
2c43a8558a
Add option to disable debug log for unsupported nif files
It becomes quite extensive and not very useful when loading oblivion content
files.
2023-02-08 22:59:29 +01:00
psi29a
4032c447e9 Merge branch 'load-ESM4-Cell' into 'master'
Can load and coc into an interrior oblivion cell

See merge request OpenMW/openmw!2647
2023-02-06 08:56:23 +00:00
psi29a
6559860310 Merge branch 'water_nm_to_vfs' into 'master'
Move water normal to vfs (#7180)

Closes #7180

See merge request OpenMW/openmw!2657
2023-01-30 13:18:27 +00:00
glassmancody.info
897ee702d1 move water normal to vfs 2023-01-29 11:14:08 -08:00
glassmancody.info
165013ddd6 remove redunant conditional checks when getting uniforms 2023-01-28 10:40:24 -08:00
florent.teppe
531e55e04c Better handling of the esm3 vs esm4 cell problem
Common attribute are in one structure that has two constructors, one for ESM3 vs ESM4 Cell
Mood part of MWWorld::Cell
2023-01-27 13:39:39 +01:00
florent.teppe
0018bcf7de Should make cellvariant safer to use.
Hopefully clang tidy agrees.
2023-01-26 22:37:32 +01:00
florent.teppe
562e129bd0 encapsulations of esm3 cell and esm4 cells. 2023-01-26 22:37:31 +01:00
glassmancody.info
564c408663 expose more uniforms to postprocessing 2023-01-20 17:43:54 -08:00
elsid
c173348cbe
Use default initializers for ESM::RefNum members
Instead of unset function that is removed now and assignments all over the code.
2023-01-10 00:44:51 +01:00
glassmancody.info
9a4977d334 rain occlusion 2023-01-06 22:23:03 -08:00
glassmancody.info
6b6c732a59 properly update postprocess uniform for sun position in interiors 2023-01-03 10:16:30 -08:00
AnyOldName3
66b8d4fb29 Add a setting to control coverage adjustment
With it on, which was always the case before this setting was added,
vanilla content and poorly-made mods will look acceptable, but well-made
mods will have alpha-tested meshes appear to grow and potentially gain a
weird outline as they get further away.

With it off, which replicates the 0.46 behaviour, well-made mods will
look really good, but vanilla content and poorly-made mods will have
alpha-tested meshes shrink as they get further away.

It's been bugging me that this was forced on since 0.47 released, and
I'd hoped to figure out a solution for automatic detection at some point
before 0.48 branched off, but I didn't, so now this is what we're
getting to have Tamriel Rebuilt look right.
2022-12-09 00:22:08 +00:00
elsid
843753da14
Remove unused includes 2022-10-09 16:44:18 +02:00
elsid
f2fb3d6de8
Separate NIFFileReader from NIFFile
NIFFile might not always be created from a file or stream containing NIF data.
Basically there are 2 different responsibilities for this class:
1. Read NIF file
2. Provide input for nifosg and bulletnifloader.

Remove no longer needed NIFFileMock since the state of NIFFfile can be
initialized independently from reading NIF file.
2022-09-24 19:10:14 +02:00
clang-format-bot
ddb0522bbf
Apply clang-format to code base 2022-09-22 21:35:26 +03:00
psi29a
435eacdaad Merge branch 'debug_draw_commands' into 'master'
API to draw primitives

See merge request OpenMW/openmw!2345
2022-09-11 17:17:16 +00:00
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
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
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
Project579
e5c417c968 Make sure all paths are passed as std::filesystem::path instead of std::string where possible. 2022-09-11 14:41:15 +02:00
psi29a
525b904a44 Merge branch 'reflection-uniform' into 'master'
Added a uniform to indicate whether rendering is occurring in a reflection

See merge request OpenMW/openmw!2340
2022-09-10 14:19:20 +00:00
Evil Eye
fb9bc5f535 Use string_view in Fallback::Map 2022-08-28 17:20:49 +02:00
Evil Eye
2222b47e3d Make Settings::Manager::getString return a reference 2022-08-28 16:38:11 +02:00
Joshua Barretto
df7d2e46c0 Added a uniform to indicate whether rendering is occurring in a reflection 2022-08-25 22:34:50 +01: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
AnyOldName3
17c1053777 Validate near and far clip distances 2022-08-20 16:14:22 +01:00
elsid
b1fb42a28c
Cleanup detournavigator includes 2022-08-15 19:46:10 +02:00
florent.teppe
decfbc5387 Fix threading issues 2022-08-12 18:37:19 +02:00
florent teppe
baadc06e98 Merge branch 'master' into 'SHADER_HOT_RELOAD'
# Conflicts:
#   apps/openmw/mwrender/postprocessor.hpp
2022-08-09 09:26:55 +00:00
psi29a
69654b6697 Merge branch 'revert_active' into 'master'
Revert traversal mode to default

See merge request OpenMW/openmw!2249
2022-08-07 16:23:19 +00:00
cody glassman
c770c462e4 revert traversal nodes, discovered to break some NIFs with UV controllers 2022-08-06 11:39:23 -07:00
elsid
dffb12ac05
Use std::vector to store paged ref nums 2022-08-06 02:11:58 +02:00
florent.teppe
8d194a1601 Shaders: rudimentary hot reloader on shaders
every frame we poll the files and check if they are older or newer than the last test, if they are newer we find all the shader that included that file and update them
2022-08-03 19:12:45 +02:00
Andrei Kortunov
5bfca57835 Add a way to check if water is enabled in post processing shaders 2022-07-31 10:33:18 +04:00
elsid
0614b82452
Restore UnrefQueue to destruct animation asynchronously 2022-07-24 21:08:43 +02:00
glassmancody.info
a0265ffb89 only enable soft particles when enabled in settings 2022-07-02 09:42:15 -07:00
glassmancody.info
b09411d396 allow soft particles on meshes and add extra data extensions 2022-06-29 18:15:12 -07:00
elsid
fdf6e58ea3
Split apps/openmw/mwmechanics/actorutil.hpp 2022-06-26 16:42:29 +02:00
psi29a
1a478875f0 Merge branch 'navmesh_agent_bounds' into 'master'
Support different agent collision shape type for pathfinding

See merge request OpenMW/openmw!2030
2022-06-21 16:13:41 +00:00
Mads Buvik Sandvei
b0e4c7e76a [Postprocessing] Stereo integration 2022-06-21 15:55:06 +00:00
elsid
1a12c453d6
Support different agent collision shape type for pathfinding
Actors may have different collision shapes. Currently there are axis-aligned
bounding boxes and rotating bounding boxes. With AABB it's required to use
bounding cylinder for navmesh agent to avoid providing paths where actor can't
pass. But for rotating bounding boxes cylinder with diameter equal to the front
face width should be used to not reduce of available paths. For example rats
have rotating bounding box as collision shape because of the difference between
front and side faces width.

* Add agent bounds to navmesh tile db cache key. This is required to distinguish
  tiles for agents with different bounds.
* Increase navmesh version because navmesh tile db cache key and data has changed.
* Move navmesh version to the code to avoid misconfiguration by users.
* Fix all places where wrong half extents were used for pathfinding.
2022-06-21 12:57:32 +02:00
Petr Mikheev
3bf18c601c Better fog 2022-06-21 02:21:20 +02:00
glassmancody.info
d7425cc016 change update visitor to only traverse active children in scenegraph 2022-06-11 00:09:33 -07:00
Evil Eye
3c83117e99 Replace new with make_unique in openmw 2022-05-29 13:24:48 +02:00