Tomasz Kapuściński
1a7346b845
A couple of fixes for rendering states
2022-03-09 16:59:23 +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
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
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
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
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
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
Tomasz Kapuściński
68a222e03a
Refactored EngineShadowType to enum class
2022-01-18 19:42:19 +01:00
Tomasz Kapuściński
67bd982969
Refactored EngineTriangleType into enum class
2022-01-18 19:29:36 +01:00
Tomasz Kapuściński
754684bfe9
Refactored MatrixVectorMultiply(), added TransformDivide() for cases where perspective divide is needed
2022-01-05 19:22:57 +01:00
Tomasz Kapuściński
9c37f6cbd5
Fully refactored Math::Matrix, removed matrix.h and moved remaining functions to other files
2022-01-05 19:12:35 +01:00
Tomasz Kapuściński
208f142cd2
Made Math::Matrix an alias to glm::mat4, partial refactors
2022-01-05 00:35:41 +01:00
Tomasz Kapuściński
0bba168f94
Removed vector.h, refactored redundant functions and moved remaining ones to func.h
2022-01-04 20:43:36 +01:00
Tomasz Kapuściński
db3b1d74d1
Refactored unnecessary Normalize, DotProduct, CrossProduct and Clamp functions
2022-01-04 02:10:36 +01:00
Tomasz Kapuściński
d25d6124a9
Changed Math::Vector into alias to glm::vec3
2021-12-28 23:01:30 +01:00
Tomasz Kapuściński
431416d75e
Refactored Math::Point in CEngine
2021-12-24 20:25:38 +01:00
Tomasz Kapuściński
b36ec266f0
Refactored Math::Point from vertex types
2021-12-24 00:57:04 +01:00
Tomasz Kapuściński
c0d067d24b
Changed Math::Point into alias to glm::vec2, minor refactors
2021-12-24 00:11:12 +01:00
Tomasz Kapuściński
55c692e8bb
Refactored Math::IntPoint in CEngine and CParticle
2021-12-23 23:08:56 +01:00
Tomasz Kapuściński
0207669d61
Added optional triplanar mapping mode for the secondary texture
2021-12-14 21:54:19 +01:00
Tomasz Kapuściński
b158318e83
Possibly a fix for most transparency issues
2021-12-14 21:51:29 +01:00
Tomasz Kapuściński
2583f6fe36
Removed UIRenderer's DrawPrimitive() via CDevice
2021-12-12 21:17:39 +01:00
Tomasz Kapuściński
d1489a1fb1
Removed ShadeModel
2021-12-05 13:01:12 +01:00
Tomasz Kapuściński
0568fcdb81
Refactored FillMode to enum class
2021-12-05 12:53:31 +01:00
Tomasz Kapuściński
39c837d323
Refactored PrimitiveType to enum class
2021-12-05 12:26:34 +01:00
Tomasz Kapuściński
9139239f9f
Merge branch 'dev' into dev-graphics-overhaul
...
# Conflicts:
# src/app/app.cpp
# src/graphics/opengl/gl14device.cpp
# src/graphics/opengl/gl14device.h
# src/graphics/opengl/gl21device.cpp
# src/graphics/opengl/gl21device.h
2021-12-01 17:27:54 +01:00
Tomasz Kapuściński
57502d2f54
Added object renderer (WIP)
...
Rewritten shadow rendering logic
Split some shaders into smaller parts
Shadow renderer now has its own framebuffer object
2021-12-01 17:05:20 +01:00
Tomasz Kapuściński
fea6b87139
Added fog to terrain renderer and renamed variables
2021-10-17 16:27:29 +02:00
Tomasz Kapuściński
4157604458
Added shadow renderer and removed rendering modes
2021-10-17 16:05:20 +02:00
Tomasz Kapuściński
79d4cd9060
Updated TerrainRenderer
...
* Engine will now use it to render terrain
* Added directional light source
* Added dynamic shadows
* Moved visibility computation to CEngine
* Removed uniform buffers
2021-09-19 20:08:31 +02:00
MrSimbax
80f074e2ba
Update license headers
2021-09-11 15:53:59 +02:00
MrSimbax
a69b88e09a
Move time related functions out of CSystemUtils
...
GetCurrentTimeStamp() has not been moved because of
CApplication unit tests.
2021-09-11 13:26:38 +02:00
MrSimbax
5daaba6e64
Fixes after merge
...
Fix mistakes after previous merge and make it compile.
Rewrite the function interpolating between time stamps as it was
written after the original pull request was created. Add unit tests
for it.
I couldn't help myself and also changed some enums to enum classes and
did some renames.
2021-09-11 12:44:26 +02:00
MrSimbax
2b107736e2
Merge branch 'platform-independent' of https://github.com/AbigailBuccaneer/colobot into AbigailBuccaneer-platform-independent
2021-09-11 10:47:39 +02:00