Commit Graph

256 Commits (baa616050a8ec05e17ecbd295e0215ab9f32071c)

Author SHA1 Message Date
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