Commit Graph

203 Commits (171bba1bcd87ef4630b3daa1bcee46cc8705c255)

Author SHA1 Message Date
Tomasz Kapuściński 517d6f069a Reimplemented drawing primitives in OpenGL 3.3 engine 2016-02-15 20:31:32 +01:00
Tomasz Kapuściński 79c21f6676 Moved LightLocations to outside of UniformLocations 2016-02-15 20:05:25 +01:00
krzys-h 977607a934 Updated license headers 2016-02-13 14:11:30 +01:00
krzys-h 55412842df Fixed some code style warnings 2016-02-13 13:46:56 +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 bf8916b9eb Changes in detection of graphics hardware capabilities 2016-02-12 16:14:29 +01:00
Tomasz Kapuściński b6faadca03 Rewritten OpenGL 2.1 engine's two-sided lighting 2016-02-11 15:04:07 +01:00
Tomasz Kapuściński 32b480b226 Rewritten lighting in OpenGL 2.1 engine 2016-02-10 23:38:49 +01:00
Tomasz Kapuściński 898001e065 Changed CGL33Device requirement to OpenGL 3.2 2016-02-10 22:50:40 +01:00
Tomasz Kapuściński 447b466d6e Optimizations in graphics engines 2016-02-10 21:40:41 +01:00
Tomasz Kapuściński 12067c1b9f Optimized light updating in CGLDevice 2016-01-30 18:51:13 +01:00
Tomasz Kapuściński 9db943b820 Optimized matrix operations in CGLDevice 2016-01-30 17:41:11 +01:00
Tomasz Kapuściński 05e19f47c3 Corrected MSAA support detection 2016-01-29 12:02:36 +01:00
Tomasz Kapuściński 00221c9a3f Optimized DrawPrimitives() in CGL33Device 2015-12-24 00:21:57 +01:00
Tomasz Kapuściński d944a55905 Optimized DrawPrimitives() in CGL21Device 2015-12-24 00:06:58 +01:00
Tomasz Kapuściński f2a295348c Optimized DrawPrimitives() in CGLDevice 2015-12-23 23:49:00 +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 22e963e2c4 Added information about graphics card to error message 2015-12-20 17:34:55 +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
krzys-h a0034f8000 Finalized SDL2 migration 2015-09-25 21:26:49 +02:00
krzys-h dfa06dafcf Refactored window resize 2015-09-25 11:11:35 +02:00
krzys-h 53e4470dbf Started SDL2 migration 2015-09-24 21:09:46 +02:00
Tomasz Kapuściński 658e2ff1be Possible fix for issue #520 2015-09-02 21:35:43 +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 2289d69735 Replace NULL -> nullptr 2015-08-16 12:43:42 +02:00
Piotr Dziwinski d703eb7165 Compile fixes for MSVC2013 2015-08-16 00:39:08 +02:00
Piotr Dziwinski 0258b63d39 Fix memory leak in creating textures 2015-08-13 23:42:27 +02:00
Piotr Dziwinski 93a06c0c23 Remove manual memory management from graphics classes 2015-08-12 21:07:16 +02:00
Piotr Dziwinski f29a826ad2 Fix Clang warnings about use of abs() 2015-08-06 14:31:40 +02:00
Piotr Dziwinski 111d279de5 Add proper initializations in OpenGL classes 2015-08-06 08:22:11 +02:00
Piotr Dziwinski c38ecd67ea Fix crash in glDeleteTexture 2015-08-05 23:06:54 +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
Piotr Dziwinski 3b585d9f51 Some style and whitespace fixes 2015-08-02 11:36:36 +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
krzys-h e2ebcb769e Added MSAA to settings screen 2015-07-20 16:29:09 +02:00
krzys-h 90756f8b34 Added FilterMode, MipmapLevel and Anisotropy to settings screen 2015-07-20 13:56:45 +02:00
krzys-h 02c24fbf27 CProfile -> CConfigFile 2015-07-19 16:05:09 +02:00
Tomasz Kapuściński 1d69021e94 Potential fix to #511 2015-07-18 02:02:38 +02:00
Piotr Dziwinski a872ea128b Add MakeUnique template to avoid use of naked new 2015-07-17 20:06:59 +02:00
Tomasz Kapuściński 195667ab2c Potential fix for rendering problems in OpenGL 2.1 engine under Linux 2015-06-26 19:55:46 +02:00
Piotr Dziwinski 88ec9aaae3 Drop GCC 4.6 support 2015-06-26 00:24:32 +02:00
Piotr Dziwinski 7e21d3bd79 Get rid of some more manual memory management 2015-06-26 00:24:05 +02:00
Tomasz Kapuściński f2318803e5 Added Multisample anti-aliasing (MSAA) 2015-06-22 00:56:47 +02:00
Piotr Dziwinski 5f1d3c21d4 Fix some more warnings reported by Clang 2015-06-21 19:46:01 +02:00
Tomasz Kapuściński 7d57ec634e Refactored framebuffer implementations 2015-06-21 18:48:31 +02:00
Tomasz Kapuściński ff44637d49 Removed VBO override switch and some unnecessary code 2015-06-16 18:00:42 +02:00
Tomasz Kapuściński 26ec927b37 Corrected compilation errors and warning 2015-06-15 20:27:44 +02:00
Tomasz Kapuściński 012eb10e19 Added automatic graphics detection (-graphics auto) 2015-06-15 20:20:03 +02:00
Tomasz Kapuściński ae29ebead3 Defaulted shadow color to 0.5 in OpenGL 2.1 engine 2015-06-05 19:48:28 +02:00
Tomasz Kapuściński 66d865942c Added OpenGL 2.1 shaders for per-pixel lighting 2015-06-02 16:55:03 +02:00
Tomasz Kapuściński d477caed3e Second attempt at correcting compilation error 2015-06-01 18:41:14 +02:00
Tomasz Kapuściński 7acca9feb8 Corrected compilation error and unsigned comparison warnings 2015-06-01 17:45:51 +02:00
Tomasz Kapuściński a0c56f54cb Shader and buffer optimizations 2015-06-01 17:21:10 +02:00
Tomasz Kapuściński d33ddae15a Added warnings and information what shader files are not available 2015-05-29 12:39:14 +02:00
Tomasz Kapuściński e1a0f5b1c7 Added OpenGL 2.1 engine 2015-05-27 22:12:02 +02:00
Tomasz Kapuściński 08bf066f78 Added shadow color setting 2015-05-27 21:58:32 +02:00
Tomasz Kapuściński fa67e815b8 Implemented per-vertex lighting and set it as default in OpenGL 3.3 engine 2015-05-22 18:53:51 +02:00
Tomasz Kapuściński f67c01e5e7 Added proper render to texture support 2015-05-21 18:03:17 +02:00
Tomasz Kapuściński a045bf3830 Added shadow ambient support 2015-05-21 16:47:24 +02:00
Piotr Dziwinski b1e8341475 Move OpenGL 3.3 shaders to main repository 2015-05-20 23:30:46 +02:00
Piotr Dziwinski 619ac3cf8d Fixed glew linking problem on MXE 2015-05-19 23:03:32 +02:00
Tomasz Kapuściński df8223700b Corrected compilation error 2015-05-19 16:26:41 +02:00
Tomasz Kapuściński 933609967a Added OpenGL 3.3 graphics implementation 2015-05-19 14:29:31 +02:00
Tomasz Kapuściński d210dcf70e Implemented graceful degradation of shadow quality when not enough texture units are available 2015-05-15 10:12:35 +02:00
Tomasz Kapuściński 03244ecdfd Corrected assertion error when changing offscreen rendering 2015-05-12 20:20:57 +02:00
Tomasz Kapuściński 2665847c41 Added support for offscreen rendering and high resolution shadow maps 2015-05-12 13:09:31 +02:00
Tomasz Kapuściński b033e35385 Transparent textures no longer cast shadows in transparent parts 2015-05-11 18:00:02 +02:00
Tomasz Kapuściński 0b2f00530b Added experimental support for dynamic shadows (shadow mapping) 2015-05-11 15:21:17 +02:00
Tomasz Kapuściński 3164e7256e Changed terrain UV mapping (fixes #306 for OpenGL engine, will cause similar problem on Direct3D) 2015-05-07 12:58:05 +02:00
Tomasz Kapuściński d3b052f19b Implemented trilinear filtering, mipmap level setting and anisotropic filtering 2015-05-06 17:55:10 +02:00
Piotr Dziwinski 3dce58c0fa Replace override and noexcept with macros 2015-04-27 18:07:42 +02:00
Tomasz Kapuściński 990ecf7290 Corrected clamping mode in textures 2014-10-26 22:24:12 +01:00
krzys-h c9eb3ce5c5 Another possible (and more likely correct) fix for #339 2014-10-25 18:17:03 +02:00
Tomasz Kapuściński 1aebe8af03 Added support for VBO in OpenGL older than 1.5 if ARB extension is present 2014-10-24 00:29:26 +02:00
Tomasz Kapuściński d3a722a0c5 Improved VBO support detection 2014-10-22 00:53:35 +02:00
krzys-h 9fd6cf5449 Changed all occurences of PPC in the code to TerranovaTeam 2014-10-14 15:26:18 +02:00
Piotr Dziwinski 4bdfa0aa4e Remove unused accessors from CDevice 2014-08-12 18:18:30 +02:00
Mohamed Waheed b7125a5b24 formatting and enhancements for savefile screenshot feature 2014-06-24 20:27:31 +03:00
Mohamed Waheed 613e1d74c4 implemented savefile screenshot feature 2014-06-24 01:35:05 +03:00
Piotr Dziwinski cd97feabb0 Revert back "Merge pull request #243 from OdyX/dev-fix-textures-loading"
False alarm, was caused probably by faulty build bot.
This definately should work on all platforms.
2013-10-29 22:04:12 +01:00
Piotr Dziwinski 70af33e45d Revert "Merge pull request #243 from OdyX/dev-fix-textures-loading"
Looks like it doesn't work on all platforms
2013-10-28 19:36:43 +01:00
Didier 'OdyX' Raboud 9e439d88bf Fix the detection of alpha-channel in textures as created by IMG_Load
This fixes the textures loading under Mac OS X
2013-10-28 15:23:56 +01:00
Piotr Dziwinski 28b4e9a634 Fixed terrain light priorities (fix for #139)
* lights illuminating the terrain specified in scene file are now
   always moved to front of light ordering
2013-06-20 23:14:37 +02:00
Piotr Dziwinski 366d3a551e Added debug aids for lighting
* displaying positions of current lights (F11)
 * dumping info to console (F10)
 * added assert() in suspicious place in CPyro
2013-06-17 18:17:21 +02:00
Piotr Dziwinski 8765d58b02 Fixed code formatting
* moved braces to new lines
 * fixed some function/variable names
 * fixed whitespace issues
2013-05-27 10:19:16 +02:00
Piotr Dziwinski b41957f2f9 Corrected some valgrind issues
* fixed several uninitialized variable issues
 * fixed possible memory corruption in CEngine
2013-05-26 11:34:53 +02:00
Piotr Dziwinski cec406ea31 Non-power-of-2 padding for background images
* added padding options
 * removed old hardcoded image sizes
2013-05-11 23:12:13 +02:00
Piotr Dziwinski f7f6e10c70 Added check and warning about non-power-of-2 textures 2013-05-11 21:40:09 +02:00
Piotr Dziwinski 4a30800cf1 Fixes for compiling on MSYS
* fixed SDL_main() and putenv() issues
 * disabled desktop subdir for MSYS
 * disabled building CBot_console for now
2013-03-22 19:17:08 +01:00
Piotr Dziwinski bc859c4c59 VBO override option; argv parsing using getopt
* added -vbo option to override autodetection of OpenGL VBO extension
 * refactored argument parsing to use getopt()
 * fixed failing UTs
2013-03-10 15:44:21 +01:00
Piotr Dziwinski 209c6412ae Refactoring in tests infrastructure
* all tests are now in /test/ subdirectory
 * unit tests concatenated to one executable (TODO: ui, common)
 * preparation for test environments (OpenGL and others)
 * removed old TestCBot
2013-02-03 20:03:36 +01:00
Piotr Dziwinski 5a6b3f005a Merge dev and dev-graphics 2013-01-07 19:43:04 +01:00
Piotr Dziwinski edb1c0cbd6 GLEW fix for some graphics drivers 2013-01-06 23:13:05 +01:00
Marcin Zawadzki ff5c890854 Small fix in detecting language. Fixes needed to compile code using clang 2013-01-05 23:03:26 +01:00
Piotr Dziwinski 8818a8e5db Corrected OpenGL extension detection
- corrected multitexture and VBO detection
- GLEW is now a required library
- minor CMakeLists refactoring
2013-01-05 23:03:06 +01:00
Piotr Dziwinski 89a3f586a2 Merge branch 'dev' into dev-graphics 2013-01-04 00:05:28 +01:00
Piotr Dziwinski 2c0c5ddda1 Fixed stupid debug code
Terrain VBOs should work now
2013-01-03 23:50:17 +01:00