Tomasz Kapuściński
b66ea8bcee
Fixed a couple of warnings
2023-04-15 02:45:33 +02:00
Tomasz Kapuściński
4531dc432e
Merge branch 'dev' into dev-graphics-overhaul
2023-04-14 23:41:28 +02:00
Tomasz Kapuściński
cbfcbae7ab
Merge pull request #1560 from lolbot-iichan/dev-fix-multi-team-ant-legs
...
ENGINE: Fix operator < for COldModelManager::FileInfo
2023-04-08 19:46:20 +02:00
olokos
f60c62f05d
Graphics - Engine - Fix pause blur for new SDL
2023-02-06 17:53:56 +01:00
lolbot-iichan
0618174b2b
ENGINE: Fix operator < for COldModelManager::FileInfo
...
There was a rare case when Old Model Manager's model base object list was not working correctly.
Testcase:
CreateObject pos=10;0 dir=1.5 type=LeggedTrainer selectable=1 team=1
CreateObject pos=-10;0 dir=0.25 type=LeggedTrainer selectable=1 team=2
Expected result (after fix): models are displayed correctly
Actual result (before fix): some legs are missing, instead of them giant surfaces are floating high above the model
The reason was is failing to find the element that was just created and added with `m_models.find(FileInfo(fileName, mirrored, team))`
This happened for objects that had mirrored body parts (at least Ants, Wasps and all Legged units were affected) in case they were assigned to several teams.
Everyone were missing some legs since the `modelManager->AddModelReference("ant6.mod", true, rank, m_object->GetTeam())`
Wasps were also usually missing some wings.
2023-02-05 16:34:55 +03:00
Tomasz Kapuściński
e3ba33a508
Rewritten CModelMesh to use separate vertex attributes
2022-11-12 18:52:21 +01:00
Tomasz Kapuściński
3805851255
Made recolor a separate material attribute and added more color types
2022-07-09 12:23:50 +02:00
Tomasz Kapuściński
a88d9cdd39
Implemented shader-side recoloring in HSV and added more material tags
2022-06-18 22:18:25 +02:00
Tomasz Kapuściński
56e0c915b5
Cleanup in texture structures and enums, added wrap mode to TextureCreateParams and fixed wrap mode in foreground texture (lens flare effect)
2022-05-08 18:23:37 +02:00
Tomasz Kapuściński
a25ce2d5df
Rewritten particle rendering, now uses its own vertex type for optimization
2022-05-08 16:22:20 +02:00
Tomasz Kapuściński
cac34e259b
Cleanup to reduce includes of device.h header file
2022-05-02 20:59:44 +02:00
Tomasz Kapuściński
013d3cccf4
Changed team recolor to replace material albedo color instead of multiply by it for design convenience
2022-04-23 10:53:25 +02:00
Tomasz Kapuściński
640cde1653
Various improvements and fixes
...
* Added strength parameter for ambient occlusion
* Added proper support for material and emissive textures
* Added team-based recoloring, uses "team" tag
* Changed shadow ranges to make close-up shadows much better
* Fixed background coloring
* Added proper defaulting for glTF values
* Fixed parsing of emissive values
* Added normalization of normals in vertex shaders of object and terrain renderers
2022-04-07 01:11:23 +02:00
Tomasz Kapuściński
829c5fb42f
Added support for glTF 2.0 model format
2022-03-12 23:31:32 +01:00
Tomasz Kapuściński
aa3efd5841
Simplified model I/O, uses filename extensions to figure out format
2022-03-11 22:40:50 +01:00
Tomasz Kapuściński
4a16ee76a1
Partially refactored model and mesh structures
2022-03-11 19:49:03 +01:00
Tomasz Kapuściński
2d9db9c90a
Refactored lighting in terrain renderer and rewritten drawing terrain to include all PBR properties
2022-03-09 20:47:44 +01:00
Tomasz Kapuściński
1a7346b845
A couple of fixes for rendering states
2022-03-09 16:59:23 +01:00
Tomasz Kapuściński
fa5e229015
Fixed forward declaration of enums
2022-02-26 19:44:49 +01:00
Tomasz Kapuściński
8533be8d5c
Replaced MakeUnique and MakeUniqueArray with std::make_unique
2022-02-26 18:48:51 +01:00
Tomasz Kapuściński
89551c83cf
Merge branch 'dev' into dev-graphics-overhaul
...
# Conflicts:
# src/graphics/engine/text.cpp
# src/graphics/engine/text.h
# src/script/scriptfunc.cpp
2022-02-26 04:43:56 +01:00
Tomasz Kapuściński
3001927576
Removed engine.h from includes in header files, replaced by forward declarations and includes in source files
2022-02-26 03:53:39 +01:00
Tomasz Kapuściński
baa616050a
Some refactors to reduce extensive recompilation cascades
...
Renamed AlphaMode::OPAQUE to AlphaMode::NONE due to clash with preprocessor define
Moved Gfx::EngineTriangle to a separate file
2022-02-26 02:39:13 +01:00
Tomasz Kapuściński
e839f0dec7
Extended Material structure with PBR material attributes and added some of them to object renderer
...
Moved PBR lighting calculations to a separate shader source file
Removed some unused stuff
2022-02-26 01:16:36 +01:00
Tomasz Kapuściński
3168bf4350
Small cleanup
2022-02-25 21:07:01 +01:00
Mateusz Przybył
6aebf60300
Merge pull request #1487 from pestoffne/fix/editor-input-utf8
...
Fixed input of long UTF-8 symbols in editor (#1423 )
2022-02-25 17:09:27 +01:00
Evgeny Pestov
d9e26c2516
Use std::invalid_argument in Utf8CharSizeAt
2022-02-14 18:23:44 +07:00
Tomasz Kapuściński
c378009128
Feature-breaking refactors
...
* Partially filled Material structure, currently only base attributes
* Removed recoloring of textures and team variants
* Removed one base object tier in engine structures
* Removed EngineRenderState
* Rewritten some code to better coding style
2022-02-13 00:03:46 +01:00
tomangelo
951db17d53
Merge pull request #1488 from colobot/dev-refactor-fonts-cache
...
Refactor fonts reloading
2022-02-07 15:24:10 +01:00
Tomasz Kapuściński
0d612b9928
Optimized text rendering
2022-02-05 21:07:25 +01:00
Tomasz Kapuściński
aacc2d0596
Moved non-CRenderer-specific functionality back to CDevice and refactored some of the state change methods
...
Rewritten control rendering code to use improved way of sending geometry to GPU memory
2022-02-05 19:07:46 +01:00
Tomasz Kapuściński
074706e7ec
Removed Vertex and VertexCol structures
2022-02-04 01:22:27 +01:00
Tomasz Kapuściński
750a470b9a
Minor color refactors, added DrawPrimitives, rewritten remaining effect rendering
2022-02-04 01:00:18 +01:00
Tomasz Kapuściński
37bdc8665f
Removed remaining rendering code from CGL33Device and fixed some issues
2022-02-03 20:53:53 +01:00
Tomasz Kapuściński
1a190b7f6f
Partial refactor of UI rendering to improve performance and fix transparency issues
...
Disabled rendering via CDevice
2022-02-03 18:40:58 +01:00
Tomasz Kapuściński
0908e10ff6
Removed material, lighting, fog and shadowing code from CDevice
2022-02-02 19:09:38 +01:00
Tomasz Kapuściński
7d9badb542
Added UV transform and rewritten animated texture mapping code to use it
2022-02-02 18:13:21 +01:00
Tomasz Kapuściński
3bd4fee844
Merge branch 'dev' into dev-graphics-overhaul
...
# Conflicts:
# src/graphics/engine/camera.cpp
# src/object/auto/autonuclearplant.cpp
# src/object/auto/autopowerplant.cpp
# src/object/interface/powered_object.h
# src/object/motion/motionvehicle.cpp
# src/object/old_object.cpp
# src/object/old_object.h
# src/object/task/taskmanip.cpp
# src/object/task/taskmanip.h
# src/object/task/tasktake.cpp
2022-02-02 18:11:06 +01:00
tomangelo2
0003494c9e
Merge PR #1444
2022-01-29 17:16:57 +01:00
Tomasz Kapuściński
741d5c75ba
Refactored shadow framebuffer creation and binding
2022-01-24 23:16:22 +01:00
Tomasz Kapuściński
2ff722eee6
Refactored or removed some of the unused CDevice features
2022-01-24 22:29:39 +01:00
Tomasz Kapuściński
39b6621463
Renamed transparency to ghost mode
2022-01-24 21:57:56 +01:00
Tomasz Kapuściński
9a07c1d858
Refactored background, cloud and planet rendering, fixed shadow settings
2022-01-24 21:50:45 +01:00
Tomasz Kapuściński
cba70fc912
Added DrawPrimitive() to CObjectRenderer and used it for rendering water
2022-01-22 00:57:00 +01:00
Tomasz Kapuściński
048393f448
Added CParticleRenderer and reimplemented particle rendering code to use it
2022-01-20 21:38:58 +01:00
Tomasz Kapuściński
710f448477
Partially fixed rendering of models in front of the interface (e.g. profile screen)
2022-01-19 23:14:03 +01:00
Tomasz Kapuściński
c280924c0e
Removed Gfx::VertexTex2
2022-01-19 21:33:53 +01:00
Tomasz Kapuściński
5dacb82b22
Partial refactor of model I/O
...
* Mostly removed legacy Gfx::Material usage
* Bake legacy diffuse color to vertex color
* Removed code that writes to old model formats
2022-01-19 19:46:39 +01:00
Tomasz Kapuściński
a54a59146d
Corrected transparency mode
2022-01-19 17:14:27 +01:00
Tomasz Kapuściński
a1ea633a3e
Refactored EngineTextureMapping into enum class
2022-01-18 20:14:07 +01:00