Commit Graph

105 Commits (48d2b4a6185bc630b4c96330504880704e82f8a3)

Author SHA1 Message Date
Tomasz Kapuściński 48d2b4a618 Refactored Math::IntPoint in core graphics classes 2021-12-23 22:35:28 +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 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
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 5c037837f5 Added Vertex3D 2021-09-05 16:32:17 +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 fe02cf3e4b Added Vertex2D 2021-09-05 16:32:14 +02:00
tomangelo 37e4ed8029
Updated license headers (#1317)
* Updated headers

* Updated more headers
2020-07-07 10:19:36 +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 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
AbigailBuccaneer c027b54add Don't create a color renderbuffer for shadow map
When rendering the shadow map offscreen using framebuffer objects, it's
not necessary to create a color renderbuffer. Currently
FramebufferParams only lets you choose between a renderbuffer and a
texture for both color and depth attachments. This changes that, and now
you can ask for a texture, a renderbuffer, or nothing.

This improves performance. On my computer, with an 8192x8192 shadow map,
this improves overall frame time by 8.0%.
2018-05-09 17:25:52 +01:00
krzys-h 1c2bdc9cab Update license headers 2018-04-20 02:08:50 +02: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 ae3b2b8572 Added types and vertex format specification 2016-11-04 11:59:57 +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
krzys-h adf20f58d4 Removed unused members of CNullDevice 2016-03-26 19:50:53 +01:00
Tomasz Kapuściński d3ef04428b Added DeviceCapabilities 2016-03-22 14:27:00 +01:00
Piotr Dziwinski 4b770adf46 API for updating texture data 2016-03-19 12:00:50 +13: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
Tomasz Kapuściński 78e877d9a8 Changes in framebuffer creation, framebuffer error detection and small other graphical things 2016-02-29 16:42:01 +01:00
krzys-h 977607a934 Updated license headers 2016-02-13 14:11:30 +01:00
Tomasz Kapuściński 6b7e6cbc75 Added rendering modes and implemented additional OpenGL 2.1 shaders 2016-02-13 03:54:49 +01:00
Tomasz Kapuściński d82b5ef746 Added DrawPrimitives() for drawing multiple primitives (not optimized for now) 2015-12-23 23:23:10 +01:00
Tomasz Kapuściński aa2e14219e Added warnings and error messages to graphics devices regarding unsupported OpenGL version 2015-12-18 21:04:16 +01:00
Piotr Dziwinski 66ce745be0 Introduce forward declarations as suggested by colobot-lint 2015-09-27 16:28:14 +02:00
Piotr Dziwinski b93f610930 Fix license header in all files 2015-08-22 16:40:02 +02:00
Piotr Dziwinski ba3284b8b8 Apply clang-modernize -add-override 2015-08-17 22:12:09 +02:00
Piotr Dziwinski 93a06c0c23 Remove manual memory management from graphics classes 2015-08-12 21:07:16 +02:00
Piotr Dziwinski 91658c7df0 Add proper initializations in basic graphics structures 2015-08-06 08:22:11 +02:00
Piotr Dziwinski 11b0398c03 Include refactoring
* reordered includes according to correct style
 * removed some unnecessary includes
2015-08-02 17:49:07 +02:00
Piotr Dziwinski 7d8b56d9ab More style fixes 2015-08-02 12:06:14 +02:00
krzys-h 72b9738eb9 Fixed possible problems when trying to use shadow maps in unsupported configuraions (#522) 2015-07-20 22:34:39 +02:00