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
Piotr Dziwinski
3582f107a5
Fixes and refactoring
2012-12-27 14:18:16 +01:00
Piotr Dziwinski
5574eccebd
Engine optimization - rewritten model management
...
- new class CModelManager
- rewritten engine object structure in CEngine
- created shared model data instead of separate objects per each
model instance
- minor refactoring
2012-12-26 20:58:02 +01:00
Didier Raboud
7e9ef0c042
Put common CXX flags in common variables
...
CMAKE_CXX_FLAGS is taken into account in all builds; build-type-specific
flags are appended to it.
2012-12-19 16:55:00 +01:00
Didier Raboud
3c976c040b
Don't enforce CMake build type on users.
...
Only set CMAKE_BUILD_TYPE to Debug when no value is provided.
2012-12-19 16:52:17 +01:00
Piotr Dziwinski
4811defca2
Static objects using OpenGL VBOs and display lists
2012-12-14 21:30:35 +01:00
Piotr Dziwinski
688315ab76
ComputeSphereVisibility and fixes in CEngine TODOs
...
- view frustum culling with ComputeSphereVisibility - game should run
faster now
- resolved/removed most TODOs from CEngine
- fixed OpenGL tests
2012-10-20 23:06:56 +02:00
Zaba999
7575ffd49b
Merge branch 'dev' of https://github.com/colobot/colobot into dev
2012-10-11 23:10:07 +02:00
Zaba999
8a932fed3e
Added saving user scripts on game save. Fixed bug in writing script to file.
2012-10-11 23:09:29 +02:00
Piotr Dziwinski
858b1e35ae
Spot light angle fix
2012-10-03 00:29:59 +02:00
Piotr Dziwinski
8ea4736a46
Font coloring; fix for resize hack
...
- added font coloring and changed default color to black
- fixed resize hack incorrectly changing video config,
but font resizing will not work for now
2012-09-30 10:56:35 +02:00
adiblol
923616ccac
Dirty hack to allow window resizing or even full screen.
...
Currently makes text buggy!
(full screen must be initiated by window manager, for example Alt+F11 in Fluxbox)
2012-09-30 03:18:11 +02:00
Piotr Dziwinski
4193f8a3a9
Fix for transparent objects and fadeouts
2012-09-29 22:44:05 +02:00
Piotr Dziwinski
5a751d9c0d
Fixed texture regression
...
There was a bug in texture modesetting but only visible after certain
mode changes.
2012-09-29 19:35:14 +02:00
Piotr Dziwinski
677ce3960c
Some fixes and optimizations
...
- fixed 2nd texture setting
- added padding to some structs for faster access
- changed rendering primitives to glDrawArrays()
- optimized texture modesetting calls
- fixed some valgrind errors
2012-09-29 10:40:11 +02:00
Piotr Dziwinski
6d0ed0d26a
Completely fixed light issues
...
Directional and spot lights are now set properly
2012-09-27 23:18:12 +02:00
Piotr Dziwinski
a394c9efec
Updated docs and some Doxygen fixes
2012-09-27 20:43:20 +02:00
Piotr Dziwinski
80d3a9bff1
Lighting fix (experimental)
...
- changed fixed light allocation to prioritized per-use basis
- minor refactoring in CPlanet and CWater
2012-09-26 23:18:57 +02:00
Piotr Dziwinski
45fd8aad33
Fog color fix; refactoring
...
- fixed fog color setting
- removed unused glSecondaryColor and altered struct VertexCol
- minor refactoring in CText
2012-09-26 16:31:04 +02:00
Piotr Dziwinski
f5bc8e12d4
Alpha operation fix
2012-09-21 00:14:26 +02:00
Piotr Dziwinski
7b6bbf79c4
Namespace and styling fix
2012-09-19 23:50:28 +02:00
Piotr Dziwinski
51884cef8e
Input bindings rewrite
...
- moved input bindings to CRobotMain
- added virtual keymod and joystick button key presses
- fixed putenv error; other minor fixes
2012-09-19 18:32:18 +02:00
Piotr Dziwinski
4b67386a69
Change of background image handling
...
- removed old 4 quarter backgrounds
- fixes in texture loading
- other minor fixes
2012-09-17 23:41:53 +02:00
Piotr Dziwinski
050f9d2542
Fix max lights error
2012-09-16 20:39:32 +02:00
Piotr Dziwinski
c6673b9aee
Texture format detection; minor fixes
...
- detection of texture format
- fixed depth mask bug
- minor refactoring
2012-09-09 12:56:09 +02:00
Piotr Dziwinski
5b45911856
Improved error messages
...
Added some logging and improved error messages displayed to user
2012-08-13 23:09:30 +02:00
Piotr Dziwinski
b68dfcd155
Test fix
2012-08-13 18:03:12 +02:00
Piotr Dziwinski
45a5e1e865
Object handling in CEngine
...
- finished rewriting CEngine object, shadow, etc. handling
- refactored texture code
- added new log levels
2012-08-12 19:28:22 +02:00
Piotr Dziwinski
b4b74c30e9
Fixes & testing in CEngine
...
- fixed bugs in settings modes, etc.
- some additions and minor refactoring
2012-08-12 10:45:04 +02:00
Piotr Dziwinski
1996507fd3
Documentation update
...
- updated Doxyfile
- added/changed file, dir and namespace descriptions
- fixed some errors in doxygen tags
2012-08-11 18:39:16 +02:00
Piotr Dziwinski
7f80ca2971
Render mode setting, refactoring
...
- finished SetState in CEngine
- refactored Size and IntSize back to Point and IntPoint
- other minor changes in CEngine
2012-08-11 17:17:04 +02:00
Piotr Dziwinski
61bfb22f27
Basic font rendering
...
- added basic font rendering
- minor refactoring & fixes
2012-08-03 23:23:13 +02:00
Piotr Dziwinski
5e637ca028
Switched to new style casts
...
- rewrote old C-style casts to new ..._cast<>
- corrected some dangerous casts
- added -Wold-style-cast to compile flags
2012-07-30 22:59:18 +02:00
Piotr Dziwinski
d8a0c8d32e
Lines and line strip primitives
...
Will probably be useful
2012-07-30 22:32:28 +02:00
Piotr Dziwinski
7c5a3514dd
Video mode changing
...
- added video mode querying & changing
- added joystick querying & changing
- cleaned up CApplication interface
2012-07-29 15:09:53 +02:00
Piotr Dziwinski
72c0188ec3
GLEW
...
Added GLEW for loading OpenGL extensions
2012-07-28 23:36:12 +02:00
Piotr Dziwinski
4ddcd9f810
Change of paths in src/graphics
...
- moved abstract core to src/graphics/core
- moved proper graphics engine to src/graphics/engine
2012-07-26 22:26:19 +02:00
Piotr Dziwinski
045f17a274
Dynamic light manager
...
- rewrote old CLight as CLightManager
2012-07-26 21:35:04 +02:00
Piotr Dziwinski
d1fe0d2dcc
Lighting
...
- fixed problems with lighting
- added light_test
2012-07-26 19:05:09 +02:00
Piotr Dziwinski
bc1c9b5284
Fixed bug in texturing
2012-07-25 20:27:13 +02:00
Piotr Dziwinski
42963b341f
Refactoring of texture code
...
- refactored texture structs & functions
- added note about OpenGL extensions
- removed device.cpp as unnecessary
- minor changes in CEngine
2012-07-25 00:27:01 +02:00
Piotr Dziwinski
9d59204531
Cursor drawing
...
- fixed cursor drawing in CEngine
- changed event loop to generate more events
2012-07-23 21:41:27 +02:00
Piotr Dziwinski
8797569d33
Texture & mouse functions; refactoring & fixes
...
- cleaned up and added documentation to engine.h
- refactored CEngine interface and associated structs
- added mouse handling functions in CApplication & CEngine
- fixed bugs in projection matrix setting
- changed texture loading & handling
- added const-values in CDevice & CGLDevice
- changed event management in CApplication
- other minor changes & bugfixes
2012-07-22 22:05:12 +02:00
Piotr Dziwinski
86ea086790
ComputeSphereVisibility function
...
- borrowed implementation of ComputeSphereVisibility from libwine
- added -lrt to Linux libs
2012-07-18 21:47:47 +02:00
Piotr Dziwinski
f364f378cf
Fixed OpenGL transformations
...
- fixed wrong order of transformations
- added transform_test
2012-07-18 19:08:34 +02:00
Piotr Dziwinski
68a7bafe37
Fixes in texture loading
...
- added other texture formats: BGR and BGRA
- fixed texture loading in model viewer
- moved code from texture.cpp module to texture.h
2012-07-16 19:17:26 +02:00
Piotr Dziwinski
54f4da8792
Fix in model loading; simple model viewer
...
- fixed model loading code
- added simple model viewer (model_test) in src/graphics/opengl/test
- added system time stamp code
- split the code in app/system modules to separate headers
- added debug messages in model loading
- minor fixes in OpenGL engine
2012-07-15 19:17:49 +02:00
Piotr Dziwinski
3204360515
Refactoring in math & texture modules
...
- moved texture-related structs to texture.h & code to texture.cpp
- cleaned up texture test code
- added Math:: namespace qualifiers to math modules for clarity
2012-07-06 19:00:22 +02:00
Piotr Dziwinski
e8c9945e13
Fixed bug with texturing
...
- moved creation-time tex params to Gfx::TextureCreateParams
- fixed bug with texture creation
- added simple test for multitexturing
2012-07-05 23:47:29 +02:00
Piotr Dziwinski
f95df35dc5
Multitexturing support
...
- added CImage class for loading/saving images and a simple test for it
- added libpng library to build
- added Gfx::Texture struct
- updated the Gfx::CDevice interface to include new features
- implemented the new features in Gfx::CGLDevice
2012-07-04 00:04:53 +02:00
Piotr Dziwinski
d9c5a439d0
CGLDevice implementation
...
- extended Gfx::CDevice interface
- written OpenGL implementation in Gfx::CGLDevice
- rewrote color and light module
- added Gfx::VertexCol
- added array casts to Math::Vector, Math::Matrix and Gfx::Color
2012-07-01 22:59:22 +02:00
Piotr Dziwinski
9bd4ec03b2
CDevice interface and stub of implementation
...
- added CDevice abstract interface
- began implementation of CGLDevice
- added stub for Texture struct
- created CGLDeviceConfig
- changed particule -> particle & other minor changes
2012-07-01 01:37:30 +02:00
Piotr Dziwinski
3478978c21
CApplication and Gfx::CEngine interfaces & other
...
- added CApplication and Gfx::CEngine interfaces
- added Gfx::Material struct
- added Math::IntPoint struct
- added template for Gfx::CDevice class
- added templates for Gfx::CGLDevice and Gfx::CGLEngine classes
2012-06-24 15:41:56 +02:00
Piotr Dziwinski
8bb223e679
Templates for new implementation
...
- added template of classes/structs for new implementation
- changed #include paths
- updated README files
2012-06-22 16:31:55 +02:00