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
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
1631b9587f
Removed all DrawPrimitive*() methods from CDevice
2022-02-04 01:06:37 +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
2ff722eee6
Refactored or removed some of the unused CDevice features
2022-01-24 22:29:39 +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
c280924c0e
Removed Gfx::VertexTex2
2022-01-19 21:33:53 +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
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
48d2b4a618
Refactored Math::IntPoint in core graphics classes
2021-12-23 22:35:28 +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
4157604458
Added shadow renderer and removed rendering modes
2021-10-17 16:05:20 +02:00
MrSimbax
80f074e2ba
Update license headers
2021-09-11 15:53:59 +02:00
Tomasz Kapuściński
30d688c1ec
Added and implemented terrain renderer
2021-09-05 16:32:19 +02:00
Tomasz Kapuściński
100be95113
Added CVertexBuffer and reimplemented vertex buffer management
2021-09-05 16:32:18 +02:00
Tomasz Kapuściński
f2eafd563e
Removed interface rendering mode
2021-09-05 16:32:16 +02:00
Tomasz Kapuściński
16200bbeac
Removed all dependency on interface rendering mode
2021-09-05 16:32:16 +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
Tomasz Kapuściński
4c14050b27
Fixed mipmaps being outdates after texture update.
2020-07-31 22:04:47 +02:00
MrSimbax
5112bf86df
Fix linter issues
2020-07-21 21:11:08 +02:00
Mateusz Przybył
fd2b72b296
Merge pull request #1263 from nextghost/dev
...
Fix OpenGL specular lighting
2020-07-21 20:55:21 +02:00
tomangelo
37e4ed8029
Updated license headers ( #1317 )
...
* Updated headers
* Updated more headers
2020-07-07 10:19:36 +02:00
Martin Doucha
69aba7c352
Fix OpenGL 3.3 specular lighting
2019-12-29 14:46:39 +01:00
AbigailBuccaneer
f8ebc6ec21
Remove code for drawing dynamic vertex formats
...
It's unused, and it's a bad idea - it's important for authoring tools
and for performance that vertex formats are well-defined instead of
dynamically created.
2018-05-09 21:03:08 +01:00
AbigailBuccaneer
94b30c00a0
Remove code duplication in CGLxxDevice
2018-05-09 21:03:08 +01:00
krzys-h
1c2bdc9cab
Update license headers
2018-04-20 02:08:50 +02:00
Tomasz Kapuściński
7bb3245092
Optimizations and changes in OpenGL 3.3 device.
...
* Limited number of lights to 4
* Only directional lights
* Per-pixel lighting
* Improved dynamic shadows a bit
* Optimized texture changes
2017-01-01 17:16:54 +01:00
krzys-h
88c6818cfd
Fix code style issues
2016-11-26 13:48:12 +01:00
Tomasz Kapuściński
993d9e9ed6
Added rendering with generic vertex formats
2016-11-04 14:13:16 +01:00
Tomasz Kapuściński
ebca89d920
Removed texture coordinate generation
...
This feature was only needed by GL14 device to implement shadow mapping and is not supported by shader-based devices. Shadow mapping has been rewritten, so this feature is no longer needed.
2016-05-11 13:47:08 +02:00
Didier Raboud
a06035ecb8
Fix occured/occurred spelling error
2016-03-30 13:40:26 +02:00
Tomasz Kapuściński
a84b5c28b7
Optimizations of primitive rendering in OpenGL 3.3 device
2016-03-22 15:16:08 +01:00
Tomasz Kapuściński
d3ef04428b
Added DeviceCapabilities
2016-03-22 14:27:00 +01:00
Piotr Dziwinski
926f7cf115
Possible fix for #738
...
Explicitly set byte alignment in pixel transfer operations
2016-03-22 23:31:08 +13:00
Piotr Dziwinski
4b770adf46
API for updating texture data
2016-03-19 12:00:50 +13:00
Tomasz Kapuściński
4c6f8239fa
Renamed and moved GL33 shader files to separate directory
2016-03-14 21:44:25 +01:00
Tomasz Kapuściński
e6a2fc9671
Rewritten shadow mapping implementation
2016-03-07 18:33:19 +01:00
Tomasz Kapuściński
9effa308ce
Small change in enabling/disabling shadow mapping
2016-03-06 20:25:50 +01:00
Tomasz Kapuściński
d3ccdebd9f
Added names to graphics devices
2016-03-06 19:32:37 +01:00