Levin Li
668fd219cc
Render lines with triangles
2021-01-03 17:21:55 +08:00
Levin Li
e2b9598f17
Always use gl_PointSize in shader to set point size
2020-12-04 19:46:32 +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
4619ba1a1a
Check angle between normal and a light when applying shadow
...
to avoid shadow projection on back side (if looking from the light)
2020-06-15 19:27:46 +03:00
Hleb Valoshka
c588f80824
OpenGL ES 2.0 initial support
2020-06-15 19:27:46 +03:00
Hleb Valoshka
1fb1f2de91
Replace fixed function GL code with GL ES compatible one
2020-05-12 15:59:56 +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
bd7f9ebc9b
Use libepoxy instead of GLEW
...
Unlike GLEW libepoxy supports OpenGL ES and better handles cases with
functions provided by different extensions, e.g. the same functions
provided by vendor/EXT/ARB/core.
2020-03-26 11:24:56 +03:00
Hleb Valoshka
91c09087f6
Use GL3/GLES compatible particle rendering
...
Closes : #549
2020-03-11 01:20:17 +03:00
Hleb Valoshka
32eaa68d0a
Remove fixed pipeline calls
2019-12-05 11:37:33 +03:00
Hleb Valoshka
f8d3815a70
Move duplicated setVertexArrays to RenderContext
2019-08-16 09:49:01 +03:00
Hleb Valoshka
a93befe941
Remove uneeded #include "vecgl.h"
2019-07-09 23:38:41 +03:00
Hleb Valoshka
dbd7090117
Make ShaderManager private property of Renderer
2018-12-11 20:32:13 +03:00
Hleb Valoshka
eab70c96cb
Fix more coverity issues
...
Mostly uninitialized variables plus one memory leak
2018-10-30 23:52:19 +03:00
Hleb Valoshka
85f6dad804
Remove code used in old rendering paths
2018-10-30 23:52:19 +03:00
Hleb Valoshka
717bf3413d
Rewrite star rendering using GLSL
...
Shader manager needs more attention though.
2018-10-23 00:03:39 +03:00
Hleb Valoshka
73a869c137
Use core OpenGL2 functions instead of their ARB versions
2018-10-07 20:45:01 +03:00
Hleb Valoshka
b082d5f47f
Automatically convert to c++11 using clan-tidy
...
+ manual cleanups
2018-09-22 23:42:02 +03:00
Hleb Valoshka
5a5b06481f
Fix the most serious fixes found by coverity
...
… resource leaks, null pointers dereference
2018-09-22 23:41:58 +03:00
Hleb Valoshka
882e4ecf28
fix whitespaces and indents
...
trailing spaces are removed
tabs are replaced with 4 spaces
# Conflicts:
# src/celengine/cmdparser.cpp
# src/celengine/command.cpp
# src/celestia/celestiacore.cpp
# src/celestia/celestiacore.h
# src/celestia/qt/qtappwin.cpp
# src/celestia/qt/qtglwidget.cpp
# src/celestia/win32/winmain.cpp
2018-09-22 23:41:57 +03:00
Dmitry Brant
a25d26720c
Adapt code to Eigen 3.3
...
No functional changes, just adapting to API changes in Eigen.
2018-09-22 17:08:07 +03:00
Chris Laurel
52b1dccdff
Fixed eclipse shadows on non-spherical planets (especially noticeable on
...
Saturn.) Fix affects the GLSL/OpenGL 2.0 render path only.
2010-04-23 22:14:44 +00:00
Chris Laurel
31a31d4e2f
- Moved cmod code into a separate module celmodel.
...
- Updated cmodtools to use celmodel.
- Improved 3ds file loader to support multiple materials per mesh.
2010-02-05 20:05:18 +00:00
Chris Laurel
0bc83a501a
Added missing #includes of NewStdVector to rendcontext.cpp and shadermanager.cpp.
2009-10-27 22:29:41 +00:00
Chris Laurel
dcf9232c08
Refactored some shadowing/eclipse code in the renderer
...
- Enabled ring shadows on moons and other objects that aren't themselves surrounded by
ring systems.
- Use texture LOD bias to add blurriness to ring shadows (a result of the finite
size of the light source.)
- Calculate ring phase function per-pixel instead of per-vertex
- Implemented more realistic rendering of unlit side of ring systems
- Used new Eigen's NewStdVector for vectors containing fixed-sized vectorizable
objects.
2009-10-27 22:02:01 +00:00
Chris Laurel
f5d97be5c9
More GLEW-related cleanup.
...
- Added missing GLEW_STATIC define to VC++ project file
- Fixed Qt4 build to use GLEW
- Stripped out more references to old glext functions
- Fixed miscellaneous compiler warnings.
2009-08-15 00:48:42 +00:00
Chris Laurel
9d373fd041
Switched from using custom GL extension handling code to GLEW library.
2009-08-14 22:39:54 +00:00
Chris Laurel
afd7c78574
More Eigenization changes.
2009-08-06 00:41:24 +00:00
Chris Laurel
157b720854
Removed more code that used the old vector classes.
2009-08-05 21:13:29 +00:00
Chris Laurel
c26ea667f2
Eigenized old sphere mesh code (used only for handling .cms mesh files now.)
2009-07-23 23:19:26 +00:00
Chris Laurel
7272945657
First round of Eigen-izing the core Celestia code.
2009-07-15 03:06:30 +00:00
Chris Laurel
14e32a5a61
Fixed broken point sprites problem caused by the fix for mesh files without texture coordinates.
2009-03-18 18:44:38 +00:00
Chris Laurel
7911c6ddbe
- Implemented consistent behavior for models with no texture coordinates. Fixes 'flickering' of colors on no-texcoord models used in stc files (and in ssc files with a texture override.)
2009-03-09 19:01:53 +00:00
Andrew Tribick
149959f8b2
Fixed some compiler warnings when building under gcc 4.3.
2009-01-26 20:49:35 +00:00
Chris Laurel
600a2a2ab0
Improve support for per-vertex colors (unlit models only right now.)
2008-08-07 00:42:18 +00:00
Chris Laurel
586b291af3
Added support for premultiplied alpha blend mode.
2008-08-04 20:10:06 +00:00
Chris Laurel
99ee3a4102
Renderer changes:
...
- Added camera orientation property to RenderContext, to be used with software
path for point sprites.
- Enabled location label color overrides
2008-07-25 23:31:00 +00:00
Da Woon Jung
e59f4b4b54
HDR bloom, adaptive exposure, calibrated nightlights - disabled by default, enable with USE_HDR and HDR_COMPRESS. 4 new vertex programs added.
2008-03-25 00:23:16 +00:00
Chris Laurel
f48a5b8566
Fixed bug 1855894, that caused planets to show up black when:
...
- scattering atmospheres were enabled, and
- a mesh was used, and
- the planet texture had an atmosphere
The fix is to not disable z writes when atmospheric scattering is enabled. This
prevents the atmosphere shell from occluding the planet itself.
2008-01-02 23:52:30 +00:00
Chris Laurel
079e04aad7
Changed shaders so that night texture blend factor can be computed in the pixel shader instead of the vertex shader, which saves an extra interpolator.
2007-05-15 18:14:57 +00:00
Chris Laurel
72542b240d
Properly fixed point sprite scaling.
2007-05-14 02:34:02 +00:00
Chris Laurel
36d0299d78
Added limited support for per-vertex colors in meshes.
2007-04-23 17:39:38 +00:00
Chris Laurel
35696e1dcd
Additive blending fixes:
...
- Consider blend mode when comparing materials
- Enable additive blending even when opacity = 1
2007-04-23 16:28:07 +00:00
Chris Laurel
ff179e468b
Added blend type to material definition. Options for blend type are normal and additive.
2007-04-22 04:52:15 +00:00
Chris Laurel
962faa784e
Added unlit render context for GLSL render path: elminates need to revert to fixed function paths when rendering emissive meshes.
2007-04-20 17:52:10 +00:00
Chris Laurel
f833a58ef2
Fixed bug with emissive models.
2007-04-03 18:00:21 +00:00
Chris Laurel
6454b452d4
Mesh rendering bug fixes and improvements:
...
- Defined a sensible lighting model to use when normals are omitted from a model, which should prevent crashes in the Mac version
- Added support for point sprites in cmod meshes
2007-04-02 16:55:32 +00:00
Chris Laurel
bf271f2129
Fixed crash that occurred when rendering meshes with atmospheres in a non-OGL2 render path.
2007-03-05 10:34:49 +00:00