Commit Graph

208 Commits (spacecruft)

Author SHA1 Message Date
Hleb Valoshka 96e282e161 Add methods to reset current matrices 2022-01-26 01:10:46 +03:00
Hleb Valoshka 20a4d13328 Refactor code to draw objects as points
* provide common routine to calculate point size
 * precalculate saturation magnitude
 * remove unused variables
2022-01-26 01:10:46 +03:00
Andrew Tribick f15443bf63 Remove WIP HDR implementation 2021-12-29 14:48:36 +01:00
Andrew Tribick 86f2aab284 Remove glcontext.* 2021-12-29 14:48:36 +01:00
Andrew Tribick d7b896c013 Remove pre-C++17 Eigen alignment code 2021-12-28 21:14:29 +01:00
Andrew Tribick b79959979a Extract inner types from Material and Mesh
- Remove using namspace cmod
- Convert enums to enum classes
2021-12-04 09:49:52 +01:00
Hleb Valoshka bece12f6e4 Refactor Image class and image capture
* use GL_MESA_pack_invert to flip captured buffer
 * move enum PixelFormat to own file
 * use PixelFormat instead of GL formats in Image
 * provide captureImage() in CelestiaCore
 * use CelestiaCore methods to capture images in Qt UI
2021-06-16 14:15:32 +03:00
Levin Li b4858b1e72 Use shared_ptr around TextureFont 2021-05-24 08:37:01 +08:00
Levin Li e3297b7775 Namespacing Marker* and Rect 2021-05-23 11:03:07 +08:00
Hleb Valoshka 41c4ecf47c Fix RenderFlags' compatibility with 1.6.x 2021-03-03 20:18:32 +03:00
Levin Li b21a5fd404 Draw lines with lines when lineWidth < maxLineWidth 2021-01-03 17:21:55 +08:00
Levin Li 668fd219cc Render lines with triangles 2021-01-03 17:21:55 +08:00
Levin Li b465017de8 Support fisheye projection, dumb version 2020-11-20 23:52:23 +08:00
Levin Li 16f06574ab Use GL_RGBA to read pixels on GLES 2020-11-12 22:54:06 +08:00
Levin Li 1f150db611 separate modelview and projection 2020-10-06 13:39:09 +08:00
Hleb Valoshka 41f6b95c72 Add state tracking for depth 2020-07-08 15:09:18 +03:00
Hleb Valoshka e2bbd838a5 Add state tracking for blending 2020-07-08 15:09:18 +03:00
Hleb Valoshka 1c668d3d7f Fix warnings reported by clang/gcc 2020-06-20 10:11:09 +03:00
Hleb Valoshka c588f80824 OpenGL ES 2.0 initial support 2020-06-15 19:27:46 +03:00
Hleb Valoshka 4731334605 Small optimization 2020-06-01 10:36:42 +03:00
Hleb Valoshka 31f28f6771 Make model & projection matrices float and change their initialization 2020-04-24 09:54:19 +03:00
Hleb Valoshka b651d31928 Change location of some code parts 2020-04-24 09:54:19 +03:00
Hleb Valoshka 1cf5c868cf Remove dead code 2020-04-24 09:54:19 +03:00
Hleb Valoshka b4bab385a0 Use private method instead of passing camera orientation to private methods 2020-04-24 09:54:19 +03:00
Hleb Valoshka 728b384a70 Make smooth line control function private 2020-04-24 09:54:19 +03:00
Hleb Valoshka 83f1b90397 Move solar system sbjects rendering to own subroutine 2020-04-24 09:54:19 +03:00
Hleb Valoshka 6be2deb920 Rename renderLocations to locationsToAnnotations 2020-04-24 09:54:19 +03:00
Hleb Valoshka 0653b81762 Move depth partitioning to own subroutine 2020-04-24 09:54:19 +03:00
Hleb Valoshka dfd315ecc7 Move renderList culling to own subroutine 2020-04-24 09:54:19 +03:00
Hleb Valoshka b30e12cb87 Move magnitude correction inside atmosphere to own subroutine 2020-04-24 09:54:19 +03:00
Hleb Valoshka f8324ecd93 Move near systems lists building to own subroutine 2020-04-24 09:54:19 +03:00
Hleb Valoshka 47b123b183 Optimize annotations rendering using a precomputed projection matrix 2020-04-24 09:54:19 +03:00
Hleb Valoshka 9f371f457b Refactor annotations rendering 2020-04-24 09:54:19 +03:00
Hleb Valoshka f32e8af444 Refactor markers and selection cursor rendering 2020-04-24 09:54:19 +03:00
Hleb Valoshka 4b6062838b Cleanup renderFlags definitions 2020-04-24 09:54:19 +03:00
Hleb Valoshka 7e5965d437 Remove vsync support
# X11 only
# Basically useless with double buffering
2020-04-10 12:22:28 +03:00
Hleb Valoshka e5d54df6bb Initial implementation of self shadowing
Known bugs and limitations:
  * Only the 1st light source casts shadows.
  * Thin objects have incorrect shadows, see ISS.
2020-04-03 11:31:09 +03:00
Hleb Valoshka df508a0c59 Make global/static VO class instances again
Closes: #659
2020-03-16 19:31:25 +03:00
Hleb Valoshka f8831d4d2e Common OpenGL information code
Closes: #609
2020-02-18 15:13:06 +03:00
Hleb Valoshka 739f71cd1c Cleanup includes a little bit 2019-12-21 19:16:39 +03:00
Hleb Valoshka cb6162f4aa Move markerVO from Renderer to glmarker.cpp
As it's a common static buffer
2019-12-06 10:55:14 +03:00
Hleb Valoshka 3e133ba119 Refactor boundaries rendering to have common and rendering parts 2019-12-04 10:42:10 +03:00
Hleb Valoshka c21934aee3 Refactor asterisms rendering to have common and rendering parts 2019-12-04 10:42:10 +03:00
Hleb Valoshka 8778c07ccb Refactor render.cpp and extract some classes to own files 2019-12-03 12:13:34 +03:00
Hleb Valoshka 6b954fd7af Replace gluProject with own implementation 2019-11-21 11:50:13 +03:00
Hleb Valoshka 682aef8422 Initial implementation for TrueType fonts support 2019-11-20 12:16:15 +03:00
Hleb Valoshka fecd61fcb1 Render crosshair using glsl and common BO 2019-11-09 15:08:03 +03:00
Hleb Valoshka 3f757998f4 Draw ecliptic using glsl and common BO 2019-11-09 15:08:03 +03:00
Hleb Valoshka 0d5e867219 Add Renderer::getAspectRatio() method 2019-11-09 15:08:03 +03:00
Hleb Valoshka e3baaad767 Big common application code refactoring
* Allow to parse four element vectors
 * Allow colors defined in HTML notation (#rrggbbaa)
   in CEL scripts
 * Refactor Overlay::Rectangle to an independent class
 * Refactor CelestiaCore::OverlayImage to an independent class
 * Refactor CelestiaCore::View to an independent class
 * Rename Renderer::getScreenSize to getViewport
 * Add wrappers for scissors test and MSAA control
2019-10-09 15:55:14 +03:00