Commit Graph
63 Commits
Author SHA1 Message Date
asarium cdd391caa8 Move light handling out of OpenGL code
There is nothing specific to OpenGL in that code anymore since it's all
handled in the shaders at this point. This will make the lighting
information available in the normal graphics code which allows to use
those values when filling the uniform buffer for the model rendering.
2017-09-10 11:48:38 +02:00
asarium f8d0a9bc7d Remove most remaining OpenGL header includes 2017-08-18 17:53:23 +02:00
asarium 2997633d0d Fix double rendering of effect ships
This fixes #653.
2017-01-27 00:03:28 +01:00
Samuel Cho 347dca5e60 Renamed draw_list to a more descriptive model_draw_list. Removed unlit maps since those aren't needed anymore. Changed transforms in model_draw_list to use the transform_stack instead of using duplicate code. Removed some unused graphics code. Fixed scaling when using batched transforms. 2017-01-02 20:15:37 -08:00
asarium d64196eff0 Refactor tracing subsystem
The new design is centered around the Event Trace JSON format but it
should still be possible to adapt it for other profiling tools. The old
profiling system has been removed.
2016-11-24 10:26:21 +01:00
asarium 6dbf200cc3 Move lua to scripting folder 2016-10-03 21:38:29 +02:00
m!m 5bbb00d589 Merge pull request #977 from SamuelCho/FredAllocationFix
Make sure we tell the batcher to render in FRED.
2016-09-18 10:50:00 +02:00
SamuelCho 54c73bdbc3 Make sure we tell the batcher to render in FRED. 2016-09-17 11:51:29 -07:00
asarium 26f45732da Move profiling functions into separate folder 2016-09-14 12:26:53 +02:00
asarium f693d49f95 Remove variable name from GR_DEBUG_SCOPE 2016-09-05 15:29:49 +02:00
SamuelCho b75a354505 Cleaned up more rendering code. Shrunk the vertex struct since we don't use spec_rgb anymore. Removed any declarations using the old geometry batcher. Streamlined desaturation in the model shader to use the main color uniform. Removed old unneeded interp_ code. Removed stored geometry shader parameters from the shader constants since we're no longer using the EXT version of geometry shaders. 2016-08-30 23:22:09 -07:00
asarium 3fcb731621 Refactor shader handling
This fixes a few of the bad design descisions of previous shader
iterations. This uses a dedicated class for managing the resources and
uniform locations of a shader program.

Uniforms are also stored in this object which makes a lot more sense
than storing them in the OpenGL state where they had to be reset every
time a new shader was used.

There are still a lot of possible enhancments to make, e.g. by using
uniform blocks and buffers instead of standard uniforms which would make
uniform location handling easier.

Another optimization that I will investigate is reducing the amount or
different compiled shaders by turning some of the current compile-time
defines into bool uniforms.
2016-08-29 12:38:38 +02:00
SamuelCho ba826df963 Removed a bunch of unused rendering code. 2016-08-28 18:47:34 -07:00
MageKing17 6987914a2c Merge pull request #901 from SamuelCho/gl_state_cleanup
OpenGL state tracking cleanup
2016-08-28 16:59:02 -07:00
SamuelCho f693413e26 Removed orphaned GL_state code. 2016-08-28 14:24:10 -07:00
asarium d7e3b61210 Add debug group support
This uses GL_KHR_debug for exposing debug group information. This is
very useful for tools like apitrace where it's used for assiciating
OpenGL commands with a specific application function.

