Commit Graph

52 Commits (bd7f9ebc9bfd17f5a88c3d377b44f9093a6d0e2f)

Author SHA1 Message Date
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 32eaa68d0a Remove fixed pipeline calls 2019-12-05 11:37:33 +03:00
Hleb Valoshka a93befe941 Remove uneeded #include "vecgl.h" 2019-07-09 23:38:41 +03:00
Hleb Valoshka f3a73dae71 Move math code into celmath namespace 2019-05-20 10:48:04 +03:00
Hleb Valoshka b95bdee04c Pass tangents vector to shaders (Closes: #240) 2019-03-22 16:31:12 +03:00
Hleb Valoshka 81aa6f43bc Remove support for old vector math 2019-03-16 18:21:50 +03:00
Hleb Valoshka ea3988b6f3 Remove unused GLContext 2018-12-11 20:32:13 +03:00
Hleb Valoshka 6653929310 Remove ARB programs support completely 2018-10-23 00:03:39 +03:00
Hleb Valoshka b9d532a902 Disable ancient ARB vertex programs 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 85829063e0 Finish eigenization 2018-10-07 13:38:24 +03:00
Hleb Valoshka 4bdfe271e5 Remove C++14-isms
Some day this commit will be reverted.
2018-09-22 23:42:03 +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
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 1843572c97 Enabled vertex buffer objects for planet rendering. 2009-08-06 02:54:03 +00:00
Chris Laurel 7272945657 First round of Eigen-izing the core Celestia code. 2009-07-15 03:06:30 +00:00
Chris Laurel a2565ed16b Removed bad assertion in lodspheremesh.cpp that was causing crashes with virtual texture levels 11 and greater. 2009-02-10 02:01:22 +00:00
Chris Laurel 697b5e1c7a Add vertex buffer discard hint in sphere renderer. Should result in higher performance when this code path is enabled. 2007-05-14 18:02:57 +00:00
Toti 3eb580abe9 Commented out unused variables that were causing compiler warnings 2006-09-12 12:56:47 +00:00
Chris Laurel acfc71ddc4 Enable virtual texture levels 11 and 12. 2006-02-14 18:47:13 +00:00
Chris Laurel ebeddb9f65 Disable vertex array after rendering; leaving this on appears to have been the cause of many difficult to reproduce crashes. 2004-03-15 08:53:13 +00:00
Chris Laurel 50227bf26d Got rid of extra LOD bias that was only supposed to be used for perf testing. Oops. 2004-02-24 12:24:47 +00:00
Chris Laurel e2702dedae Use an index buffer when GL_vertex_buffer_object extension is present. 2004-02-24 12:13:48 +00:00
Chris Laurel d0b28cf317 Enabled use of ARB_vertex_buffer_object extension for rendering planet spheres. 2004-02-24 11:43:28 +00:00
Chris Laurel 716c10ece4 Attempted to improve performance by using the ARB_vertex_program_object
extension for planet meshes.  Disabled for now, as it doesn't seem to work yet.  As part of this change, the planet vertex data is now interleaved rather than being spread across several separate arrays.  This should make better use of the cache.
2004-02-24 10:16:48 +00:00
Chris Laurel df98cc39cd Improved mesh support:
- Use more efficient and flexible internal representation
- Added code to convert 3DS meshes to new structure
- Support new Celestia mesh format (ASCII-only right now)
2004-02-17 09:58:52 +00:00
Chris Laurel fc82dcef5b Eliminated flashing when loading normal map virtual texture tiles. 2003-11-30 22:05:33 +00:00
Chris Laurel 5669f72ed3 Use the right step size when calculating the index array sizes. Oops. 2003-09-20 23:02:28 +00:00
Chris Laurel 86cd9c7547 Permit virtual texture levels up through and including 10. 2003-09-20 22:07:30 +00:00
Chris Laurel 38406c187a Fixed crash that occurred when multiple virtual textures with different tile sizes were used. 2003-09-16 17:40:51 +00:00
Chris Laurel 66d7c1c160 Actually compute the texture LOD. 2003-07-31 10:19:30 +00:00
Chris Laurel b9da43799b Made virtual textures actually work, modulo LOD calculation and eviction.Delegated the task of computing sphere LODs to LODSphereMesh. 2003-07-30 17:07:46 +00:00
Chris Laurel 62792a9db0 Complete rewrite of texture handling code for cleanup and in order to support virtual textures. What was the texture class is now split between Texture and Image. There are several subclasses of Texture, including ImageTexture, TiledTexture, CubeMap, and VirtualTexture. 2003-07-30 05:34:04 +00:00
Chris Laurel d29afcd164 Removed leftover debugging output. 2003-07-24 17:57:05 +00:00
Chris Laurel c0c96a44f2 Vastly improved culling for sphere patches by using a hierarchy of bounding spheres. 2003-07-23 18:07:20 +00:00
Chris Laurel ae4d0382dc Fixed bump/normal maps. 2003-04-25 09:06:02 +00:00
Chris Laurel 866caeaf41 Corrected sign error so that inverting red channel of normal maps is no longer required. 2003-04-08 08:29:07 +00:00
Chris Laurel c8f5f22446 Fix support for ARB_vertex_program render path--requires passing context around, and abstraction of vertex attribute array calls. 2003-03-28 18:39:23 +00:00
Chris Laurel 78117e1aa1 Corrected tangents used for bump mapping. 2003-03-05 09:31:44 +00:00
Chris Laurel e14dbf8677 After rendering, disable texture units other than 0. 2003-02-21 07:59:18 +00:00
Chris Laurel 6a744941f8 Removed assumption that multitexture is supported; fixes crash with MS in the box OpenGL driver. 2003-02-14 18:10:10 +00:00
Chris Laurel 873bfd115b Moved all OpenGL extension functions into the namespace glx. This protects against possible linker confusion if a library happens to export the extension functions. Also added ARB_vertex_program and NV_fragment_program extensions to glext.{h,cpp} 2002-11-23 18:25:28 +00:00
Chris Laurel 698712ad30 Handle different sized base, bump, and specular mask textures correctly. 2002-08-20 09:09:35 +00:00
Bob Ippolito 646ecf860f Changes to allow compile on OS X and to be wrapped with Objective C++, please let me know if this had any adverse effects on other platforms. Don't expect much out of this from OS X, because these are only changes that affect the celestia base.
bob@redivi.com
2002-06-14 15:34:22 +00:00
Chris Laurel 4d7dbc7515 Fixed assert so modules compiles in debug version. 2002-03-05 01:24:48 +00:00
Chris Laurel ed00f18a11 Fixed to properly handle textures where the number of rows of subtextures does not equal to the number of columns. 2002-03-04 22:39:25 +00:00
Chris Laurel 5485de6217 Added support for texture splitting. 2002-02-25 20:29:32 +00:00
Chris Laurel 4ac519e781 Changed class definition so that LODSphereMesh is no longer a subclass of Mesh. 2002-02-08 21:52:59 +00:00