Commit Graph

30 Commits (c588f80824d47256133e991c0e219304e1d14eda)

Author SHA1 Message Date
Hleb Valoshka c588f80824 OpenGL ES 2.0 initial support 2020-06-15 19:27:46 +03:00
Hleb Valoshka 541e9d78b3 Use custom RenderContext to create shadow map 2020-05-01 23:31:25 +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 f8d3815a70 Move duplicated setVertexArrays to RenderContext 2019-08-16 09:49:01 +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 b082d5f47f Automatically convert to c++11 using clan-tidy
+ manual cleanups
2018-09-22 23:42:02 +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
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 afd7c78574 More Eigenization changes. 2009-08-06 00:41:24 +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 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
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
Chris Laurel 36d0299d78 Added limited support for per-vertex colors in meshes. 2007-04-23 17:39:38 +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
Chris Laurel 1cc0b38fde Enable new atmospheres to work for irregular objects.
Moved parameter setup for atmospheres, lighting, and shadows into the CelestiaGLProgram class.
2006-08-29 06:13:41 +00:00
Chris Laurel c23d15a4e4 Made LunarLambert term apply to models instead of just ellipsoid bodies. 2006-08-09 06:12:41 +00:00
Chris Laurel c5d25dcb32 Added destructor for GLSL_RenderContext with some code to clean up some render state (vertex array enables.) Fixes a crash that occurred in the OpenGL 2.0 render path when viewing a model with tangents. 2006-08-09 05:13:38 +00:00
Chris Laurel dc7ce8986a Improved rendering of meshes in GLSL path:
- Switched to local viewer model for better quality specular highlights
- Added support for specular and normal maps for meshes
- Implemented shadows for meshes (cast by ellipsoids only, not from other meshes yet.)
2006-07-04 05:03:27 +00:00
Chris Laurel 5857865126 Added support for emissive textures for mesh objects (and foundation for further improvements for mesh rendering.) 2005-03-09 16:38:45 +00:00
Chris Laurel ee3bea442d Moved light and shadow state definitions from render.h to rendcontext.h. (part of improved model rendering changes) 2005-02-11 06:11:37 +00:00
Chris Laurel 8a692bc773 Mesh and rendering cleanup:
- Add semantic-indexed attribute list to VertexDescription class
- Abstracted RenderContext so that it's an interface with implementations for various render paths.
- Moved all GL code from Mesh class into RenderContext
This work will enable normal and specular maps for meshes (soon)
2004-07-07 09:53:09 +00:00
Chris Laurel 6f2cde6770 - Render antiliased lines for graticules (and any other deep sky objects)
- Allow an ssc file definition to override the texture in a model
- When deciding if blending should be turned on when rendering a model, consider whether the texture has an alpha channel
2004-02-22 01:44:38 +00:00
Chris Laurel af25acd173 Implemented textures, specular color, emissive color, and opacity in mesh materials.
Added support for Celestia model files (ASCII only right now)
2004-02-17 09:56:08 +00:00