Commit Graph

240 Commits (048393f448ee8f065f8291da1eba5ccd634b9e80)

Author SHA1 Message Date
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 a54a59146d Corrected transparency mode 2022-01-19 17:14:27 +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 47ad390f1d Refactored Math::Vector in CCamera, CLightManager, CLightning, CMainMovie, glutil.h and geometry.h 2021-12-29 00:08:02 +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 98ad26da3d Changed glm::identity to explicit construction 2021-12-15 00:20:56 +01:00
Tomasz Kapuściński 36ac6d9956 Another fix 2021-12-15 00:09:47 +01:00
Tomasz Kapuściński 1eb17b2fa1 Added includes to fix compilation errors for older versions of glm 2021-12-14 23:56:24 +01:00
Tomasz Kapuściński d651b36eb2 Corrected includes 2021-12-14 23:09:20 +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 11bfcc6d53 Fix resetting bound textures 2021-12-14 21:50:26 +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 ce71f25901 Removed unused shader files 2021-10-25 21:42:19 +02: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
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 12e696bf1c Added color and moved uniform data to uniform buffer block 2021-09-05 16:32:17 +02:00
Tomasz Kapuściński 55513703b2 Removed unused static buffer types 2021-09-05 16:32:16 +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 704e3f2f0d Improved code for loading and linking shaders 2021-09-05 16:32:15 +02:00
Tomasz Kapuściński ec21faf15c Removed gl14 and gl21 devices 2021-09-05 16:25:38 +02:00
Tomasz Kapuściński 4c14050b27 Fixed mipmaps being outdates after texture update. 2020-07-31 22:04:47 +02:00
Tomasz Kapuściński 33b7c893cb Allow length of the light direction vector to influence strength of the light source.
This fixes the issue with objects and terrain being darker than they should be. As it turns out, most levels have not normalized light direction which happens to make light brighter and this is the expected result. To keep in line with GL14 engine, newer engines should use the length of the vector to make light brighter.
2020-07-31 22:01:33 +02:00
MrSimbax 5112bf86df Fix linter issues 2020-07-21 21:11:08 +02:00
Mateusz Przybył 2d32e3a798
Merge pull request #1255 from timgott/smooth_shadows_gl21
Smooth shadows in gl21
2020-07-21 20:55:47 +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
Martin Doucha 0d30624119 Fix OpenGL 2.1 specular lighting 2019-12-29 14:46:39 +01:00
Tim Göttlicher e9a153df14 Smoother shadows on OpenGL 2.1 2019-04-28 01:27:12 +02:00
tomangelo d90592f7b6
Merge pull request #1162 from AbigailBuccaneer/gl-cleanup
Clean up and improve CGLxxDevice code
2018-07-23 12:15:08 +02:00
AbigailBuccaneer e481905a25 Do less state setting in gl14 and gl21 2018-05-09 21:03:08 +01:00
AbigailBuccaneer c9a8a242a0 Remove CGL14Device's support for display lists
Closes #1153.
2018-05-09 21:03:08 +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