The groups are created using a utility macro which is removed in release
builds so it should have no impact on the release performance.
2016-08-28 14:13:42 +02:00
SamuelCho a481999a24 OpenGL Core support. Introduction of material based draw system. Rewrote geometry batcher. 2016-08-17 00:13:19 -07:00
Fabian Woltermann 770fce8de5 Bitset flags -- take 2 (#775)
This introduces a new mechanism for handling bit flags. Instead of using an int (or two, or three) to write bits into, this uses the std::bitset in a wrapper class that accepts an enum class as input. This means that certain classes of errors we've had a few of in the engine, where a coder used the wrong set of flags or checked them against the wrong variable (SF_STEALTH vs SIF_STEALTH, for example) can now be detected at a compiler level rather than not at all.
2016-08-12 16:13:50 -07:00
z64555 ed3c9f1621 Cleanup of fred.h and fred.cpp 2016-08-02 04:21:22 -05:00
MageKing17 70529dbd5a Deprecate -nohtl and -brief_lighting.
-nohtl hasn't worked for years, and -brief_lighting was always supposed to be a temporary flag before making the behavior always on.
2016-07-08 09:39:29 -07:00
Goober5000 bd3cd7eb18 Merge pull request #195 from Echelon9/fix/sort-uniq-includes
Review and refactor #include's
2015-08-19 00:05:02 -04:00
Echelon9 6e6ff3c7c0 Fix: object/objectsort.cpp: warning: variable ‘wp’ set but not used [-Wunused-but-set-variable] 2015-07-04 16:06:13 +10:00
Echelon9 7f673c8ab6 Goober5000 code review: consistency change. 2015-06-25 16:25:35 +12:00
Echelon9 ce6179a58f Resolve order of precedence compiler warning. 2015-06-25 14:27:31 +12:00
Echelon9 c5493bb480 Scripted sort and uniq on (internal) project includes. Improves search time and as a by product removed a number of duplicative includes. 2015-06-22 20:24:30 +10:00
Swifty c620372357 Soft shadows, deferred lighting, and various major graphics optimizations. 2015-05-02 14:35:37 -07:00
Goober5000 a541a22239 xt branch: optimize objectsort.cpp by not calculating some things every loop iteration
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11133 387891d4-d844-0410-90c0-e4c51a9137d3
2014-10-13 18:23:35 +10:00
The_E 505e1e77f5 From MageKing17: Patch for Mantis 3012 (Various issues with ships in nebula)
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10821 387891d4-d844-0410-90c0-e4c51a9137d3
2014-06-19 20:12:53 +10:00
Goober5000 67b171612d proper class/struct distinction and use of vector over list are A-1 SUPAR
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9851 387891d4-d844-0410-90c0-e4c51a9137d3
2013-09-29 22:12:22 +10:00
Goober5000 f5f42f65fa this is required for strict const-correctness
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9715 387891d4-d844-0410-90c0-e4c51a9137d3
2013-07-26 08:14:30 +10:00
Echelon9 fa671f18fc Remove some unused variables 2012-09-06 15:51:52 +00:00
Valathil 71cd726349 Fix for Mantis 2705: Add Jump Nodes to the list of object types that are models so they are rendered at the right time 2012-08-28 18:50:53 +00:00
Swifty 638ff917a1 go_even_faster: Added framework to improve rendering performance by reducing OpenGL state changes between vertex data binds. 2012-08-11 20:20:24 +00:00
Zacam f6ad6b14b6 Synchronization of differences between Antipodes and Trunk. Cause unknown, just commit drift issues. Regular auditing will catch these faster, but people need to pay more attention when syncing Trunk changes over to Antipodes. 2012-01-13 17:49:57 +00:00
Echelon9 41919ee15b Clarify some aspects of the geometry map and distortion map batchers, as well as clarifying and making consistent the function calling conventions throughout the code. 2011-10-16 05:08:33 +00:00
Zacam cc2323b578 found by Valathil; in "int obj_in_view_cone( object * objp )", codes=g3_rotate_vector(&tmp,&pt); works out better than running the check, then discarding it since g3_code_vector calls to run g3_rotate_vector anyway. 2011-10-09 10:37:27 +00:00
Echelon9 6d4f266e52 Use SCP_* types to access STL types wherever possible. This allows more complete memory monitoring 2011-10-03 09:06:56 +00:00
Valathil da6727d9d1 Let's try this again. Adding Framebuffer distortion thrusters and explosions. 2011-08-22 17:57:01 +00:00
Swifty fe605149c4 Soft sphere sprite rendering for particles, explosions, shockwaves, and thrusters. 2011-08-20 22:14:52 +00:00
Sushi 68b036a4af Add "Fog Near Multiplier" and "Fog Far Multiplier" options for missions. Allows the FREDder to tweak distances at which ships fade out in a nebula. 2011-08-20 15:06:18 +00:00
The_E 2dc34f3e1f This is the correct version now. 2011-07-30 22:39:49 +00:00
The_E 7f219cad2c Reverting due to bugs 2011-07-30 22:32:09 +00:00
The_E 3a702bdc1a This should have been committed as well 2011-07-30 21:43:30 +00:00
Zacam 75043ff5b1 go_faster from Antipodes 6. Everybody, say "Thank you, taylor!" 2010-10-18 18:32:37 +00:00
portej05 719825f80d The big CVS comment removal. This chops approx. 3.5mb off a full checkout.
I've tested this through compiling and through hand checking. 
Normalises line endings in ALL files to \n.
2009-06-20 08:08:20 +00:00
Goober5000 6e4021888d add apostrophes to contractions, lol 2009-04-10 07:49:12 +00:00
Backslash bfde817bb2 View slew, Target padlock and TrackIR patch by Swifty. Very nice!
Don't forget to add code/io/trackir.* to your projects!
2008-03-14 08:55:47 +00:00
taylor 554197fc30 comment out some code which used only if neither D3D nor OGL 2006-05-27 16:59:05 +00:00
taylor a39e8900e1 minor cleanup and a couple extra error checks
get rid of some wasteful math from the gr_set_proj_matrix() calls
2006-05-13 07:09:25 +00:00
taylor 7828fc7e6f compiler warning fixes to make GCC 4.1 shut the hell up 2006-04-12 22:23:41 +00:00