Tomasz Kapuściński
a1e4e4b97c
Minor cleanup
2022-05-02 19:10:26 +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
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
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
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
750a470b9a
Minor color refactors, added DrawPrimitives, rewritten remaining effect rendering
2022-02-04 01:00:18 +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
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
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
0207669d61
Added optional triplanar mapping mode for the secondary texture
2021-12-14 21:54:19 +01:00
Tomasz Kapuściński
39c837d323
Refactored PrimitiveType to enum class
2021-12-05 12:26:34 +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
Tomasz Kapuściński
30d688c1ec
Added and implemented terrain renderer
2021-09-05 16:32:19 +02:00
Tomasz Kapuściński
12e696bf1c
Added color and moved uniform data to uniform buffer block
2021-09-05 16:32:17 +02:00
Tomasz Kapuściński
465fe59dfb
Added Renderers
...
Added UI Renderer
Added OpenGL 3.3 UI Renderer
Reimplemented most of UI drawing functionality to use UI Renderer
TODO: fix OpenGL errors
2021-09-05 16:32:15 +02:00